:root{--bg:#0a0a0a;--bg-card:#141414;--bg-deep:#000;--fg:#e0e0e0;--fg-muted:#e0e0e080;--fg-dim:#e0e0e033;--silver:gray;--silver-lt:#b3b3b3;--silver-bright:#e6e6e6;--silver-glow:#b4b4b440;--silver-dim:#b4b4b41a;--steel:#666;--steel-lt:#999;--crimson:#666;--crimson-lt:#b3b3b3;--crimson-glow:#b4b4b440;--crimson-dim:#b4b4b41a;--gold:#999;--gold-lt:#ccc;--gold-glow:#c8c8c833;--purple:#1a1a1a;--purple-lt:#1a1a1a66;--line:#e0e0e012;--glass:#ffffff05;--glass-border:#b4b4b426;--glass-gold:#b4b4b41a;--gothic:"Cinzel", "Georgia", serif;--fraktur:"Cinzel Decorative", "Georgia", serif;--serif:"Cormorant Garamond", "Georgia", serif;--ease:cubic-bezier(.16, 1, .3, 1);--ease-gothic:cubic-bezier(.4, 0, .2, 1);--px:24px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--silver) var(--bg-card)}html::-webkit-scrollbar{width:4px}html::-webkit-scrollbar-track{background:var(--bg)}html::-webkit-scrollbar-thumb{background:var(--silver);border-radius:2px}body{font-family:var(--serif);background:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased;background-image:radial-gradient(at 20%,#8c8c8c0d 0%,#0000 60%),radial-gradient(at 80% 20%,#6464640a 0%,#0000 50%);max-width:100vw;line-height:1.6;overflow-x:hidden}img{object-fit:cover;max-width:100%;display:block}a{color:inherit;text-decoration:none}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}ul,ol{list-style:none}.preloader{z-index:9999;background:var(--bg-deep);justify-content:center;align-items:center;transition:opacity .8s,visibility .8s;display:flex;position:fixed;inset:0}.preloader.hidden{opacity:0;visibility:hidden;pointer-events:none}.preloader-inner{text-align:center}.preloader-logo{filter:brightness(0)invert()sepia(.1)saturate(.5)brightness(.85);width:72px;height:auto;margin:0 auto 28px;animation:2s ease-in-out infinite gothicPulse}.preloader-tagline{font-family:var(--gothic);letter-spacing:.4em;color:var(--silver-lt);text-transform:uppercase;opacity:.8;margin-bottom:20px;font-size:.55rem}.preloader-bar{background:#b4aac826;width:100px;height:1px;margin:0 auto;position:relative;overflow:hidden}.preloader-fill{background:linear-gradient(90deg, var(--steel), var(--silver-bright));width:0;height:100%;animation:preload-fill 2s var(--ease) forwards;box-shadow:0 0 8px var(--silver-glow)}@keyframes gothicPulse{0%,to{opacity:.45;filter:brightness(0)invert()brightness(.6);transform:scale(.95)rotate(-1deg)}50%{opacity:1;filter:brightness(0)invert()brightness(.9);transform:scale(1)rotate(0)}}@keyframes preload-fill{to{width:100%}}@keyframes candleFlicker{0%,to{opacity:1;transform:scaleY(1)scaleX(1)}25%{opacity:.85;transform:scaleY(1.05)scaleX(.97)}50%{opacity:.95;transform:scaleY(.97)scaleX(1.02)}75%{opacity:.9;transform:scaleY(1.03)scaleX(.98)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes gothicRevealUp{0%{opacity:0;filter:blur(6px);transform:translateY(50px)scaleY(.95)}to{opacity:1;filter:none;transform:none}}@keyframes drip{0%{opacity:1;height:0}80%{opacity:1}to{opacity:0;height:40px}}@keyframes scrollPulse{0%,to{opacity:.2;transform:scaleY(.7)}50%{opacity:.8;transform:scaleY(1)}}@keyframes pulse{0%,to{opacity:.4}50%{opacity:1}}@keyframes glowPulse{0%,to{box-shadow:0 0 20px var(--silver-glow), inset 0 0 20px #8c82a00a}50%{box-shadow:0 0 40px var(--silver-glow), inset 0 0 30px #8c82a014}}.section-container{width:100%;max-width:480px;padding:80px var(--px);margin:0 auto}.section-label{font-family:var(--gothic);letter-spacing:.35em;color:var(--silver-lt);text-transform:uppercase;justify-content:center;align-items:center;gap:12px;margin-bottom:10px;font-size:.6rem;font-weight:600;display:flex}.section-label:before,.section-label:after{content:"";background:linear-gradient(90deg, transparent, var(--silver));opacity:.6;width:30px;height:1px;display:inline-block}.section-label:after{background:linear-gradient(90deg, var(--silver), transparent)}.section-heading{font-family:var(--fraktur);letter-spacing:.02em;text-transform:uppercase;color:var(--fg);margin-bottom:32px;font-size:clamp(1.8rem,7.5vw,2.6rem);font-weight:900;line-height:1.1}.gothic-ornament{justify-content:center;align-items:center;gap:10px;margin:0 auto 32px;display:flex}.gothic-ornament:before,.gothic-ornament:after{content:"";background:linear-gradient(90deg, transparent, var(--silver-lt));opacity:.5;flex:1;max-width:60px;height:1px}.gothic-ornament:after{background:linear-gradient(90deg, var(--silver-lt), transparent)}.ornament-cross{flex-shrink:0;width:14px;height:14px;position:relative}.ornament-cross:before,.ornament-cross:after{content:"";background:var(--silver-lt);opacity:.7;border-radius:1px;position:absolute}.ornament-cross:before{width:1px;height:100%;top:0;left:50%;transform:translate(-50%)}.ornament-cross:after{width:100%;height:1px;top:50%;left:0;transform:translateY(-50%)}.hero{background:var(--bg-deep);justify-content:center;align-items:center;width:100%;min-height:100dvh;display:flex;position:relative;overflow:hidden}.hero-bg-slider{z-index:0;position:absolute;inset:0}.hero-slide{opacity:0;filter:saturate(.2)brightness(.25)sepia(.3);background-position:50%;background-size:cover;transition:opacity 2s,transform 10s;position:absolute;inset:0;transform:scale(1.06)}.hero-slide.active{opacity:1;transform:scale(1)}.hero-blueprint-bg{z-index:0;opacity:.5;background:linear-gradient(#8c8c8c09 1px,#0000 1px) 0 0/40px 40px,linear-gradient(90deg,#8c8c8c09 1px,#0000 1px) 0 0/40px 40px,radial-gradient(at 50% 45%,#6464641f 0%,#0000 65%) 0 0/100% 100%,linear-gradient(#050505 0%,#0a0a0a 50%,#050505 100%) 0 0/100% 100%;position:absolute;inset:0}.hero-overlay{z-index:1;background:linear-gradient(#05050566 0%,#0a0a0a1a 30%,#0505058c 70%,#050505eb 100%);position:absolute;inset:0}.hero-vignette{z-index:2;pointer-events:none;background:radial-gradient(#0000 35%,#05050580 100%);position:absolute;inset:0}.hero-content{z-index:3;text-align:center;padding:40px var(--px) 60px;flex-direction:column;align-items:center;width:100%;animation:1.2s .3s both fadeUp;display:flex;position:relative}.hero-badge{font-family:var(--gothic);letter-spacing:.4em;border:1px solid var(--glass-border);color:var(--silver-lt);background:var(--glass);text-transform:uppercase;border-radius:2px;margin-bottom:24px;padding:8px 20px;font-size:.55rem;font-weight:600;animation:.8s .3s both fadeUp;display:inline-block;position:relative}.hero-badge:before,.hero-badge:after{content:"✦";color:var(--silver-lt);opacity:.6;font-size:6px;position:absolute;top:50%;transform:translateY(-50%)}.hero-badge:before{left:8px}.hero-badge:after{right:8px}.hero-anniv-img-wrap{filter:drop-shadow(0 0 30px #b4aac826)drop-shadow(0 0 60px #8c82a01a);width:100%;max-width:340px;margin:0 auto 4px;animation:.8s .8s both fadeUp}.hero-anniv-img{mix-blend-mode:luminosity;opacity:.9;width:100%;height:auto;display:block}.hero-tagline{font-family:var(--gothic);letter-spacing:.12em;color:var(--fg-muted);text-transform:uppercase;margin-bottom:20px;font-size:clamp(.55rem,2.2vw,.75rem);font-weight:400;line-height:1.8;animation:.8s 1.1s both fadeUp}.hero-divider-arch{align-items:center;gap:12px;width:100%;max-width:200px;margin-bottom:18px;animation:1s 1.3s both fadeIn;display:flex}.hero-divider-line{background:linear-gradient(90deg, transparent, var(--silver-lt), transparent);opacity:.5;flex:1;height:1px}.hero-divider-diamond{border:1px solid var(--silver-lt);opacity:.7;flex-shrink:0;width:6px;height:6px;transform:rotate(45deg)}.hero-logo{filter:brightness(0)invert()sepia(.1)saturate(.3)brightness(.9);opacity:.88;width:100px;height:auto;margin:0 auto 12px;animation:.8s .4s both fadeUp}.hero-date{font-family:var(--gothic);letter-spacing:.35em;color:var(--silver-bright);text-shadow:0 0 20px var(--silver-glow);margin-bottom:0;font-size:clamp(.75rem,3.5vw,1rem);font-weight:600;animation:.8s 1.4s both fadeUp}.scroll-indicator{cursor:pointer;color:var(--fg-muted);background:0 0;border:none;flex-direction:column;align-items:center;gap:10px;margin:32px auto 0;transition:color .3s;animation:.8s 1.6s both fadeUp;display:flex}.scroll-indicator:hover{color:var(--silver-lt)}.scroll-text{font-family:var(--gothic);letter-spacing:.4em;font-size:.45rem;font-weight:600}.scroll-line{background:linear-gradient(to bottom, var(--crimson-lt), transparent);width:1px;height:44px;animation:2.5s infinite scrollPulse}.hero-ornament{opacity:.6;justify-content:center;align-items:center;gap:10px;margin-bottom:14px;animation:1s 1s both fadeIn;display:flex}.hero-ornament-line{background:linear-gradient(90deg, transparent, var(--crimson-lt));flex:1;max-width:44px;height:1px}.hero-ornament .hero-ornament-line:last-child{background:linear-gradient(90deg, var(--crimson-lt), transparent)}.countdown-section:before,.map-section:before{content:"";background:linear-gradient(90deg, transparent, var(--silver-lt), transparent);z-index:5;width:80px;height:1px;position:absolute;top:0;left:50%;transform:translate(-50%)}.reveal{opacity:0;transition:opacity 1s ease, transform 1s var(--ease), filter 1s ease;will-change:opacity, transform, filter}.reveal.visible{opacity:1;filter:none!important;transform:none!important}.reveal-up{transform:translateY(60px)}.reveal-down{transform:translateY(-60px)}.reveal-left{transform:translate(-60px)}.reveal-right{transform:translate(60px)}.reveal-scale{transform:scale(.88)}.reveal-blur{filter:blur(12px);transform:translateY(30px)}.reveal-fade{transform:none}.reveal-delay-1{transition-delay:.12s}.reveal-delay-2{transition-delay:.24s}.reveal-delay-3{transition-delay:.36s}.reveal-delay-4{transition-delay:.48s}.reveal-delay-5{transition-delay:.6s}.countdown-section{background:var(--bg);text-align:center;background-image:radial-gradient(at 50% 0,#8c82a00d 0%,#0000 60%);position:relative}.countdown-grid{justify-content:center;align-items:center;gap:8px;margin-bottom:40px;display:flex}.countdown-card{background:linear-gradient(160deg, #8c82a012 0%, var(--glass) 100%);border:1px solid #b4aac833;border-radius:4px;min-width:68px;padding:20px 12px;animation:4s infinite glowPulse;position:relative;overflow:hidden}.countdown-card:before{content:"";background:linear-gradient(90deg, transparent, var(--silver-lt), transparent);opacity:.8;height:2px;position:absolute;top:0;left:0;right:0}.countdown-card:after{content:"";background:var(--silver);opacity:.4;width:30px;height:1px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.countdown-value{font-family:var(--gothic);letter-spacing:-.02em;color:var(--fg);font-variant-numeric:tabular-nums;text-shadow:0 0 20px #b4aac866;font-size:clamp(1.8rem,7vw,2.5rem);font-weight:700;line-height:1;display:block}.countdown-label{font-family:var(--gothic);letter-spacing:.25em;color:var(--silver-lt);opacity:.8;margin-top:8px;font-size:.45rem;font-weight:600;display:block}.countdown-sep{font-family:var(--serif);color:var(--silver-lt);opacity:.5;padding-bottom:20px;font-size:2rem;font-weight:300}.event-info-row{flex-direction:column;align-items:center;gap:10px;display:flex}.event-info-item{font-family:var(--gothic);letter-spacing:.08em;color:var(--fg-muted);align-items:center;gap:10px;font-size:.7rem;font-weight:500;display:flex}.event-info-item svg{color:var(--crimson-lt);flex-shrink:0}.detail-section{position:relative;overflow:hidden}.detail-bg{filter:saturate(.15)brightness(.2)sepia(.3);background-position:50%;background-size:cover;position:absolute;inset:0}.detail-overlay{background:linear-gradient(#0a0a0aed 0%,#14141499 40%,#0a0a0af7 100%);position:absolute;inset:0}.detail-content{z-index:2;text-align:center;position:relative}.detail-desc{font-family:var(--serif);color:var(--fg-muted);max-width:340px;margin:0 auto;font-size:1.05rem;font-style:italic;line-height:1.8}.detail-divider{justify-content:center;align-items:center;gap:12px;margin:28px auto;display:flex}.detail-divider:before,.detail-divider:after{content:"";background:linear-gradient(90deg, transparent, var(--silver-lt));opacity:.6;width:40px;height:1px}.detail-divider:after{background:linear-gradient(90deg, var(--silver-lt), transparent)}.divider-glyph{background:#b4aac80f;border:1px solid #b4aac866;flex-shrink:0;width:12px;height:12px;transform:rotate(45deg)}.detail-venue{text-align:left;color:var(--fg);background:#b4aac80d;border:1px solid #b4aac82e;border-radius:4px;justify-content:center;align-items:flex-start;gap:14px;max-width:320px;margin:0 auto;padding:16px 20px;font-size:.88rem;display:flex}.detail-venue svg{color:var(--silver-lt);flex-shrink:0;margin-top:2px}.detail-venue strong{font-weight:600;font-family:var(--gothic);letter-spacing:.05em;margin-bottom:4px;font-size:.82rem;display:block}.detail-venue span{color:var(--fg-muted);font-size:.82rem;font-family:var(--serif);display:block}.map-section{background:var(--bg-card);text-align:center;position:relative}.map-wrapper{border:1px solid #b4aac833;border-radius:4px;margin-bottom:24px;position:relative;overflow:hidden;box-shadow:0 0 30px #8c82a014,inset 0 0 0 1px #8c82a014}.map-wrapper:before{content:"";z-index:1;pointer-events:none;background:radial-gradient(#0000 50%,#0a0a0a80 100%);position:absolute;inset:0}.map-wrapper iframe{filter:grayscale()invert(.9)sepia(.1)contrast(.85)brightness(.65);width:100%;height:260px;display:block}.btn-glass{color:var(--silver-lt);font-family:var(--gothic);letter-spacing:.2em;text-transform:uppercase;transition:all .4s var(--ease);cursor:pointer;background:#b4aac80f;border:1px solid #b4aac859;border-radius:2px;align-items:center;gap:10px;padding:13px 28px;font-size:.6rem;font-weight:600;display:inline-flex;position:relative;overflow:hidden}.btn-glass:before{content:"";background:linear-gradient(90deg,#0000,#b4aac81a,#0000);width:100%;height:100%;transition:left .5s;position:absolute;top:0;left:-100%}.btn-glass:hover{border-color:var(--silver-lt);background:#b4aac81f;transform:translateY(-2px);box-shadow:0 8px 30px #8c82a033}.btn-glass:hover:before{left:100%}.btn-glass:active{transform:scale(.97)}.rsvp-section{position:relative;overflow:hidden}.rsvp-bg{filter:saturate(.1)brightness(.18)sepia(.3);background-position:50%;background-size:cover;position:absolute;inset:0}.rsvp-overlay{background:linear-gradient(#0a0a0af7 0%,#121212b3 40%,#0a0a0afa 100%);position:absolute;inset:0}.rsvp-content{z-index:2;text-align:center;position:relative}.rsvp-form{text-align:left;flex-direction:column;gap:18px;display:flex}.form-group{flex-direction:column;gap:7px;display:flex}.form-group label{font-family:var(--gothic);letter-spacing:.22em;text-transform:uppercase;color:var(--fg-muted);font-size:.58rem;font-weight:600}.form-group input,.form-group select,.form-group textarea{width:100%;color:var(--fg);font-family:var(--serif);appearance:none;background:#b4aac808;border:1px solid #b4aac82e;border-radius:2px;padding:13px 16px;font-size:.95rem;font-weight:400;transition:border-color .3s,box-shadow .3s}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--fg-dim);font-style:italic}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--silver-lt);box-shadow:0 0 0 3px var(--silver-dim), 0 0 15px var(--silver-dim);outline:none}.form-group select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23b8b0c8' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-position:right 16px center;background-repeat:no-repeat;padding-right:40px}.form-group select option{color:#dcd8e8;background:#0f0e18;padding:10px}.form-group textarea{resize:none;min-height:90px}.btn-submit{width:100%;color:var(--fg);border-color:var(--silver-lt);letter-spacing:.25em;background:linear-gradient(135deg,#3a3a3a 0%,#252525 100%);border-radius:2px;justify-content:center;margin-top:8px;padding:15px;font-size:.65rem}.btn-submit:hover{background:linear-gradient(135deg,#4a4a4a 0%,#3a3a3a 100%);transform:translateY(-2px);box-shadow:0 8px 30px #8c8c8c4d}.rsvp-success{text-align:center;padding:20px 0;animation:.6s both fadeUp}.success-icon{color:var(--silver-lt);filter:drop-shadow(0 0 12px #b4aac880);margin-bottom:16px}.rsvp-success h3{font-family:var(--fraktur);margin-bottom:8px;font-size:1.6rem;font-weight:700}.rsvp-success p{color:var(--fg-muted);font-size:.9rem;font-style:italic}.wishes-section{text-align:center}.wishes-divider{background:linear-gradient(90deg, transparent, var(--silver-lt), transparent);width:40px;height:1px;margin:40px auto 0}.wishes-heading{font-family:var(--fraktur);text-transform:uppercase;text-shadow:0 0 20px #b4aac833;margin-bottom:20px;font-size:1.4rem;font-weight:700}.wishes-list{scrollbar-width:thin;scrollbar-color:var(--silver) transparent;flex-direction:column;gap:10px;max-height:380px;display:flex;overflow-y:auto}.wishes-list::-webkit-scrollbar{width:3px}.wishes-list::-webkit-scrollbar-thumb{background:var(--silver);border-radius:2px}.wishes-empty{color:var(--fg-muted);padding:20px 0;font-size:.8rem;font-style:italic}.wish-card{text-align:left;background:#b4aac80a;border:1px solid #b4aac826;border-radius:2px;padding:14px 16px;animation:.5s both fadeUp;position:relative}.wish-card:before{content:"";background:linear-gradient(180deg, var(--silver-lt), transparent);opacity:.4;width:2px;height:100%;position:absolute;top:0;left:0}.wish-card-header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.wish-card-name{font-family:var(--gothic);color:var(--fg);letter-spacing:.05em;font-size:.75rem;font-weight:600}.wish-card-date{color:var(--fg-muted);font-size:.6rem;font-style:italic}.wish-card-message{font-family:var(--serif);color:var(--fg-muted);font-size:.88rem;font-style:italic;line-height:1.6}.footer{text-align:center;padding:44px var(--px);background:var(--bg-deep);border-top:1px solid #b4aac81f;position:relative}.footer:before{content:"";background:linear-gradient(90deg, transparent, var(--silver-lt), transparent);width:60px;height:1px;position:absolute;top:0;left:50%;transform:translate(-50%)}.footer-logo{filter:brightness(0)invert()sepia(.1);opacity:.25;width:40px;height:auto;margin:0 auto 14px}.footer-text{font-family:var(--gothic);letter-spacing:.3em;color:var(--fg-muted);opacity:.6;font-size:.55rem;font-weight:600}@media (min-width:481px){body{background:#050408;flex-direction:column;align-items:center;display:flex}body:before{content:"";pointer-events:none;background:radial-gradient(#786e8c0a,#0000 65%);position:fixed;inset:0}.hero,.countdown-section,.detail-section,.map-section,.rsvp-section,.footer{width:100%;max-width:430px}}.admin-page{background:var(--bg);min-height:100vh;font-family:var(--gothic);background-image:radial-gradient(at 30% 20%,#8c82a00a 0%,#0000 50%)}.admin-topbar{padding:14px var(--px);background:var(--bg-card);z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid #b4aac826;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.admin-topbar-logo{filter:brightness(0)invert()sepia(.1)saturate(.3);opacity:.7;width:32px;height:auto}.admin-topbar-title{letter-spacing:.3em;text-transform:uppercase;color:var(--silver-lt);font-size:.58rem;font-weight:600}.admin-content{max-width:900px;padding:28px var(--px);margin:0 auto}.admin-stats-grid{grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:28px;display:grid}@media (min-width:600px){.admin-stats-grid{grid-template-columns:repeat(4,1fr)}}.stat-card{text-align:center;background:#b4aac80d;border:1px solid #b4aac82e;border-radius:2px;padding:18px 14px;transition:border-color .3s;position:relative}.stat-card:hover{border-color:#b4aac866}.stat-card:before{content:"";background:linear-gradient(90deg, transparent, var(--silver-lt), transparent);opacity:.5;height:1px;position:absolute;top:0;left:0;right:0}.stat-value{font-family:var(--gothic);color:var(--silver-lt);text-shadow:0 0 20px #b4aac84d;margin-bottom:6px;font-size:1.9rem;font-weight:700;line-height:1;display:block}.stat-label{letter-spacing:.15em;color:var(--fg-muted);text-transform:uppercase;font-size:.5rem;font-weight:600;display:block}.admin-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.admin-toolbar-title{letter-spacing:.2em;text-transform:uppercase;color:var(--fg-muted);font-size:.6rem;font-weight:600}.export-group{flex-wrap:wrap;gap:8px;display:flex}.btn-export{font-family:var(--gothic);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;border:1px solid var(--glass-border);background:var(--glass);color:var(--fg-muted);border-radius:2px;align-items:center;gap:6px;padding:7px 14px;font-size:.55rem;font-weight:600;transition:all .3s;display:inline-flex}.btn-export:hover{border-color:var(--silver-lt);color:var(--silver-lt);background:#b4aac812}.btn-export.csv{color:#81c784;border-color:#4caf504d}.btn-export.csv:hover{background:#4caf5014}.btn-export.excel{color:#64b5f6;border-color:#2196f34d}.btn-export.excel:hover{background:#2196f314}.btn-export.pdf{color:var(--silver-lt);border-color:#b4aac84d}.btn-export.pdf:hover{background:#b4aac814}.guest-list{flex-direction:column;gap:6px;display:flex}.guest-entry{background:#b4aac808;border:1px solid #b4aac821;border-radius:2px;justify-content:space-between;align-items:flex-start;gap:12px;padding:13px 16px;transition:border-color .2s,background .2s;display:flex;position:relative}.guest-entry:before{content:"";background:linear-gradient(180deg, var(--silver-lt), transparent);opacity:0;width:1px;height:100%;transition:opacity .3s;position:absolute;top:0;left:0}.guest-entry:hover{background:#b4aac80f;border-color:#b4aac84d}.guest-entry:hover:before{opacity:.5}.guest-entry-info{flex:1}.guest-entry-name{letter-spacing:.04em;margin-bottom:3px;font-size:.82rem;font-weight:600}.guest-entry-detail{color:var(--fg-muted);font-size:.68rem;line-height:1.5;font-family:var(--serif)}.guest-entry-badge{letter-spacing:.12em;text-transform:uppercase;border-radius:2px;flex-shrink:0;padding:4px 10px;font-size:.5rem;font-weight:700}.badge-hadir{color:#81c784;background:#4caf501a;border:1px solid #4caf5040}.badge-tidak{color:var(--silver-lt);background:#b4aac814;border:1px solid #b4aac840}.guest-entry-message{font-family:var(--serif);color:var(--fg-muted);border-top:1px solid #9b00001f;margin-top:8px;padding-top:8px;font-size:.8rem;font-style:italic}.guest-entry-actions{flex-direction:column;align-items:center;gap:8px;display:flex}.btn-delete{font-family:var(--gothic);letter-spacing:.1em;color:var(--silver-lt);cursor:pointer;text-transform:uppercase;background:0 0;border:1px solid #b4aac840;border-radius:2px;padding:4px 8px;font-size:.5rem;font-weight:600;transition:all .2s}.btn-delete:hover{border-color:var(--silver-lt);background:#b4aac814}.login-page{background:var(--bg-deep);min-height:100vh;padding:var(--px);background-image:radial-gradient(at 50% 60%,#8c82a00f 0%,#0000 60%);justify-content:center;align-items:center;display:flex}.login-card{background:var(--bg-card);text-align:center;border:1px solid #b4aac833;border-radius:4px;width:100%;max-width:360px;padding:40px 32px;position:relative;box-shadow:0 0 60px #8c82a014,0 40px 80px #0009}.login-card:before{content:"";background:linear-gradient(90deg, transparent, var(--silver-lt), transparent);width:80px;height:2px;position:absolute;top:0;left:50%;transform:translate(-50%)}.login-card:after{content:"✦";color:var(--silver-lt);opacity:.5;font-size:8px;position:absolute;top:12px;left:50%;transform:translate(-50%)}.login-logo{filter:brightness(0)invert()sepia(.1);opacity:.7;width:52px;height:auto;margin:0 auto 20px}.login-title{font-family:var(--fraktur);letter-spacing:.03em;text-shadow:0 0 20px #b4aac833;margin-bottom:4px;font-size:1.4rem;font-weight:700}.login-subtitle{font-family:var(--gothic);color:var(--silver-lt);letter-spacing:.2em;opacity:.8;margin-bottom:32px;font-size:.55rem}.login-form{flex-direction:column;gap:16px;display:flex}.login-error{color:var(--silver-lt);text-align:center;font-size:.75rem;font-family:var(--serif);background:#b4aac812;border:1px solid #b4aac840;border-radius:2px;padding:10px 14px;font-style:italic}.btn-logout{font-family:var(--gothic);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;color:var(--fg-muted);background:0 0;border:1px solid #b4aac833;border-radius:2px;align-items:center;gap:6px;padding:7px 14px;font-size:.55rem;font-weight:600;transition:all .3s;display:inline-flex}.btn-logout:hover{border-color:var(--silver-lt);color:var(--silver-lt)}.loading-text{text-align:center;color:var(--fg-muted);font-size:.8rem;font-style:italic;font-family:var(--serif);padding:40px 0;animation:1.5s infinite pulse}.empty-text{text-align:center;color:var(--fg-muted);font-size:.8rem;font-style:italic;font-family:var(--serif);padding:40px 0}
