*,:before,:after{box-sizing:border-box}body{font-family:var(--font-sans);color:var(--text);min-height:100vh;font-size:16px;line-height:1.55}h1,h2,h3{font-family:var(--font-serif);letter-spacing:.2px;margin:0;font-weight:600}@keyframes rise{0%{opacity:0;transform:translateY(10px)}}@keyframes beat{0%,to{transform:scale(1)}12%{transform:scale(1.18)}24%{transform:scale(1)}}@keyframes grow{0%{opacity:0;width:0}}@keyframes spinIn{0%{opacity:0;transform:rotate(-200deg)scale(0)}}@keyframes float{50%{transform:translateY(-6px)}}.reveal{opacity:0;filter:blur(6px);transition:opacity .7s ease-out,transform .7s cubic-bezier(.16,1,.3,1),filter .7s ease-out;transform:translateY(24px)}.reveal.in{opacity:1;filter:none;transform:none}.reveal.has-stagger{transform:none}.reveal.has-stagger .r-item{opacity:0;transition:opacity .6s ease-out,transform .6s cubic-bezier(.16,1,.3,1);transform:translateY(16px)}.reveal.has-stagger.in .r-item{opacity:1;transition-delay:calc(var(--ri,0) * 70ms);transform:none}.wrap{max-width:var(--content-w-guest);margin:0 auto;padding:0 20px 80px}header.hero{text-align:center;padding:72px 16px 10px;position:relative}header.hero:before{content:"";pointer-events:none;z-index:-1;background:radial-gradient(ellipse 56% 58% at 50% 32%, color-mix(in srgb, var(--accent) 34%, transparent), transparent 70%), radial-gradient(ellipse 72% 46% at 50% 4%, color-mix(in srgb, var(--sage) 20%, transparent), transparent 72%);width:min(720px,100%);height:380px;position:absolute;top:20px;left:50%;transform:translate(-50%)}html[data-theme=dark] header.hero:before{background:radial-gradient(ellipse 56% 58% at 50% 32%, color-mix(in srgb, var(--accent) 18%, transparent), transparent 70%), radial-gradient(ellipse 72% 46% at 50% 4%, color-mix(in srgb, var(--sage) 12%, transparent), transparent 72%)}.monogram{place-items:center;width:92px;height:92px;margin:0 auto 20px;animation:.9s cubic-bezier(.16,1,.3,1) backwards monoIn;display:grid;position:relative}.monogram:before{content:"";border:1px solid var(--border-strong);border-radius:50%;position:absolute;inset:0}.monogram:after{content:"";border:1px solid color-mix(in srgb, var(--accent) 42%, transparent);border-radius:50%;position:absolute;inset:7px}.mono-letters{font-family:var(--font-serif);letter-spacing:0;align-items:center;font-size:40px;line-height:1;display:inline-flex}.mono-a{z-index:2;color:var(--accent-ink);position:relative}.mono-b{z-index:1;color:var(--accent);margin-left:-.26em;position:relative;top:.12em}@keyframes monoIn{0%{opacity:0;transform:scale(.86)translateY(6px)}}header.hero .eyebrow{color:var(--text-soft);text-transform:uppercase;letter-spacing:3px;font-size:12.5px;animation:.6s backwards rise}header.hero .names{font-family:var(--font-serif);color:var(--text);margin-top:14px;font-size:clamp(44px,12vw,66px);line-height:1.04;animation:.7s rise}header.hero .names .amp{color:var(--accent);margin:0 10px;font-style:italic;animation:3s ease-in-out 1.2s infinite beat;display:inline-block}.flourish{justify-content:center;align-items:center;gap:12px;margin:20px 0 8px;display:flex}header.hero .date{color:var(--text-soft);margin-top:6px;font-size:18px;animation:.6s 80ms backwards rise}.countdown .cd-segs{align-items:center;gap:12px;display:flex}.countdown .cd-seg b{color:var(--accent-ink);font-size:clamp(20px,5.5vw,26px);line-height:1.15;font-family:var(--font-serif);font-variant-numeric:tabular-nums}.countdown .cd-seg small{color:var(--text-soft);letter-spacing:.6px;font-size:11px}.countdown .cd-sep{color:var(--border-strong);font-family:var(--font-serif);align-self:flex-start;margin-top:3px;font-size:18px}.countdown .cd-msg{font-family:var(--font-serif);color:var(--accent-ink);font-size:20px}.cal-wrap{margin-top:14px}.cal-btn{font:inherit;color:var(--text-soft);cursor:pointer;border-radius:var(--r-sm);background:0 0;border:0;align-items:center;gap:6px;padding:4px;font-size:13px;text-decoration:none;transition:color .15s;display:inline-flex}.cal-btn .cal-ic{opacity:.8;font-size:12px}.cal-btn .cal-txt{border-bottom:1px solid #0000;padding-bottom:1px}.cal-btn:hover{color:var(--accent-ink)}.cal-btn:hover .cal-txt{border-bottom-color:var(--border-strong)}@keyframes tickIn{0%{opacity:.2;transform:translateY(4px)}}.countdown .cd-seg b.tick{animation:.4s tickIn}@media (width<=520px){.countdown{gap:9px;padding:10px 16px}.countdown .cd-segs{gap:9px}.countdown .cd-tail{display:none}}.guest-nav{z-index:100;background:var(--surface);background:color-mix(in srgb, var(--surface) 82%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);position:sticky;top:0}.guest-nav-inner{max-width:var(--content-w-guest);scrollbar-width:none;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;justify-content:center;gap:8px;margin:0 auto;padding:9px 20px;display:flex;overflow:auto hidden}.guest-nav-inner::-webkit-scrollbar{display:none}.gnav-chip{border-radius:var(--r-pill);background:var(--bg-2);color:var(--text-soft);font-family:var(--font-serif);white-space:nowrap;flex:none;padding:7px 14px;font-size:15px;line-height:1.25;text-decoration:none;transition:color .15s,background .15s}.gnav-chip:hover{color:var(--accent-ink);background:var(--surface-2)}.gnav-chip.active{color:var(--accent-ink);background:color-mix(in srgb, var(--accent) 18%, transparent)}@media (width<=620px){.guest-nav-inner{justify-content:flex-start;padding-right:56px}.gnav-chip{padding:7px 13px;font-size:14px}}.section-title{align-items:center;gap:12px;margin:52px 0 18px;scroll-margin-top:68px;display:flex}.section-title h2{white-space:nowrap;font-size:24px}.cards{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (width<=620px){.cards{grid-template-columns:1fr}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:24px;animation:.5s backwards rise}.card .ic{font-size:30px;animation:3.4s ease-in-out infinite float;display:inline-block}.card h3{margin:12px 0 6px;font-size:20px}.card .when{color:var(--accent-ink);margin-bottom:8px;font-size:15px;font-weight:600}.card p{color:var(--text-soft);margin:0;font-size:15px}.card .maplink{color:var(--accent-ink);border-bottom:1px solid var(--border-strong);margin-top:14px;padding-bottom:1px;font-size:14px;font-weight:600;text-decoration:none;display:inline-block}.map-figure{text-align:center;margin:0}.map-figure img{border-radius:var(--r-lg);border:1px solid var(--border);max-width:100%;height:auto;box-shadow:var(--shadow);cursor:zoom-in;margin:0 auto;transition:transform .25s;display:block}.map-figure img:hover{transform:translateY(-2px)}.map-figure figcaption{color:var(--text-soft);margin-top:10px;font-size:13px}.place-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:26px 24px 24px;position:relative;overflow:hidden}.place-card:before{content:"";background:var(--accent);height:4px;position:absolute;top:0;left:0;right:0}.place-venue:before{background:var(--sage)}.place-head{align-items:center;gap:16px;display:flex}.place-badge{background:color-mix(in srgb, var(--accent) 15%, var(--surface));border:1px solid color-mix(in srgb, var(--accent) 40%, var(--border));width:58px;height:58px;box-shadow:0 0 0 5px color-mix(in srgb, var(--accent) 8%, transparent);border-radius:50%;flex:none;place-items:center;font-size:28px;line-height:1;animation:3.4s ease-in-out infinite float;display:grid}.place-venue .place-badge{background:color-mix(in srgb, var(--sage) 16%, var(--surface));border-color:color-mix(in srgb, var(--sage) 42%, var(--border));box-shadow:0 0 0 5px color-mix(in srgb, var(--sage) 9%, transparent)}.place-headtext{min-width:0}.place-headtext h3{margin:0 0 3px;font-size:20px}.place-headtext .when{color:var(--accent-ink);font-size:15px;font-weight:600}.place-card p{color:var(--text-soft);margin:14px 0 0;font-size:15px}.map-btn{color:var(--accent-ink);background:color-mix(in srgb, var(--accent) 10%, var(--surface));border:1px solid color-mix(in srgb, var(--accent) 45%, var(--border));border-radius:var(--r-pill);align-items:center;gap:8px;margin-top:18px;padding:11px 18px;font-size:15px;font-weight:600;text-decoration:none;transition:background .2s,border-color .2s,transform .2s,box-shadow .2s;display:inline-flex}.map-btn:hover{background:color-mix(in srgb, var(--accent) 18%, var(--surface));border-color:var(--accent);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.map-btn-arr{transition:transform .2s}.map-btn:hover .map-btn-arr{transform:translate(3px)}.timeline{--med:60px;--gap:20px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:26px 24px}.titem{min-height:var(--med);padding:0 0 24px calc(var(--med) + var(--gap));flex-direction:column;justify-content:center;display:flex;position:relative}.titem:last-child{padding-bottom:0}.titem:not(:last-child):before{content:"";left:calc(var(--med) / 2);top:calc(var(--med) / 2);bottom:calc(var(--med) / -2);background:var(--border-strong);width:2px;position:absolute;transform:translate(-50%)}.tmed{width:var(--med);height:var(--med);box-sizing:border-box;text-align:center;background:var(--surface);border:1.5px solid var(--accent);box-shadow:0 0 0 4px var(--surface), 0 0 14px 1px color-mix(in srgb, var(--accent) 34%, transparent);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:0;left:0}.titem .tm{font-family:var(--font-serif);letter-spacing:.02em;color:var(--accent-ink);font-size:16px;font-weight:700;line-height:1}.titem .tbody{min-width:0}.titem h4{margin:0 0 3px;font-size:17px}.titem p{color:var(--text-soft);font-size:14px;line-height:var(--lh-read);max-width:60ch;margin:0}@media (width>=620px){.timeline{--med:68px;--gap:24px;padding:32px 30px}.titem{padding-bottom:28px}.titem .tm{font-size:18px}}.is-wedding-day #timeline .tmed{border-color:var(--accent-ink);box-shadow:0 0 0 4px var(--surface), 0 0 20px 2px color-mix(in srgb, var(--accent) 50%, transparent)}.gallery-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow);text-align:center;padding:28px 24px}.gallery-card .ic{font-size:30px;animation:3.4s ease-in-out infinite float;display:inline-block}.gallery-card .g-lead{font-family:var(--font-serif);margin:12px 0 6px;font-size:20px}.gallery-card p{color:var(--text-soft);max-width:460px;margin:0 auto;font-size:15px}.gallery-btn{border-radius:var(--r-md);background:var(--accent-strong);max-width:340px;color:var(--on-accent);margin:20px auto 0;padding:15px 26px;font-size:17px;font-weight:600;text-decoration:none;transition:background .2s,transform .2s;display:block}.gallery-btn:hover{background:var(--accent-ink);transform:translateY(-1px)}.gallery-qr{margin:22px auto 0}.gallery-qr img{border:1px solid var(--border);border-radius:var(--r-md);background:#fff;width:164px;height:164px;margin:0 auto;padding:8px;display:block}.gallery-qr figcaption{color:var(--text-soft);margin-top:8px;font-size:12.5px}.gallery-note{margin-top:16px!important;font-size:13px!important}@media (width>=620px){.gallery-btn{display:inline-block}}.faq{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:6px 24px}.faq-item{border-bottom:1px solid var(--border)}.faq-trigger{width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;gap:14px;padding:18px 0;font-family:inherit;font-size:17px;line-height:1.4;display:flex}.faq-trigger .faq-qt{font-weight:600}.faq-trigger .faq-ic{border:1px solid var(--border);width:26px;height:26px;color:var(--accent-ink);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:20px;line-height:1;transition:transform .3s,background .2s;display:flex}.faq-item.open .faq-trigger .faq-ic{background:var(--bg-2);transform:rotate(45deg)}.faq-a{max-height:0;transition:max-height .32s;overflow:hidden}.faq-a p{color:var(--text-soft);white-space:pre-wrap;margin:0;padding:0 0 20px;font-size:15px}.song-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow);text-align:center;padding:28px 24px}.song-card .ic{font-size:30px;animation:3.4s ease-in-out infinite float;display:inline-block}.song-card .s-lead{font-family:var(--font-serif);margin:12px 0 6px;font-size:20px}.song-card p{color:var(--text-soft);max-width:460px;margin:0 auto;font-size:15px}.song-form{text-align:left;flex-direction:column;gap:12px;max-width:460px;margin:22px auto 0;display:flex}.song-row{gap:12px;display:flex}@media (width<=520px){.song-row{flex-direction:column}}.song-form input{border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg);width:100%;color:var(--text);padding:13px 14px;font-family:inherit;font-size:16px}.song-form input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #b08d572e}.song-form button{border-radius:var(--r-md);background:var(--accent-strong);color:var(--on-accent);cursor:pointer;border:none;padding:14px;font-family:inherit;font-size:16px;font-weight:600;transition:background .2s,transform .2s}.song-form button:hover{background:var(--accent-ink);transform:translateY(-1px)}.song-form button:disabled{opacity:.6;cursor:default;transform:none}.song-form .hp{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.song-msg{text-align:center;min-height:1.1em;font-size:13.5px;line-height:1.4}.song-msg.ok{color:var(--accent-ink)}.song-msg.err{color:var(--rose)}.rsvp-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow);text-align:center;padding:30px 24px 28px;position:relative;overflow:hidden}.rsvp-card:before{content:"";background:linear-gradient(90deg, var(--rose), var(--accent));height:4px;position:absolute;top:0;left:0;right:0}.rsvp-badge{background:color-mix(in srgb, var(--rose) 14%, var(--surface));border:1px solid color-mix(in srgb, var(--rose) 34%, var(--border));width:62px;height:62px;box-shadow:0 0 0 6px color-mix(in srgb, var(--rose) 7%, transparent);border-radius:50%;place-items:center;margin:2px auto 0;font-size:30px;line-height:1;animation:3.4s ease-in-out infinite float;display:grid}.rsvp-card .s-lead{font-family:var(--font-serif);margin:12px 0 6px;font-size:20px}.rsvp-card p{color:var(--text-soft);max-width:460px;margin:0 auto;font-size:15px}.rsvp-card p.rsvp-deadline{color:var(--text-soft);margin-top:8px;font-size:14px;font-style:italic}.rsvp-form{text-align:left;flex-direction:column;gap:12px;max-width:460px;margin:22px auto 0;display:flex}.rsvp-choices{gap:12px;display:flex}@media (width<=520px){.rsvp-choices{flex-direction:column}}.rsvp-choice{border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg);color:var(--text);cursor:pointer;flex:1;justify-content:center;align-items:center;gap:9px;padding:15px 14px;font-family:inherit;font-size:16px;transition:border-color .2s,background .2s,transform .2s;display:flex}.rsvp-choice-ic{border:1.5px solid var(--border-strong);color:#0000;border-radius:50%;flex:none;place-items:center;width:24px;height:24px;font-size:13px;line-height:1;transition:background .2s,border-color .2s,color .2s;display:grid}.rsvp-choice:hover{border-color:var(--accent);transform:translateY(-1px)}.rsvp-choice.no:hover{border-color:var(--rose)}.rsvp-choice.sel{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, var(--surface));font-weight:600}.rsvp-choice.sel .rsvp-choice-ic{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.rsvp-choice.no.sel{border-color:var(--rose);background:color-mix(in srgb, var(--rose) 14%, var(--surface))}.rsvp-choice.no.sel .rsvp-choice-ic{background:var(--rose);border-color:var(--rose);color:#fff}.rsvp-field{color:var(--text-soft);flex-direction:column;gap:6px;font-size:14px;display:flex}.rsvp-form input,.rsvp-field select{border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg);width:100%;color:var(--text);padding:13px 14px;font-family:inherit;font-size:16px}.rsvp-form input:focus,.rsvp-field select:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #b08d572e}.rsvp-form>button{border-radius:var(--r-md);background:var(--accent-strong);color:var(--on-accent);cursor:pointer;border:none;padding:14px;font-family:inherit;font-size:16px;font-weight:600;transition:background .2s,transform .2s}.rsvp-form>button:hover{background:var(--accent-ink);transform:translateY(-1px)}.rsvp-form>button:disabled{opacity:.6;cursor:default;transform:none}.rsvp-confirm{border:1px dashed var(--border-strong);border-radius:var(--r-md);background:var(--bg);flex-direction:column;gap:12px;padding:14px;display:flex}.rsvp-confirm-q{text-align:center;font-size:15px}.rsvp-confirm-actions{gap:12px;display:flex}.rsvp-confirm-actions button{border-radius:var(--r-md);background:var(--accent-strong);color:var(--on-accent);cursor:pointer;border:none;flex:1;padding:12px;font-family:inherit;font-size:15px;font-weight:600}.rsvp-confirm-actions button.ghost{color:var(--text);border:1px solid var(--border);background:0 0}.rsvp-confirm-actions button:disabled{opacity:.6;cursor:default}.rsvp-msg{text-align:center;min-height:1.1em;font-size:13.5px;line-height:1.4}.rsvp-msg.ok{color:var(--accent-ink);border-radius:var(--r-md);background:color-mix(in srgb, var(--sage) 13%, var(--surface));border:1px solid color-mix(in srgb, var(--sage) 34%, var(--border));padding:12px 16px;font-size:14px;animation:.5s cubic-bezier(.16,1,.3,1) both rsvpPop}.rsvp-msg.err{color:var(--rose)}@keyframes rsvpPop{0%{opacity:0;transform:scale(.92)translateY(6px)}60%{transform:scale(1.02)}to{opacity:1;transform:none}}.toast{z-index:400;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow);text-align:center;opacity:0;pointer-events:none;max-width:calc(100vw - 40px);padding:13px 22px;font-size:15px;transition:opacity .3s,transform .3s;position:fixed;bottom:24px;left:50%;transform:translate(-50%)translateY(20px)}.seat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow);text-align:center;padding:28px 24px}.seat-card .ic{font-size:30px;animation:3.4s ease-in-out infinite float;display:inline-block}.seat-card .s-lead{font-family:var(--font-serif);margin:12px 0 6px;font-size:20px}.seat-card p{color:var(--text-soft);max-width:460px;margin:0 auto;font-size:15px}.seat-form{gap:12px;max-width:460px;margin:22px auto 0;display:flex}@media (width<=520px){.seat-form{flex-direction:column}}.seat-form input{border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg);min-width:0;color:var(--text);flex:1;padding:13px 14px;font-family:inherit;font-size:16px}.seat-form input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #b08d572e}.seat-form button{border-radius:var(--r-md);background:var(--accent-strong);color:var(--on-accent);cursor:pointer;white-space:nowrap;border:none;padding:14px 18px;font-family:inherit;font-size:16px;font-weight:600;transition:background .2s,transform .2s}.seat-form button:hover{background:var(--accent-ink);transform:translateY(-1px)}.seat-form button:disabled{opacity:.6;cursor:default;transform:none}.seat-result{border:1px solid color-mix(in srgb, var(--accent) 45%, var(--border));border-radius:var(--r-md);background:color-mix(in srgb, var(--accent) 10%, var(--surface));max-width:460px;margin:18px auto 0;padding:16px 18px;animation:.45s cubic-bezier(.34,1.4,.64,1) rsvpPop}.seat-result .seat-table{font-size:16px}.seat-result .seat-table b{font-family:var(--font-serif);color:var(--accent-ink);font-size:21px}.seat-result .seat-mates{margin:8px auto 0;font-size:14.5px}.seat-msg{max-width:460px;font-size:14.5px;margin:14px auto 0!important}.is-wedding-day .wrap{flex-direction:column;display:flex}.is-wedding-day #plan-dnia,.is-wedding-day #timeline,.is-wedding-day #gdzie-siedze,.is-wedding-day #seatCard{order:-3}.is-wedding-day #gallerySection{order:-2}.is-wedding-day #timeline,.is-wedding-day #seatCard,.is-wedding-day #gallerySection .gallery-card{border-color:var(--accent);box-shadow:0 8px 30px #b08d5733}footer.credits{text-align:center;color:var(--text-soft);padding:56px 20px 0;font-size:15px}footer.credits .sign{font-family:var(--font-serif);color:var(--text);margin-top:6px;font-size:22px}footer.credits .legal-links{flex-wrap:wrap;justify-content:center;gap:6px 16px;margin-top:22px;font-size:14px;display:flex}footer.credits .legal-links a{color:var(--accent-ink);text-decoration:none}footer.credits .legal-links a:hover{text-decoration:underline}.cookie-banner{z-index:310;max-width:var(--content-w-guest);background:var(--surface);color:var(--text);border:1px solid var(--border-strong);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin:0 auto;padding:14px 18px;display:flex;position:fixed;bottom:12px;left:12px;right:12px}.cookie-banner .cb-txt{color:var(--text-soft);flex:320px;font-size:14px;line-height:1.55}.cookie-banner .cb-txt strong{color:var(--text)}.cookie-banner .cb-txt a{color:var(--accent-ink)}.cookie-banner .cb-actions{flex-wrap:wrap;flex:none;gap:10px;display:flex}.cookie-banner button{border-radius:var(--r-pill);cursor:pointer;border:1px solid var(--border-strong);background:var(--surface);color:var(--text);padding:9px 16px;font-size:14px}.cookie-banner button:hover{background:var(--bg-2)}.cookie-banner button.primary{background:var(--accent-strong);border-color:var(--accent-strong);color:var(--on-accent)}@media (width<=520px){.cookie-banner .cb-actions{width:100%}.cookie-banner .cb-actions button{flex:1}}.theme-toggle{z-index:310;border:1px solid var(--border);background:var(--surface);width:40px;height:40px;color:var(--text);cursor:pointer;box-shadow:var(--shadow);border-radius:50%;justify-content:center;align-items:center;font-size:18px;line-height:1;transition:transform .2s,background .2s;display:flex;position:fixed;top:14px;right:14px}.lang-toggle{z-index:310;border:1px solid var(--border);background:var(--surface);min-width:40px;height:40px;color:var(--text);letter-spacing:.03em;cursor:pointer;box-shadow:var(--shadow);border-radius:20px;justify-content:center;align-items:center;padding:0 10px;font-size:13px;font-weight:700;transition:transform .2s,background .2s;display:flex;position:fixed;top:14px;right:62px}@media (width<=620px){.lang-toggle{height:36px;font-size:12px;top:10px;right:54px}}.gate{z-index:300;background:linear-gradient(160deg, var(--bg), var(--bg-2));justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.gate-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-2xl);box-shadow:var(--shadow);text-align:center;width:100%;max-width:420px;padding:36px 28px;animation:.6s rise}.gate-card .g-eyebrow{color:var(--text-soft);text-transform:uppercase;letter-spacing:3px;font-size:11.5px}.gate-card .g-names{font-family:var(--font-serif);color:var(--text);margin:10px 0 2px;font-size:clamp(30px,8vw,38px);line-height:1.1}.gate-card .g-names .amp{color:var(--accent);margin:0 7px;font-style:italic}.gate-card .g-flourish{justify-content:center;align-items:center;gap:10px;margin:12px 0 4px;display:flex}.gate-card .g-flourish .l{background:var(--border-strong);width:52px;height:1px}.gate-card .g-flourish .d{color:var(--accent);font-size:12px}.gate-card p{color:var(--text-soft);margin:8px 0 20px;font-size:14.5px}.gate-card input{border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg);width:100%;color:var(--text);text-align:center;padding:13px 14px;font-family:inherit;font-size:16px}.gate-card input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #b08d572e}.gate-card button{border-radius:var(--r-md);background:var(--accent-strong);width:100%;color:var(--on-accent);cursor:pointer;border:none;margin-top:14px;padding:13px;font-family:inherit;font-size:16px;font-weight:600;transition:background .2s}.gate-card button:hover{background:var(--accent-ink)}.gate-card button:disabled{opacity:.6;cursor:default}.gate-error{color:var(--rose);min-height:1.1em;margin-top:12px;font-size:13.5px;line-height:1.4}.gate-hint{color:var(--text-soft);margin-top:18px;font-size:12px}.lightbox{z-index:200;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);cursor:zoom-out;background:#14110dd9;justify-content:center;align-items:center;padding:20px;display:none;position:fixed;inset:0}.lightbox.open{display:flex}.lightbox img{border-radius:var(--r-xl);max-width:100%;max-height:100%;box-shadow:var(--shadow-xl)}@keyframes fall{0%{opacity:0;transform:translateY(-4vh)translate(0)rotate(0)}8%{opacity:.55}88%{opacity:.5}to{opacity:0;transform:translateY(108vh)translate(60px)rotate(320deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}html{scroll-behavior:auto}.reveal,.reveal .r-item{opacity:1!important;filter:none!important;transform:none!important}}:root{--bg:#faf6ef;--bg-2:#f3ecdf;--surface:#fffdf9;--surface-2:#e8dcc6;--border:#e5dbc9;--border-strong:#d8c6a5;--accent:#b08d57;--accent-ink:#856539;--accent-strong:#8c6f42;--on-accent:#fff;--text:#4a4238;--text-soft:#726758;--sage:#8a9a7b;--rose:#c98b8b;--amber:#c9a24b;--success-ink:#4f6242;--danger-ink:#a85c5c;--warning-ink:#856a24;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-serif:Georgia, "Times New Roman", serif;--fs-xs:12px;--fs-sm:13px;--fs-base:15px;--fs-md:18px;--fs-lg:20px;--fs-xl:24px;--fs-2xl:30px;--fs-display:clamp(30px, 7vw, 44px);--lh-tight:1.15;--lh-base:1.5;--lh-read:1.6;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--sp-14:56px;--r-sm:8px;--r-md:10px;--r-lg:14px;--r-xl:16px;--r-2xl:20px;--r-pill:999px;--shadow-sm:0 3px 10px #7864462e;--shadow:0 6px 24px #7864461a;--shadow-lg:0 12px 30px #78644626;--shadow-xl:0 20px 60px #4a42384d;--content-w-panel:1100px;--content-w-guest:820px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html[data-theme=dark]{--bg:#1b1915;--bg-2:#232019;--surface:#2a2620;--surface-2:#3a3228;--border:#39332b;--border-strong:#4e4335;--accent:#caa96b;--accent-ink:#dbbc80;--accent-strong:#caa96b;--on-accent:#241f18;--text:#ece5d8;--text-soft:#a89e8c;--success-ink:#a7bb8f;--danger-ink:#d99a9a;--warning-ink:#d3b163;--shadow-sm:0 3px 10px #0006;--shadow:0 6px 24px #00000073;--shadow-lg:0 12px 30px #00000080;--shadow-xl:0 20px 60px #0009;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html[data-theme=dark] tr:hover td{background:#ffffff0a}html[data-theme=dark] .plan-table.full{background:#4a2f2f}.theme-toggle{z-index:120;border:1px solid var(--border);background:var(--surface);width:40px;height:40px;color:var(--text);font-size:var(--fs-md);cursor:pointer;box-shadow:var(--shadow);border-radius:50%;justify-content:center;align-items:center;line-height:1;transition:transform .2s,background .2s;display:flex;position:fixed;top:14px;right:14px}.theme-toggle:hover{background:var(--bg-2);transform:translateY(-1px)rotate(-12deg)}.theme-toggle:active{transform:scale(.94)}@media (width<=620px){.theme-toggle{width:36px;height:36px;font-size:var(--fs-base);top:10px;right:10px}}.lang-toggle{z-index:120;border:1px solid var(--border);background:var(--surface);min-width:40px;height:40px;color:var(--text);font-size:var(--fs-sm);letter-spacing:.03em;cursor:pointer;box-shadow:var(--shadow);border-radius:20px;justify-content:center;align-items:center;padding:0 10px;font-weight:700;transition:transform .2s,background .2s;display:flex;position:fixed;top:14px;right:62px}.lang-toggle:hover{background:var(--bg-2);transform:translateY(-1px)}.lang-toggle:active{transform:scale(.94)}@media (width<=620px){.lang-toggle{height:36px;font-size:var(--fs-xs);top:10px;right:54px}}*{box-sizing:border-box}:focus-visible{outline:2px solid var(--accent-ink);outline-offset:2px}html,body{margin:0;padding:0}html{scroll-behavior:smooth;background:linear-gradient(160deg, var(--bg), var(--bg-2)) fixed}body{font-family:var(--font-sans);color:var(--text);min-height:100vh;font-size:var(--fs-base);line-height:var(--lh-base);background:0 0}body:before{content:"";pointer-events:none;z-index:-1;background:radial-gradient(620px 420px at 6% -6%,#b08d571a,#0000 60%),radial-gradient(720px 520px at 104% 8%,#8a9a7b17,#0000 60%),radial-gradient(640px 520px at 50% 112%,#c9a24b14,#0000 60%);position:fixed;inset:0}@keyframes pop{50%{transform:scale(1.35)rotate(-8deg)}}@keyframes shine{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes pulseDot{50%{box-shadow:0 0 0 4px #c9a24b38}}@keyframes modalIn{0%{opacity:0;transform:translateY(16px)scale(.95)}}@keyframes modalOut{to{opacity:0;transform:translateY(10px)scale(.97)}}@keyframes overlayIn{0%{opacity:0}}@keyframes overlayOut{to{opacity:0}}@keyframes itemIn{0%{opacity:0;transform:translateY(6px)}}@keyframes itemOut{to{opacity:0;transform:translate(26px)}}@keyframes cardOut{to{opacity:0;transform:scale(.92)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes syncIn{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}@keyframes syncOut{0%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,10px)}}h1,h2,h3{font-family:var(--font-serif);letter-spacing:.2px;font-weight:600}.serif{font-family:var(--font-serif)}a{color:var(--accent-ink)}header.app{text-align:center;padding:28px 16px 10px}header.app .names{font-family:var(--font-serif);color:var(--text);font-size:34px;line-height:1.1;animation:.6s rise}header.app .names .amp{color:var(--accent);margin:0 8px;font-style:italic;animation:3s ease-in-out 1.2s infinite beat;display:inline-block}header.app .sub{color:var(--text-soft);max-width:65ch;line-height:var(--lh-read);font-size:var(--fs-base);margin:8px auto 0;animation:.6s 80ms backwards rise}header.app .sub .hint{margin-inline:auto}.flourish{justify-content:center;align-items:center;gap:10px;margin-top:10px;display:flex}.fl-line{background:linear-gradient(90deg, transparent, var(--border-strong));width:74px;height:1px;animation:.9s grow}.fl-line:last-child{background:linear-gradient(270deg, transparent, var(--border-strong))}.fl-diamond{color:var(--accent);font-size:var(--fs-sm);animation:.9s spinIn;display:inline-block}.countdown{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:999px;align-items:center;gap:10px;margin-top:12px;padding:8px 18px;animation:.6s .16s backwards rise;display:inline-flex}.countdown b{font-size:var(--fs-xl);color:var(--accent-ink);font-family:var(--font-serif)}.countdown .cd-seg{flex-direction:column;align-items:center;min-width:2.1ch;display:inline-flex}.countdown .cd-seg b{font-variant-numeric:tabular-nums;line-height:1.15;animation:.4s tickIn}.countdown .cd-seg small{color:var(--text-soft);font-size:var(--fs-xs);letter-spacing:.6px}.countdown .cd-sep{color:var(--border-strong);font-family:var(--font-serif);align-self:flex-start;margin-top:1px}.countdown .cd-tail{color:var(--text-soft);font-size:var(--fs-sm)}.countdown .cd-msg{font-family:var(--font-serif);font-size:var(--fs-lg);color:var(--accent-ink)}@media (width<=520px){.countdown{gap:8px;padding:7px 14px}.countdown .cd-tail{display:none}}nav.tabs{max-width:var(--content-w-panel);flex-wrap:wrap;justify-content:center;gap:6px;margin:0 auto;padding:16px 12px 10px;display:flex}nav.tabs button,nav.tabs a.tab-link{color:var(--text-soft);cursor:pointer;font-size:var(--fs-base);background:0 0;border:1px solid #0000;border-radius:999px;align-items:center;padding:9px 15px;font-weight:500;text-decoration:none;transition:all .2s;display:inline-flex}nav.tabs button .ti,nav.tabs a.tab-link .ti{font-size:var(--fs-sm);margin-right:6px;display:inline-block}nav.tabs button:hover,nav.tabs a.tab-link:hover{background:var(--bg-2);color:var(--text);transform:translateY(-1px)}nav.tabs a.tab-link .ext{font-size:var(--fs-xs);opacity:.6;margin-left:6px}nav.tabs button.active{background:var(--surface);color:var(--accent-ink);border-color:var(--border-strong);box-shadow:var(--shadow);font-weight:600}nav.tabs button.active .ti{animation:.4s pop}.backup-bar{max-width:var(--content-w-panel);border-radius:var(--r-lg);font-size:var(--fs-sm);background:#c9a24b21;border:1px solid #c9a24b73;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin:2px auto 6px;padding:10px 16px;animation:.45s rise;display:none}.backup-bar .bk-actions{gap:8px;display:flex}@media (width<=1100px){.backup-bar{margin-left:18px;margin-right:18px}}.bulk-bar{background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--r-lg);font-size:var(--fs-sm);flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;padding:9px 14px;animation:.3s rise;display:none}.bulk-bar select{border:1px solid var(--border-strong);background:var(--surface);border-radius:var(--r-md);cursor:pointer;padding:6px 9px;font-family:inherit;font-size:16px}.bulk-bar input[type=text]{border:1px solid var(--border-strong);background:var(--surface);color:var(--text);border-radius:var(--r-md);width:150px;padding:6px 9px;font-family:inherit;font-size:16px}.pie{width:150px;height:150px;box-shadow:inset 0 0 0 1px #78644626, var(--shadow);border-radius:50%;flex:none}.legend{font-size:var(--fs-sm);flex:1;gap:6px;min-width:230px;display:grid}.legend .lrow{align-items:center;gap:9px;display:flex}.legend .lc{border-radius:3px;flex:none;width:11px;height:11px}.legend .ln{flex:1}main{max-width:var(--content-w-panel);margin:0 auto;padding:8px 18px 80px}section.view{display:none}section.view.active{animation:.28s fade;display:block}@keyframes fade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.view-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:6px 0 18px;display:flex}.view-head h2{font-size:var(--fs-xl);margin:0}.view-head .muted{color:var(--text-soft);font-size:var(--fs-sm);max-width:65ch;line-height:var(--lh-read);margin-top:2px}.head-actions{flex-wrap:wrap;gap:8px;display:flex}.btn{border:1px solid var(--border-strong);background:var(--surface);color:var(--text);border-radius:var(--r-md);cursor:pointer;font-size:var(--fs-base);align-items:center;gap:7px;padding:9px 16px;font-weight:500;text-decoration:none;transition:all .18s;display:inline-flex}.btn:hover{background:var(--bg-2);transform:translateY(-1px)}.btn:active{transform:scale(.96)}.btn.primary{background:var(--accent-strong);border-color:var(--accent-strong);color:var(--on-accent)}.btn.primary:hover{background:var(--accent-ink);box-shadow:var(--shadow-sm)}.btn.ghost{color:var(--text-soft);background:0 0;border-color:#0000}.btn.ghost:hover{color:var(--rose);background:0 0}.btn.sm{font-size:var(--fs-xs);border-radius:var(--r-sm);padding:5px 10px}.btn.danger-glow{border-color:var(--danger-ink);color:var(--danger-ink);background:0 0;transition:box-shadow .18s,background .18s,transform .18s;box-shadow:0 0 8px #d54a4a73,inset 0 0 0 1px #d54a4a38}.btn.danger-glow:hover{border-color:var(--danger-ink);color:var(--danger-ink);background:#d54a4a1f;transform:translateY(-1px);box-shadow:0 0 15px #d54a4ab3,inset 0 0 0 1px #d54a4a66}.rsvp-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.rsvp-yes{color:var(--accent-ink);white-space:nowrap;font-weight:600}.rsvp-no{color:var(--rose);white-space:nowrap;font-weight:600}.grid{gap:16px;display:grid}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:18px 20px;transition:transform .25s,box-shadow .25s}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.grid>.card{animation:.4s backwards rise}.grid>.card:nth-child(2){animation-delay:50ms}.grid>.card:nth-child(3){animation-delay:.1s}.grid>.card:nth-child(4){animation-delay:.15s}.grid>.card:nth-child(5){animation-delay:.2s}.grid>.card:nth-child(n+6){animation-delay:.25s}.stat .label{color:var(--text-soft);font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.6px}.stat .value{font-family:var(--font-serif);font-size:var(--fs-2xl);color:var(--text);margin-top:6px}.stat .value.accent{color:var(--accent-ink)}.stat .foot{font-size:var(--fs-xs);color:var(--text-soft);margin-top:4px}.dash-hero{justify-content:space-between;align-items:center;gap:var(--sp-4);margin-bottom:var(--sp-4);flex-wrap:wrap;display:flex}.dash-hero-label{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.4px;color:var(--text-soft);margin-bottom:6px}.dash-hero-cd{align-items:baseline;gap:var(--sp-3);display:flex}.dash-hero-seg{flex-direction:column;align-items:center;min-width:44px;display:flex}.dash-hero-seg b{font-family:var(--font-serif);font-variant-numeric:tabular-nums;color:var(--accent-ink);font-size:30px;line-height:1}.dash-hero-seg small{font-size:var(--fs-xs);color:var(--text-soft);margin-top:3px}.dash-hero-msg{font-family:var(--font-serif);font-size:var(--fs-xl);color:var(--accent-ink)}.dash-hero-nodate{font-size:var(--fs-md);color:var(--text-soft)}.dash-hero-date{font-size:var(--fs-sm);color:var(--text-soft);margin-top:8px}.ring{flex:none;width:80px;height:80px;position:relative}.ring-bg{fill:none;stroke:var(--bg-2);stroke-width:8px}.ring-fg{fill:none;stroke:var(--accent);stroke-width:8px;stroke-linecap:round;transition:stroke-dashoffset .8s}.ring-label{flex-direction:column;justify-content:center;align-items:center;line-height:1;display:flex;position:absolute;inset:0}.ring-label b{font-family:var(--font-serif);font-size:19px}.ring-label small{color:var(--text-soft);margin-top:2px;font-size:10px}.guest-stats{gap:var(--sp-2);margin:var(--sp-3) 0;grid-template-columns:repeat(4,1fr);display:grid}.gstat{font:inherit;padding:var(--sp-2) var(--sp-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);cursor:pointer;text-align:left;flex-direction:column;align-items:flex-start;gap:2px;transition:border-color .15s,background .15s;display:flex}.gstat:hover{border-color:var(--border-strong)}.gstat .gstat-n{font-family:var(--font-serif);font-size:var(--fs-xl);font-variant-numeric:tabular-nums;line-height:1}.gstat .gstat-l{font-size:var(--fs-xs);color:var(--text-soft);text-transform:uppercase;letter-spacing:.3px}.gstat.active{border-color:var(--accent-strong);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 30%, transparent)}.gstat.confirmed .gstat-n{color:var(--success-ink)}.gstat.pending .gstat-n{color:var(--warning-ink)}.gstat.declined .gstat-n{color:var(--danger-ink)}@media (width<=620px){.guest-stats{grid-template-columns:repeat(2,1fr)}}.budget-progress{margin:var(--sp-1) 0 var(--sp-4)}.budget-progress-head{font-size:var(--fs-sm);color:var(--text-soft);justify-content:space-between;align-items:baseline;margin-bottom:2px;display:flex}.budget-progress-head b{color:var(--accent-ink)}.progress{background:var(--bg-2);border-radius:999px;height:9px;margin-top:10px;overflow:hidden}.progress>span{background:var(--sage);border-radius:999px;height:100%;transition:width .5s;display:block;position:relative;overflow:hidden}.progress.gold>span{background:var(--accent)}.progress>span:after{content:"";background:linear-gradient(90deg,#0000,#ffffff80,#0000);animation:2.8s ease-in-out infinite shine;position:absolute;inset:0}.tablewrap{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow);overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:560px}th,td{text-align:left;border-bottom:1px solid var(--border);font-size:var(--fs-base);vertical-align:middle;padding:11px 14px}th{background:var(--bg-2);color:var(--text-soft);font-weight:600;font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.5px;position:sticky;top:0}tr:last-child td{border-bottom:none}tr:hover td{background:var(--bg-2)}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}.chip{font-size:var(--fs-xs);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:3px 10px;font-weight:600;display:inline-flex}.chip.side{background:var(--bg-2);color:var(--text-soft)}.tag{font-size:var(--fs-xs);background:var(--surface-2);color:var(--accent-ink);border-radius:999px;margin:2px 3px 2px 0;padding:2px 9px;display:inline-block}.badge{font-size:var(--fs-xs);border-radius:999px;align-items:center;gap:6px;padding:4px 11px;font-weight:600;display:inline-flex}.badge.ok{color:var(--success-ink);background:#8a9a7b2e}.badge.no{color:var(--danger-ink);background:#c98b8b2e}.badge.wait{color:var(--warning-ink);background:#c9a24b2e}.dot{border-radius:50%;width:8px;height:8px;display:inline-block}.dot.ok{background:var(--sage)}.dot.no{background:var(--rose)}.dot.wait{background:var(--amber);animation:2.2s ease-in-out infinite pulseDot}.filters{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;display:flex}.filters input[type=text],.filters select{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:var(--r-md);padding:8px 12px;font-family:inherit;font-size:16px}.filters input[type=text]{min-width:200px}.seg{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);display:inline-flex;overflow:hidden}.seg button{cursor:pointer;font-size:var(--fs-sm);color:var(--text-soft);background:0 0;border:none;padding:8px 13px;font-family:inherit}.seg button.active{background:var(--surface-2);color:var(--accent-ink);font-weight:600}.overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:50;background:#4a423859;justify-content:center;align-items:flex-start;padding:40px 16px;display:none;position:fixed;inset:0;overflow:auto}.overlay.open{animation:.22s overlayIn;display:flex}.overlay.open.closing{animation:.2s forwards overlayOut}.modal{background:var(--surface);border-radius:var(--r-xl);box-shadow:var(--shadow-xl);border:1px solid var(--border);width:100%;max-width:560px}.overlay.open .modal{animation:.3s cubic-bezier(.32,1.35,.6,1) modalIn}.overlay.open.closing .modal{animation:.2s forwards modalOut}.modal header{border-bottom:1px solid var(--border);padding:20px 24px}.modal header h3{font-size:var(--fs-lg);margin:0}.modal .body{gap:14px;padding:20px 24px;display:grid}.modal footer{border-top:1px solid var(--border);justify-content:flex-end;gap:10px;padding:16px 24px;display:flex}.modal.modal-confirm{max-width:420px}.toast{z-index:400;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow);font-size:var(--fs-base);text-align:center;opacity:0;pointer-events:none;max-width:calc(100vw - 40px);padding:13px 22px;transition:opacity .3s,transform .3s;position:fixed;bottom:24px;left:50%;transform:translate(-50%)translateY(20px)}.toast.show{opacity:1;transform:translate(-50%)translateY(0)}.toast.toast-success{border-color:var(--success-ink);color:var(--success-ink)}.toast.toast-error{border-color:var(--danger-ink);color:var(--danger-ink)}.field{flex-direction:column;gap:5px;display:flex}.field label{font-size:var(--fs-xs);color:var(--text-soft);text-transform:uppercase;letter-spacing:.4px;font-weight:600}.field input,.field select,.field textarea{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:var(--r-md);width:100%;padding:9px 12px;font-family:inherit;font-size:16px}.field textarea{resize:vertical;min-height:64px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #b08d5726}.row2{grid-template-columns:1fr 1fr;gap:14px;display:grid}.check{cursor:pointer;font-size:var(--fs-base);align-items:center;gap:9px;display:flex}.check input{width:18px;height:18px;accent-color:var(--accent)}.empty{text-align:center;color:var(--text-soft);font-size:var(--fs-base);padding:44px 20px}.empty .big{opacity:.6;color:var(--accent);margin-bottom:8px;font-size:40px;animation:3.2s ease-in-out infinite float;display:inline-block}.section-title{align-items:center;gap:10px;margin:26px 0 12px;display:flex}.section-title h3{font-size:var(--fs-md);margin:0}.section-title .line{background:var(--border);flex:1;height:1px}.money-pos{color:var(--success-ink);font-weight:600}.money-neg{color:var(--danger-ink);font-weight:600}#view-tasks tbody td{transition:opacity .35s}.done td{opacity:.55}.done td .task-title{text-decoration:line-through}.table-card{position:relative}.table-card .cap{font-size:var(--fs-sm);color:var(--text-soft)}.table-card ul{gap:4px;margin:10px 0 0;padding:0;list-style:none;display:grid}.table-card li{font-size:var(--fs-sm);border-bottom:1px dashed var(--border);justify-content:space-between;align-items:center;padding:3px 0;display:flex}.table-card li:last-child{border-bottom:none}.table-card .full{color:var(--rose);font-weight:600}.prio{font-size:var(--fs-xs);border-radius:6px;padding:2px 8px;font-weight:700}.prio.high{color:var(--danger-ink);background:#c98b8b33}.prio.mid{color:var(--warning-ink);background:#c9a24b33}.prio.low{background:var(--bg-2);color:var(--text-soft)}.timeline-item{border-bottom:1px solid var(--border);gap:16px;padding:14px 0;display:flex}.timeline-item:last-child{border-bottom:none}.timeline-item .tm{font-family:var(--font-serif);font-size:var(--fs-lg);color:var(--accent-ink);min-width:64px}.timeline-item .ct h4{font-size:var(--fs-base);margin:0 0 2px}.timeline-item .ct p{color:var(--text-soft);font-size:var(--fs-sm);max-width:65ch;line-height:var(--lh-read);margin:0}.chip.ok{color:var(--success-ink);background:#8a9a7b2e}.faq-list{flex-direction:column;display:flex}.faq-item{border-bottom:1px solid var(--border);align-items:flex-start;gap:12px;padding:14px 0;display:flex}.faq-item:last-child{border-bottom:none}.faq-item.is-draft{opacity:.62}.faq-order{flex-direction:column;flex:none;gap:4px;display:flex}.faq-order .btn{padding:2px 8px;line-height:1.2}.faq-main{flex:1;min-width:0}.faq-main h4{font-size:var(--fs-base);flex-wrap:wrap;align-items:center;margin:0 0 4px;display:flex}.faq-answer{color:var(--text-soft);font-size:var(--fs-sm);white-space:pre-wrap;word-break:break-word;max-width:65ch;line-height:var(--lh-read);margin:0}.faq-actions{white-space:nowrap;flex:none}.settings-actions{flex-wrap:wrap;gap:10px;margin-top:8px;display:flex}footer.credits{text-align:center;color:var(--text-soft);font-size:var(--fs-xs);padding:24px}.hint{font-size:var(--fs-xs);color:var(--text-soft);max-width:65ch;line-height:var(--lh-read)}.contact-links{font-size:var(--fs-xs);flex-wrap:wrap;gap:12px;margin-top:3px;display:flex}.contact-links a{color:var(--accent-ink);text-decoration:none}.dash-list .row{border-bottom:1px solid var(--border);font-size:var(--fs-base);justify-content:space-between;align-items:center;gap:8px;padding:7px 0;display:flex}.dash-list .row:last-child{border-bottom:none}.due-over{color:var(--danger-ink);font-weight:600}.room-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;margin-top:12px;display:grid}.room-box{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);padding:10px 12px}.room-box .rname{justify-content:space-between;align-items:center;gap:6px;font-weight:600;display:flex}.room-box .rcap{font-size:var(--fs-xs);color:var(--text-soft)}.room-box .rcap.full{color:var(--rose);font-weight:600}.room-box ul{gap:3px;margin:8px 0 0;padding:0;list-style:none;display:grid}.room-box li{font-size:var(--fs-sm);border-bottom:1px dashed var(--border);justify-content:space-between;align-items:center;padding:2px 0;display:flex}.room-box li:last-child{border-bottom:none}.room-box select{border:1px solid var(--border);border-radius:var(--r-sm);width:100%;margin-top:8px;padding:5px 8px;font-family:inherit;font-size:16px}.drink-inp{border:1px solid var(--border);border-radius:var(--r-sm);text-align:right;width:74px;padding:5px 7px;font-family:inherit;font-size:16px}.drinks-people{flex-wrap:wrap;align-items:end;gap:16px;margin-bottom:12px;display:flex}#budgetStats,#budgetChart{margin-bottom:var(--sp-5)}.budget-chart-row{gap:var(--sp-6);margin-top:var(--sp-3);flex-wrap:wrap;align-items:center;display:flex}.vendor-head{justify-content:space-between;align-items:flex-start;gap:var(--sp-2);display:flex}.vendor-head h3{margin:6px 0 0}.vendor-meta{margin-top:var(--sp-3);gap:var(--sp-1);font-size:14px;display:grid}.vendor-meta .note{margin-top:var(--sp-1)}.vendor-actions{margin-top:var(--sp-3);text-align:right}.mt-tight{margin-top:var(--sp-1)}.map-grid{grid-template-columns:1fr 1fr;align-items:center;gap:9px 14px;display:grid}.map-grid .cn{font-size:var(--fs-sm);color:var(--text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.map-grid .cn small{color:var(--text-soft);font-weight:400;display:block}.import-preview{border:1px solid var(--border);border-radius:var(--r-md);max-height:170px;overflow:auto}.import-preview table{width:100%;min-width:0}.import-preview th,.import-preview td{font-size:var(--fs-xs);white-space:nowrap;padding:6px 9px}.plan-hint{font-size:var(--fs-xs);color:var(--text-soft);max-width:65ch;line-height:var(--lh-read);margin-bottom:10px}.plan-canvas{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);background-image:radial-gradient(var(--border) 1.2px, transparent 1.2px);height:560px;box-shadow:var(--shadow);touch-action:none;--plan-rot-dist:30px;background-size:26px 26px;position:relative;overflow:hidden}.plan-table{text-align:center;cursor:grab;-webkit-user-select:none;user-select:none;background:var(--surface-2);border:2px solid var(--border-strong);color:var(--text);font-size:var(--fs-xs);box-shadow:var(--shadow-sm);flex-direction:column;justify-content:center;align-items:center;padding:6px;font-weight:600;line-height:1.2;display:flex;position:absolute;transform:translate(-50%,-50%)}.plan-table.round{border-radius:50%}.plan-table.rect{border-radius:12px}.plan-table.full{border-color:var(--rose);background:#f1dede}.plan-table .ptc{font-size:var(--fs-xs);color:var(--accent-ink);margin-top:2px;font-weight:600}.plan-table.dragging{cursor:grabbing;box-shadow:var(--shadow-sm);z-index:5}.plan-table.selected{box-shadow:0 0 0 2px var(--accent), var(--shadow-sm);z-index:6}.plan-handle{background:var(--surface);border:2px solid var(--accent);width:14px;height:14px;box-shadow:var(--shadow-sm);z-index:7;touch-action:none;border-radius:3px;position:absolute;transform:translate(-50%,-50%)}.plan-handle.plan-rot{left:50%;top:calc(-1 * var(--plan-rot-dist));cursor:grab;border-radius:50%}.plan-rot-line{left:50%;top:calc(-1 * var(--plan-rot-dist));width:2px;height:var(--plan-rot-dist);background:var(--accent);z-index:6;pointer-events:none;position:absolute;transform:translate(-50%)}.plan-angle{background:var(--text);color:var(--surface);font-size:var(--fs-xs);border-radius:var(--r-sm);white-space:nowrap;z-index:8;pointer-events:none;padding:2px 7px;font-weight:600;position:absolute;top:-56px;left:50%}.plan-toolbar{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-md);box-shadow:var(--shadow-lg);z-index:9;gap:4px;padding:4px;display:flex;position:absolute;transform:translate(-50%)}.plan-toolbar .btn.sm{padding:4px 8px}.plan-toolbar .plan-sep{background:var(--border);align-self:stretch;width:1px;margin:2px 1px}.plan-table.plan-conflict{border-color:var(--danger-ink);box-shadow:0 0 0 2px var(--danger-ink), 0 0 12px 2px var(--danger-ink)}.plan-table.selected.plan-conflict{box-shadow:0 0 0 2px var(--accent), 0 0 0 4px var(--danger-ink), 0 0 12px 2px var(--danger-ink)}.seat-pop{z-index:60;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-lg);box-shadow:var(--shadow-xl);width:288px;max-height:380px;padding:14px;position:fixed;overflow:auto}.seat-pop h4{font-size:var(--fs-base);margin:0 0 4px}.seat-pop .cap{font-size:var(--fs-xs);color:var(--text-soft);margin-bottom:8px}.seat-pop .srow{border-bottom:1px dashed var(--border);font-size:var(--fs-sm);justify-content:space-between;align-items:center;gap:8px;padding:5px 0;display:flex}.seat-pop select{border:1px solid var(--border);border-radius:var(--r-md);width:100%;margin-top:8px;padding:7px 9px;font-family:inherit;font-size:16px}@media (width<=620px){header.app .names{font-size:26px}.row2{grid-template-columns:1fr}main{padding:8px 12px 60px}.map-grid{grid-template-columns:1fr}}.petals{pointer-events:none;z-index:-1;position:fixed;inset:0;overflow:hidden}.petals span{opacity:0;background:radial-gradient(circle at 30% 30%,#f2e3cc,#e0c9a6);border-radius:62% 38% 55% 45%/48% 62% 38% 52%;width:13px;height:13px;animation:linear infinite fall;position:absolute;top:-30px}.petals span:nth-child(3n){background:radial-gradient(circle at 30% 30%,#f0dede,#dfc0c0)}.petals span:nth-child(4n){background:radial-gradient(circle at 30% 30%,#e9ecdf,#c9d1bb);width:10px;height:10px}.petals span:first-child{animation-duration:21s;animation-delay:0s;left:6%}.petals span:nth-child(2){animation-duration:27s;animation-delay:6s;left:17%}.petals span:nth-child(3){animation-duration:23s;animation-delay:12s;left:29%}.petals span:nth-child(4){animation-duration:30s;animation-delay:3s;left:41%}.petals span:nth-child(5){animation-duration:24s;animation-delay:9s;left:55%}.petals span:nth-child(6){animation-duration:28s;animation-delay:15s;left:67%}.petals span:nth-child(7){animation-duration:22s;animation-delay:5s;left:79%}.petals span:nth-child(8){animation-duration:26s;animation-delay:11s;left:91%}.bg-glow{pointer-events:none;z-index:-1;background:radial-gradient(circle,#c9a24b1a,#0000 62%);border-radius:50%;width:66vw;max-width:920px;height:66vw;max-height:920px;animation:9s ease-in-out infinite breathe;position:fixed;top:-24vw;left:50%;transform:translate(-50%)}@keyframes breathe{0%,to{opacity:.7;transform:translate(-50%)scale(1)}50%{opacity:1;transform:translate(-50%)scale(1.07)}}html[data-theme=dark] .bg-glow{background:radial-gradient(circle,#c9a24b0f,#0000 62%)}.sparkles{pointer-events:none;z-index:-1;position:fixed;inset:0;overflow:hidden}.sparkles span{color:var(--accent);opacity:0;font-size:12px;animation:8s ease-in-out infinite twinkle;position:absolute}@keyframes twinkle{0%,to{opacity:0;transform:scale(.5)rotate(0)}50%{opacity:.5;transform:scale(1)rotate(60deg)}}.sparkles span:first-child{animation-delay:0s;top:18%;left:12%}.sparkles span:nth-child(2){font-size:10px;animation-delay:2.4s;top:12%;left:84%}.sparkles span:nth-child(3){animation-delay:5s;top:40%;left:70%}.sparkles span:nth-child(4){font-size:9px;animation-delay:1.2s;top:58%;left:7%}.sparkles span:nth-child(5){animation-delay:3.8s;top:72%;left:91%}.sparkles span:nth-child(6){font-size:10px;animation-delay:6.2s;top:85%;left:27%}footer.credits .made-by{font-family:var(--font-serif);font-size:var(--fs-base);color:var(--text);margin-bottom:4px}footer.credits .made-by b{color:var(--accent-ink)}footer.credits .hrt{color:var(--rose);animation:3s ease-in-out infinite beat;display:inline-block}tbody tr{animation:.3s backwards itemIn}tr.is-removing{pointer-events:none;animation:.26s forwards itemOut!important}.card.is-removing{pointer-events:none;animation:.26s forwards cardOut!important}.spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:34px;height:34px;margin:2px auto 12px;animation:.8s linear infinite spin}.sync-pill{z-index:60;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);font-size:var(--fs-sm);color:var(--text-soft);border-radius:999px;align-items:center;gap:8px;padding:8px 15px;animation:.3s syncIn;display:inline-flex;position:fixed;bottom:18px;left:50%;transform:translate(-50%)}.sync-pill.leaving{animation:.38s forwards syncOut}.sync-pill .sp-dot{background:var(--amber);border-radius:50%;flex:none;width:8px;height:8px}.sync-pill.saving .sp-dot{animation:1.1s ease-in-out infinite pulseDot}.sync-pill.saved{color:var(--sage)}.sync-pill.saved .sp-dot{background:var(--sage)}@media (width<=620px){.sync-pill{bottom:12px}}.connection-banner{z-index:200;background:var(--danger-ink);color:#fff;font-size:var(--fs-sm);text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;padding:10px 16px;animation:.3s rise;display:flex;position:fixed;top:0;left:0;right:0}.connection-banner .btn{flex:none}.cookie-banner{z-index:350;max-width:var(--content-w-panel);background:var(--surface);color:var(--text);border:1px solid var(--border-strong);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin:0 auto;padding:14px 18px;animation:.3s rise;display:flex;position:fixed;bottom:12px;left:12px;right:12px}.cookie-banner-txt{font-size:var(--fs-sm);line-height:var(--lh-read);color:var(--text-soft);flex:320px}.cookie-banner-txt strong{color:var(--text)}.cookie-banner-txt a{color:var(--accent-ink)}.cookie-banner-actions{flex-wrap:wrap;flex:none;gap:10px;display:flex}@media (width<=520px){.cookie-banner-actions{width:100%}.cookie-banner-actions .btn{flex:1}}.legal-links{flex-wrap:wrap;justify-content:center;gap:6px 16px;margin-top:8px;display:flex}.legal-links a{color:var(--accent-ink);text-decoration:none}.legal-links a:hover{text-decoration:underline}.skeleton-list{gap:10px;display:grid}.skeleton-card{border-radius:var(--r-lg);background:var(--surface-2);border:1px solid var(--border);height:44px;animation:1.3s ease-in-out infinite skeletonPulse}@keyframes skeletonPulse{0%,to{opacity:.6}50%{opacity:1}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}html{scroll-behavior:auto}}#authScreen{z-index:100;background:linear-gradient(160deg, var(--bg), var(--bg-2));justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}#authScreen .card{text-align:center;width:100%;max-width:380px}#authScreen .ring{margin-bottom:4px;font-size:38px}#authScreen h2{font-size:var(--fs-xl);margin:0 0 4px}#authScreen p.sub{color:var(--text-soft);font-size:var(--fs-sm);max-width:65ch;line-height:var(--lh-read);margin:0 0 20px}#authScreen form{text-align:left;gap:14px;display:grid}#authError{color:var(--danger-ink);font-size:var(--fs-sm);min-height:calc(var(--fs-sm) * var(--lh-base));text-align:left}#authScreen .hint{margin-top:16px}#authScreen .onboarding-card{max-width:420px}.onboarding-steps{gap:var(--sp-2);margin:0 0 var(--sp-5);justify-content:center;display:flex}.onboarding-steps .ob-dot{border-radius:var(--r-pill);background:var(--border-strong);width:28px;height:5px;transition:background .25s}.onboarding-steps .ob-dot.on{background:var(--accent)}.onboarding-actions{gap:var(--sp-3);align-items:center;display:flex}#authScreen .state-card{max-width:440px}#authScreen .state-card .actions{margin-top:var(--sp-5);gap:var(--sp-3);flex-wrap:wrap;justify-content:center;display:flex}.gallery-error{color:var(--rose);font-size:var(--fs-sm);min-height:calc(var(--fs-sm) * var(--lh-base));margin:6px 0 0}.loc-fieldset{border:1px solid var(--border);border-radius:var(--r-md);gap:12px;margin:0 0 12px;padding:14px 16px 4px;display:grid}.loc-fieldset legend{font-weight:600;font-size:var(--fs-sm);color:var(--accent-ink);padding:0 6px}.loc-same{font-size:var(--fs-sm);cursor:pointer;align-items:center;gap:8px;margin:0 0 12px;display:flex}.loc-same input{cursor:pointer;width:16px;height:16px}.venuemap-preview{text-align:center;margin-top:4px}.venuemap-preview img{border:1px solid var(--border);border-radius:var(--r-md);background:#fff;max-width:100%;max-height:260px}.qr-preview{text-align:center;margin-top:14px;animation:.4s rise}.qr-preview canvas{border:1px solid var(--border);border-radius:var(--r-md);background:#fff;width:180px;height:180px;padding:8px}details.gallery-help{border-top:1px solid var(--border);margin-top:16px;padding-top:12px}details.gallery-help summary{cursor:pointer;color:var(--accent-ink);font-weight:600;font-size:var(--fs-base)}details.gallery-help summary:hover{color:var(--accent)}details.gallery-help ol{font-size:var(--fs-base);max-width:65ch;line-height:var(--lh-read);gap:6px;margin:10px 0 4px;padding-left:20px;display:grid}.wdm-opts{gap:10px;margin-top:4px;display:grid}.wdm-opt{border:1px solid var(--border);border-radius:var(--r-lg);cursor:pointer;align-items:flex-start;gap:12px;padding:14px;transition:border-color .2s,background .2s;display:flex}.wdm-opt:hover{border-color:var(--border-strong)}.wdm-opt.sel{border-color:var(--accent);background:var(--bg-2)}.wdm-opt input{accent-color:var(--accent);flex:none;margin-top:3px}.wdm-body{flex-direction:column;gap:3px;display:flex}.wdm-name{color:var(--text);font-weight:600}.wdm-desc{font-size:var(--fs-sm);color:var(--text-soft);line-height:var(--lh-read);max-width:65ch}.admin-view-banner{z-index:50;justify-content:space-between;align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-4);background:var(--accent-strong);color:var(--on-accent);font-size:var(--fs-sm);flex-wrap:wrap;font-weight:600;display:flex;position:sticky;top:0}.admin-view-banner button{font:inherit;font-size:var(--fs-sm);border:1px solid var(--on-accent);color:var(--on-accent);border-radius:var(--r-md);cursor:pointer;background:0 0;padding:5px 12px}.admin-view-banner button:hover{background:#ffffff26}.adm-wrap{z-index:1;max-width:1040px;padding:var(--sp-8) var(--sp-5) var(--sp-14);margin:0 auto;position:relative}.adm-head{justify-content:space-between;align-items:flex-end;gap:var(--sp-4);margin-bottom:var(--sp-5);flex-wrap:wrap;display:flex}.adm-head h1{font-family:var(--font-serif);font-size:var(--fs-2xl);margin:0 0 2px}.adm-head p{color:var(--text-soft);font-size:var(--fs-sm);margin:0}.adm-head-actions{gap:var(--sp-2);flex-wrap:wrap;display:flex}.adm-mfa{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-5);margin-bottom:var(--sp-5);box-shadow:var(--shadow)}.adm-mfa-heading{align-items:center;gap:var(--sp-3);display:flex}.adm-mfa-icon{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--r-md);flex:none;place-items:center;width:42px;height:42px;font-size:22px;display:grid}.adm-mfa h2{font-family:var(--font-serif);font-size:var(--fs-lg);margin:0}.adm-mfa-heading p,.adm-mfa-status p,.adm-mfa-cta p,.adm-mfa-qr-wrap p{margin:var(--sp-1) 0 0;color:var(--text-soft);font-size:var(--fs-sm)}.adm-mfa-status{align-items:flex-start;gap:var(--sp-3);margin-top:var(--sp-4);padding:var(--sp-3);border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg-2);display:flex}.adm-mfa-status.is-enabled{border-color:color-mix(in srgb, var(--sage) 55%, var(--border))}.adm-mfa-status.is-disabled{border-color:color-mix(in srgb, var(--amber) 60%, var(--border))}.adm-mfa-status strong{font-size:var(--fs-base);display:block}.adm-mfa-status-mark{border-radius:var(--r-pill);flex:none;place-items:center;width:24px;height:24px;font-weight:700;display:grid}.is-enabled .adm-mfa-status-mark{color:var(--success-ink);background:color-mix(in srgb, var(--sage) 28%, var(--surface))}.is-disabled .adm-mfa-status-mark{color:var(--warning-ink);background:color-mix(in srgb, var(--amber) 24%, var(--surface))}.adm-mfa-form,.adm-mfa-enroll{gap:var(--sp-3);max-width:560px;margin-top:var(--sp-4);padding:var(--sp-4);border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg-2);display:grid}.adm-mfa-form input,.adm-mfa-enroll input{font:inherit;padding:var(--sp-2);border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--surface);color:var(--text)}.adm-mfa-enroll img{border-radius:var(--r-sm);width:180px;height:180px;padding:var(--sp-1);background:#fff}.adm-mfa-step{color:var(--accent-ink);font-size:var(--fs-xs);letter-spacing:.4px;text-transform:uppercase;margin:0;font-weight:700}.adm-mfa-cta{justify-content:space-between;align-items:center;gap:var(--sp-4);margin-top:var(--sp-4);padding:var(--sp-4);border:1px dashed var(--border-strong);border-radius:var(--r-md);display:flex}.adm-mfa-cta strong{display:block}.adm-mfa-qr-wrap{align-items:center;gap:var(--sp-4);display:flex}.adm-mfa-qr-wrap>div{min-width:0}.adm-mfa-secret{margin-top:var(--sp-2);padding:var(--sp-2);border:1px solid var(--border-strong);border-radius:var(--r-sm);background:var(--surface);overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;display:block}.adm-mfa-message{margin:var(--sp-3) 0 0;padding:var(--sp-2) var(--sp-3);border-left:3px solid var(--accent);border-radius:0 var(--r-sm) var(--r-sm) 0;background:var(--bg-2);color:var(--text);font-size:var(--fs-sm)}.adm-mfa-recovery{margin:var(--sp-4) 0 0;color:var(--text-soft);font-size:var(--fs-sm);line-height:var(--lh-read)}@media (width<=520px){.adm-mfa{padding:var(--sp-4)}.adm-mfa-cta,.adm-mfa-qr-wrap{flex-direction:column;align-items:stretch}.adm-mfa-cta .btn{justify-content:center;width:100%}.adm-mfa-enroll img{align-self:center}}.adm-stats{gap:var(--sp-3);margin-bottom:var(--sp-5);grid-template-columns:repeat(3,1fr);display:grid}.adm-stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-3) var(--sp-4)}.adm-stat .n{font-family:var(--font-serif);font-size:var(--fs-xl);font-variant-numeric:tabular-nums}.adm-stat .k{font-size:var(--fs-xs);color:var(--text-soft);letter-spacing:.3px;text-transform:uppercase}.adm-toolbar{justify-content:space-between;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-4);flex-wrap:wrap;display:flex}.adm-search{flex:280px;align-items:center;min-width:220px;display:flex;position:relative}.adm-search-ic{font-size:var(--fs-sm);opacity:.6;pointer-events:none;position:absolute;left:12px}.adm-search input{font:inherit;font-size:var(--fs-base);width:100%;padding:var(--sp-2) 34px var(--sp-2) 34px;background:var(--surface);color:var(--text);border:1px solid var(--border-strong);border-radius:var(--r-md)}.adm-search input:focus{border-color:var(--accent-strong);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 25%, transparent);outline:none}.adm-search input::-webkit-search-decoration{-webkit-appearance:none}.adm-search input::-webkit-search-cancel-button{-webkit-appearance:none}.adm-search-clear{color:var(--text-soft);font-size:var(--fs-sm);cursor:pointer;border-radius:var(--r-sm);background:0 0;border:0;padding:4px 6px;line-height:1;position:absolute;right:8px}.adm-search-clear:hover{background:var(--bg-2);color:var(--text)}.adm-toolbar-controls{align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}.adm-filter-chips{background:var(--bg-2);border:1px solid var(--border-strong);border-radius:var(--r-md);gap:2px;padding:2px;display:inline-flex}.adm-sort{font-size:var(--fs-sm);align-items:center;gap:6px;display:inline-flex}.adm-sort select{font:inherit;font-size:var(--fs-sm);background:var(--surface);color:var(--text);border:1px solid var(--border-strong);border-radius:var(--r-md);padding:6px 8px}.adm-sort select:focus{border-color:var(--accent-strong);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 25%, transparent);outline:none}.adm-sort-dir{font:inherit;font-size:var(--fs-base);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);border-radius:var(--r-md);cursor:pointer;padding:5px 9px;line-height:1}.adm-sort-dir:hover{background:var(--bg-2)}.adm-view-toggle{background:var(--bg-2);border:1px solid var(--border-strong);border-radius:var(--r-md);gap:2px;padding:2px;display:inline-flex}.adm-seg{font:inherit;font-size:var(--fs-sm);color:var(--text-soft);border-radius:var(--r-sm);cursor:pointer;white-space:nowrap;background:0 0;border:0;padding:6px 12px}.adm-seg:hover{color:var(--text)}.adm-seg.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm);font-weight:600}.adm-empty-box{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);margin:0}.adm-tbl-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow);overflow-x:auto}.adm-tbl{border-collapse:collapse;width:100%;min-width:720px}.adm-tbl thead th{text-align:left;font-size:var(--fs-xs);letter-spacing:.4px;text-transform:uppercase;color:var(--text-soft);background:var(--bg-2);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border);white-space:nowrap}.adm-tbl tbody td{padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border);font-size:var(--fs-base);vertical-align:middle}.adm-tbl tbody tr:last-child td{border-bottom:0}.adm-tbl tbody tr:hover td{background:var(--bg-2)}.adm-couple{font-family:var(--font-serif);font-size:var(--fs-base)}.adm-muted{color:var(--text-soft);font-size:var(--fs-sm)}.adm-num{font-variant-numeric:tabular-nums}.adm-empty{text-align:center;color:var(--text-soft);padding:var(--sp-6) var(--sp-4)}.adm-error{color:var(--danger-ink);margin:0 0 var(--sp-3)}.adm-pill{font-size:var(--fs-xs);border-radius:var(--r-pill);white-space:nowrap;border:1px solid #0000;align-items:center;gap:6px;padding:4px 10px;font-weight:600;display:inline-flex}.adm-pill.free{background:color-mix(in srgb, var(--amber) 18%, transparent);color:var(--warning-ink);border-color:color-mix(in srgb, var(--amber) 40%, transparent)}.adm-pill.paid{background:color-mix(in srgb, var(--sage) 20%, transparent);color:var(--success-ink);border-color:color-mix(in srgb, var(--sage) 45%, transparent)}.adm-pill.susp{background:color-mix(in srgb, var(--rose) 18%, transparent);color:var(--danger-ink);border-color:color-mix(in srgb, var(--rose) 42%, transparent)}.adm-acts{white-space:nowrap;gap:6px;display:flex}.adm-icon-btn{font:inherit;font-size:var(--fs-sm);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);border-radius:var(--r-md);cursor:pointer;padding:6px 10px}.adm-icon-btn:hover{background:var(--bg-2)}.adm-icon-btn.primary{background:var(--accent-strong);color:var(--on-accent);border-color:var(--accent-strong);font-weight:600}.adm-icon-btn.primary:hover{background:var(--accent-ink)}.adm-icon-btn.danger{color:var(--danger-ink);border-color:color-mix(in srgb, var(--rose) 50%, var(--border-strong))}.adm-detail td{background:var(--bg-2)}.adm-detail-grid{gap:var(--sp-3) var(--sp-5);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.adm-detail-grid .k{font-size:var(--fs-xs);color:var(--text-soft);text-transform:uppercase;letter-spacing:.3px;margin-bottom:2px;display:block}.adm-detail-grid code{font-size:var(--fs-sm);word-break:break-all}.adm-detail-grid a{color:var(--accent-ink);word-break:break-all}.adm-copyrow{align-items:center;gap:6px;display:inline-flex}.adm-copy-btn{border:1px solid var(--border-strong);background:var(--surface);color:var(--text);border-radius:var(--r-sm);font-size:var(--fs-xs);cursor:pointer;flex:none;padding:2px 6px;line-height:1}.adm-copy-btn:hover{background:var(--bg-2)}.adm-detail-actions{margin-top:var(--sp-3);flex-wrap:wrap;gap:6px;display:flex}.adm-detail-hint{margin:var(--sp-3) 0 0}.adm-cards{gap:var(--sp-4);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));display:grid}.adm-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);padding:var(--sp-4);gap:var(--sp-3);flex-direction:column;display:flex}.adm-card-top{justify-content:space-between;align-items:flex-start;gap:var(--sp-2);display:flex}.adm-card-couple{font-family:var(--font-serif);font-size:var(--fs-md);margin:0}.adm-card-meta{gap:var(--sp-2);margin:0;display:grid}.adm-card-meta>div{justify-content:space-between;gap:var(--sp-3);font-size:var(--fs-sm);display:flex}.adm-card-meta dt{color:var(--text-soft);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.3px;margin:0}.adm-card-meta dd{text-align:right;font-variant-numeric:tabular-nums;word-break:break-word;margin:0}.adm-card .adm-acts{white-space:normal;flex-wrap:wrap}.adm-card-detail{border-top:1px solid var(--border);padding-top:var(--sp-3)}.adm-create{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:var(--sp-5) var(--sp-6);margin-bottom:var(--sp-5)}.adm-create h2{font-family:var(--font-serif);font-size:var(--fs-lg);margin:0 0 4px}.adm-create>.adm-muted{margin:0 0 var(--sp-4)}.adm-form-grid{gap:0 var(--sp-4);grid-template-columns:1fr 1fr;display:grid}.adm-field-wide{grid-column:1/-1}.adm-create-actions{gap:var(--sp-2);margin-top:var(--sp-2);justify-content:flex-end;display:flex}.adm-note{color:var(--text-soft);font-size:var(--fs-sm);margin-top:var(--sp-4);max-width:65ch}@media (width<=620px){.adm-stats,.adm-form-grid{grid-template-columns:1fr}}
