@import "https://fonts.googleapis.com/css2?family=Alex+Brush&family=Cinzel:wght@600;700&family=Great+Vibes&family=Inter:wght@300;400;500;600;700&family=Montserrat:wght@400;600;700&family=Outfit:wght@400;500;600;700;800&family=Pacifico&family=Playfair+Display:ital,wght@0,600;0,700;1,600&family=Sacramento&display=swap";:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg-deep:#f8fafc;--bg-surface:#fff;--bg-card:#ffffffb3;--bg-card-hover:#fffffff2;--glass-bg:#ffffffa6;--border-color:#0f172a14;--border-hover:#0f172a26;--border-active:#8b5cf680;--primary:#7c3aed;--primary-glow:#7c3aed26;--primary-grad:linear-gradient(135deg, #7c3aed 0%, #c084fc 100%);--secondary:#0891b2;--secondary-glow:#0891b226;--secondary-grad:linear-gradient(135deg, #0891b2 0%, #2563eb 100%);--accent-rose:#e11d48;--accent-emerald:#059669;--accent-amber:#d97706;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--font-display:"Outfit", sans-serif;--input-bg:#00000005;--input-bg-hover:#0000000d;--btn-secondary-bg:#00000008;--btn-secondary-hover:#0000000f;--scrollbar-thumb:#00000026;--scrollbar-thumb-hover:#7c3aed;--card-shadow:0 12px 24px #0f172a14;--bg-overlay:#0000000d;--ease-spring:cubic-bezier(.175, .885, .32, 1.275);--ease-smooth:cubic-bezier(.4, 0, .2, 1);--transition-all:all .3s var(--ease-smooth);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;font-weight:400;line-height:1.5}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-deep:#09090b;--bg-surface:#121215;--bg-card:#16161d73;--bg-card-hover:#1e1e2ab3;--glass-bg:#0f0f1499;--border-color:#ffffff14;--border-hover:#ffffff26;--border-active:#8b5cf666;--primary:#8b5cf6;--primary-glow:#8b5cf64d;--primary-grad:linear-gradient(135deg, #8b5cf6 0%, #d946ef 100%);--secondary:#06b6d4;--secondary-glow:#06b6d44d;--secondary-grad:linear-gradient(135deg, #06b6d4 0%, #3b82f6 100%);--accent-rose:#f43f5e;--accent-emerald:#10b981;--accent-amber:#f59e0b;--text-primary:#f4f4f5;--text-secondary:#a1a1aa;--text-muted:#71717a;--input-bg:#ffffff08;--input-bg-hover:#ffffff0f;--btn-secondary-bg:#ffffff0d;--btn-secondary-hover:#ffffff1a;--scrollbar-thumb:#ffffff26;--scrollbar-thumb-hover:#8b5cf6;--card-shadow:0 12px 24px #0006;--bg-overlay:#0006}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-deep);color:var(--text-primary);-webkit-font-smoothing:antialiased;min-height:100dvh;transition:background-color .3s var(--ease-smooth), color .3s var(--ease-smooth);overflow-x:hidden}.glass-panel{background:var(--glass-bg);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-color);transition:var(--transition-all);border-radius:16px}.glass-panel:hover{border-color:var(--border-hover)}.glass-card{background:var(--bg-card);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-color);transition:var(--transition-all);border-radius:12px}.glass-card:hover{background:var(--bg-card-hover);border-color:var(--border-hover);box-shadow:var(--card-shadow);transform:translateY(-2px)}.glass-input{background:var(--input-bg);border:1px solid var(--border-color);color:var(--text-primary);transition:var(--transition-all);border-radius:8px;padding:10px 14px;font-family:inherit}.glass-input:focus{border-color:var(--primary);background:var(--input-bg-hover);box-shadow:0 0 0 3px var(--primary-glow);outline:none}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.02em;font-weight:700}.text-gradient{background:var(--primary-grad);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.text-gradient-cyan{background:var(--secondary-grad);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.btn{cursor:pointer;transition:var(--transition-all);border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-family:inherit;font-size:.9rem;font-weight:600;display:inline-flex}.btn-primary{background:var(--primary-grad);color:#fff;box-shadow:0 4px 14px var(--primary-glow)}.btn-primary:hover{box-shadow:0 6px 20px var(--primary-glow);filter:brightness(1.1);transform:translateY(-1px)}.btn-primary:active{transform:translateY(1px)}.btn-secondary{background:var(--btn-secondary-bg);border:1px solid var(--border-color);color:var(--text-primary)}.btn-secondary:hover{background:var(--btn-secondary-hover);border-color:var(--border-hover)}.btn-accent{background:var(--secondary-grad);color:#fff;box-shadow:0 4px 14px var(--secondary-glow)}.btn-accent:hover{box-shadow:0 6px 20px var(--secondary-glow);filter:brightness(1.1);transform:translateY(-1px)}.btn-danger{color:var(--accent-rose);background:#f43f5e1a;border:1px solid #f43f5e33}.btn-danger:hover{background:#f43f5e33;border-color:#f43f5e66}@keyframes shutter-flash{0%{opacity:0}5%{opacity:.95}30%{opacity:.95}to{opacity:0}}@keyframes upload-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.85;transform:scale(1.03)}}@keyframes neon-pulse{0%,to{box-shadow:0 0 5px var(--primary-glow), 0 0 10px var(--primary-glow)}50%{box-shadow:0 0 15px var(--primary-glow), 0 0 25px var(--primary-glow)}}@keyframes progress-bar{0%{transform:translate(-100%)}to{transform:translate(0%)}}.shutter-flash-overlay{z-index:100;pointer-events:none;opacity:0;background:#fff;position:absolute;inset:0}.shutter-flash-active{animation:.35s ease-out forwards shutter-flash}.upload-active{animation:1.5s ease-in-out infinite upload-pulse}.neon-active{animation:2s infinite neon-pulse}.app-container{background-color:var(--bg-deep);min-height:100dvh;display:flex}.main-content{flex-direction:column;flex:1;gap:24px;min-width:0;max-height:100dvh;padding:30px;display:flex;overflow-y:auto}.masonry-grid{column-count:1;column-gap:16px;width:100%}@media (width>=480px){.masonry-grid{column-count:2}}@media (width>=768px){.masonry-grid{column-count:3}}@media (width>=1200px){.masonry-grid{column-count:4}}.masonry-item{break-inside:avoid;border:1px solid var(--border-color);background:var(--bg-surface);transition:transform .4s var(--ease-spring), border-color .3s;border-radius:12px;margin-bottom:16px;position:relative;overflow:hidden}.masonry-item:hover{border-color:var(--primary);transform:scale(1.02);box-shadow:0 10px 25px #0006}.masonry-item img{width:100%;height:auto;transition:filter .4s var(--ease-smooth);display:block}.masonry-item-overlay{opacity:0;transition:opacity .3s var(--ease-smooth);z-index:2;background:linear-gradient(#0000 0%,#0003 40%,#000c 100%);flex-direction:column;justify-content:flex-end;padding:16px;display:flex;position:absolute;inset:0}.masonry-item:hover .masonry-item-overlay{opacity:1}.slider-container{aspect-ratio:16/10;-webkit-user-select:none;user-select:none;border:1px solid var(--border-color);border-radius:12px;width:100%;position:relative;overflow:hidden}.slider-image-before,.slider-image-after{width:100%;height:100%;position:absolute;top:0;left:0}.slider-image-before img,.slider-image-after img{object-fit:cover;width:100%;height:100%;display:block}.slider-image-before{z-index:1}.slider-image-after{z-index:2;overflow:hidden}.slider-bar{z-index:3;cursor:ew-resize;background:#fff;width:2px;position:absolute;top:0;bottom:0;box-shadow:0 0 10px #00000080}.slider-handle{background:var(--primary);color:#fff;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 4px 10px #0006}.badge{border-radius:4px;align-items:center;gap:4px;padding:4px 8px;font-size:.75rem;font-weight:600;display:inline-flex}.badge-violet{color:#c084fc;background:#8b5cf626;border:1px solid #8b5cf64d}.badge-cyan{color:#22d3ee;background:#06b6d426;border:1px solid #06b6d44d}.badge-emerald{color:#34d399;background:#10b98126;border:1px solid #10b9814d}.badge-rose{color:#fb7185;background:#f43f5e26;border:1px solid #f43f5e4d}.badge-amber{color:#fbbf24;background:#f59e0b26;border:1px solid #f59e0b4d}.switch{flex-shrink:0;width:44px;height:24px;display:inline-block;position:relative}.switch input{opacity:0;width:0;height:0}.switch-slider{cursor:pointer;border:1px solid var(--border-color);background-color:#ffffff1a;border-radius:24px;transition:all .4s;position:absolute;inset:0}.switch-slider:before{content:"";background-color:#fff;border-radius:50%;width:18px;height:18px;transition:all .4s;position:absolute;bottom:2px;left:2px}.switch input:checked+.switch-slider{background:var(--primary-grad);border-color:var(--primary)}.switch input:checked+.switch-slider:before{transform:translate(20px)}@media (width<=768px){.app-container{flex-direction:column}.main-content{gap:16px;max-height:none;padding:16px;overflow-y:visible}.sidebar-desktop{display:none!important}.sidebar-mobile-toggle{display:flex!important}.hide-mobile{display:none!important}}@media (width>=769px){.sidebar-mobile-toggle,.sidebar-mobile-drawer{display:none!important}.sidebar-desktop{display:flex!important}}.sidebar-overlay{z-index:100;opacity:0;visibility:hidden;background:#00000080;transition:all .3s;position:fixed;inset:0}.sidebar-overlay.open{opacity:1;visibility:visible}.sidebar-drawer{z-index:101;background:var(--bg-surface);border-right:1px solid var(--border-color);width:280px;transition:transform .3s var(--ease-smooth);flex-direction:column;gap:20px;padding:20px 16px;display:flex;position:fixed;top:0;bottom:0;left:0;overflow-y:auto;transform:translate(-100%)}.sidebar-drawer.open{transform:translate(0)}@media (width<=768px){.dash-grid{grid-template-columns:1fr!important}.dash-right-panel{display:none!important}.dash-right-panel.mobile-visible{display:flex!important}}@media (width>=769px) and (width<=1024px){.dash-grid{grid-template-columns:1fr 280px!important}}@media (width<=480px){.photo-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))!important;gap:10px!important}}@media (width<=768px){.event-header{flex-direction:column!important;align-items:flex-start!important}.event-actions{justify-content:flex-start!important;width:100%!important}.metrics-grid{grid-template-columns:1fr!important}.glass-panel{border-radius:12px}}@media (width<=480px){.login-container{padding:12px!important}.login-panel{padding:24px 20px!important}}.splash-screen{z-index:9999;background:var(--bg-deep);flex-direction:column;justify-content:center;align-items:center;gap:32px;transition:opacity .6s,visibility .6s;display:flex;position:fixed;inset:0}.splash-screen.fade-out{opacity:0;visibility:hidden;pointer-events:none}.splash-logo{background:var(--primary-grad);width:90px;height:90px;box-shadow:0 0 60px var(--primary-glow);opacity:0;border-radius:22px;justify-content:center;align-items:center;animation:1.2s cubic-bezier(.175,.885,.32,1.5) forwards splash-logo-enter,2s ease-in-out 1.2s infinite alternate splash-glow;display:flex;transform:scale(.5)rotate(-10deg)}@keyframes splash-logo-enter{0%{opacity:0;transform:scale(.5)rotate(-10deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes splash-glow{0%{box-shadow:0 0 40px var(--primary-glow)}to{box-shadow:0 0 80px var(--primary-glow), 0 0 120px #8b5cf626}}.splash-title{font-family:var(--font-display);letter-spacing:-.03em;opacity:0;gap:4px;font-size:2.2rem;font-weight:800;animation:.8s .4s forwards splash-text-in;display:flex}@keyframes splash-text-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.splash-subtitle{color:var(--text-muted);opacity:0;letter-spacing:.15em;text-transform:uppercase;font-size:.85rem;animation:.8s .6s forwards splash-text-in}.splash-loader{background:var(--border-color);opacity:0;border-radius:3px;width:200px;height:3px;animation:.6s .8s forwards splash-text-in;overflow:hidden}.splash-loader-bar{background:var(--primary-grad);border-radius:3px;width:0%;height:100%;animation:2s cubic-bezier(.4,0,.2,1) .9s forwards splash-load}@keyframes splash-load{0%{width:0%}50%{width:70%}to{width:100%}}.splash-tagline{color:var(--text-muted);opacity:0;text-align:center;max-width:280px;font-size:.7rem;line-height:1.6;animation:.8s 1.2s forwards splash-text-in}.page-enter{animation:.4s forwards page-in}@keyframes page-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.glass-card{transition:transform .3s cubic-bezier(.175,.885,.32,1.275),box-shadow .3s,border-color .3s!important}.glass-card:hover{transform:translateY(-3px);border-color:#8b5cf640!important;box-shadow:0 16px 32px #00000040,0 0 0 1px #8b5cf61a!important}.glass-card:active{transform:translateY(-1px)}.photo-grid .glass-card{cursor:pointer}.photo-grid .glass-card img{transition:transform .5s cubic-bezier(.175,.885,.32,1.275),filter .3s}.photo-grid .glass-card:hover img{transform:scale(1.05)}.photo-grid .glass-card .photo-overlay{opacity:0;transition:opacity .3s}.photo-grid .glass-card:hover .photo-overlay{opacity:1!important}.skeleton{background:linear-gradient(90deg, var(--bg-card) 25%, #8b5cf60d 50%, var(--bg-card) 75%);background-size:200% 100%;border-radius:8px;animation:1.5s ease-in-out infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-sm{width:60%;height:12px;margin-bottom:8px}.skeleton-md{width:80%;height:16px;margin-bottom:10px}.skeleton-lg{width:90%;height:24px;margin-bottom:12px}.skeleton-block{width:100%;height:150px;margin-bottom:12px}.skeleton-thumb{aspect-ratio:3/4;border-radius:10px;width:100%}.skeleton-avatar{border-radius:50%;width:40px;height:40px}.slideshow-container{width:100%;height:100%;position:relative;overflow:hidden}.slideshow-image{object-fit:contain;opacity:0;width:100%;height:100%;transition:opacity .8s,transform .8s;position:absolute;inset:0;transform:scale(.95)}.slideshow-image.active{opacity:1;transform:scale(1)}.slideshow-controls{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#00000080;border:1px solid #ffffff1a;border-radius:30px;align-items:center;gap:12px;padding:8px 16px;display:flex;position:absolute;bottom:20px;left:50%;transform:translate(-50%)}.slideshow-dot{cursor:pointer;background:#ffffff4d;border:none;border-radius:50%;width:6px;height:6px;padding:3px;transition:all .3s}.slideshow-dot.active{background:var(--primary);border-radius:3px;width:24px}.watermark-overlay{pointer-events:none;opacity:0;background:linear-gradient(#0000 60%,#0006 100%);justify-content:flex-end;align-items:flex-end;padding:12px;transition:opacity .3s;display:flex;position:absolute;inset:0}.glass-card:hover .watermark-overlay{opacity:1}.watermark-text{font-family:var(--font-display);color:#ffffffb3;letter-spacing:.05em;text-shadow:0 1px 4px #00000080;align-items:center;gap:4px;font-size:.65rem;font-weight:700;display:flex}.empty-state-premium{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:20px;padding:60px 20px;display:flex}.empty-state-icon{background:linear-gradient(135deg,#8b5cf61a,#06b6d41a);border:1px solid #8b5cf626;border-radius:50%;justify-content:center;align-items:center;width:100px;height:100px;animation:3s ease-in-out infinite float-icon;display:flex}@keyframes float-icon{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.empty-state-title{color:var(--text-primary);font-size:1.1rem;font-weight:700}.empty-state-desc{color:var(--text-secondary);max-width:320px;font-size:.85rem;line-height:1.6}.premium-toast{background:var(--bg-surface);border:1px solid var(--border-color);z-index:999;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:12px;align-items:center;gap:10px;padding:12px 24px;font-size:.85rem;font-weight:600;transition:transform .4s cubic-bezier(.175,.885,.32,1.275);display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)translateY(100px);box-shadow:0 12px 32px #0000004d}.premium-toast.show{transform:translate(-50%)translateY(0)}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.btn{position:relative;overflow:hidden;transition:all .25s cubic-bezier(.175,.885,.32,1.275)!important}.btn:active{transform:scale(.96)}.btn:after{content:"";opacity:0;background:#ffffff1a;transition:opacity .3s;position:absolute;inset:0}.btn:hover:after{opacity:1}.premium-gallery-header{border-bottom:1px solid var(--border-color);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(135deg,#8b5cf614,#06b6d414)}.flex-shrink-min{min-width:0;min-height:0}.retouch-layout{flex:1;grid-template-columns:1fr 300px;gap:20px;min-height:0;display:grid}@media (width<=768px){.retouch-layout{grid-template-columns:1fr}}.guest-gallery-wrap{flex-direction:column;gap:24px;width:100%;max-width:1200px;margin:0 auto;padding:20px;display:flex}@media (width<=768px){.guest-gallery-wrap{gap:16px;padding:12px}}.retouch-sidebar{flex-direction:column;flex-shrink:0;gap:16px;width:300px;max-height:calc(100vh - 100px);padding-right:4px;display:flex;overflow-y:auto}@media (width<=768px){.retouch-sidebar{width:100%;max-height:none;overflow-y:visible}}.slider-wrap{aspect-ratio:16/9;width:100%;max-height:50vh;position:relative}@media (width<=768px){.slider-wrap{max-height:30vh}}.retouch-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}@media (width<=480px){.retouch-header{flex-direction:column;align-items:flex-start}}
