@import url(https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;600;700&family=Inter:wght@300;400;500&display=swap);@import url(https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;0,700;1,400&family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,400&family=Inter:wght@300;400;500;600&display=swap);:root{--color-primary-text:#5a4d3a;--color-secondary-text:#8b7d6b;--color-accent:#c7aa7a;--color-accent-hover:#b29861;--color-system-primary:#8b5cf6;--color-system-primary-hover:#7c3aed;--color-success:#10b981;--color-success-hover:#059669;--color-warning:#f59e0b;--color-warning-hover:#d97706;--color-error:#ef4444;--color-error-hover:#dc2626;--color-pending:#fbbf24;--color-pending-hover:#f59e0b;--color-bg-primary:#fefcf8;--color-bg-secondary:#faf7f2;--color-bg-tertiary:#f8f5f0;--color-bg-card:#fff;--color-bg-card-secondary:#fefcf9;--color-section-white:#fff;--color-section-cream:#fefcf8;--color-section-beige:#faf7f2;--color-section-light:#f8f5f0;--color-border-light:#d8c3a54d;--color-border-medium:#8b735533;--color-border-accent:#c7aa7a4d;--shadow-light:#4a1a3e14;--shadow-medium:#4a1a3e26;--shadow-heavy:#4a1a3e4d;--shadow-accent:#c7aa7a4d;--gradient-background:linear-gradient(135deg,var(--color-bg-primary) 0%,var(--color-bg-secondary) 50%,var(--color-bg-tertiary) 100%);--gradient-accent:linear-gradient(135deg,var(--color-accent) 0%,var(--color-accent-hover) 100%);--gradient-card:linear-gradient(135deg,var(--color-bg-card) 0%,var(--color-bg-card-secondary) 100%);--gradient-system:linear-gradient(135deg,var(--color-system-primary) 0%,var(--color-system-primary-hover) 100%);--gradient-success:linear-gradient(135deg,var(--color-success) 0%,var(--color-success-hover) 100%);--gradient-warning:linear-gradient(135deg,var(--color-warning) 0%,var(--color-warning-hover) 100%);--gradient-error:linear-gradient(135deg,var(--color-error) 0%,var(--color-error-hover) 100%);--gradient-wedding-background:linear-gradient(135deg,#fefcf8f2,#f5f1eaf2);--gradient-elegant-card:linear-gradient(135deg,#fdfcfa,#f7f3ec);--gradient-warm-card:linear-gradient(135deg,#fff,#fefcf9);--gradient-light-card:linear-gradient(135deg,#fff,#faf9ff);--gradient-overlay:linear-gradient(135deg,#fefcf8f2,#f5f1eaf2);--gradient-overlay-light:linear-gradient(135deg,#fefcf8e6,#fdfaf7f2 50%,#fcf7f3e6);--gradient-line-accent:linear-gradient(90deg,#0000 0%,var(--color-accent) 50%,#0000 100%);--gradient-line-decorative:linear-gradient(90deg,var(--color-accent) 0%,#d8c3a5 50%,var(--color-accent) 100%);--gradient-shimmer:linear-gradient(90deg,#0000,#ffffff4d,#0000);--gradient-shimmer-loading:linear-gradient(90deg,#0000 25%,#fff6 37%,#0000 63%);--gradient-error-warning:linear-gradient(135deg,#fef3cd,#fef3cd);--gradient-error-danger:linear-gradient(135deg,#fee2e2,#fecaca);--gradient-error-severe:linear-gradient(135deg,#fee2e2,#fef2f2);--gradient-error-partial:linear-gradient(135deg,#fed7aa,#fdba74);--gradient-error-info:linear-gradient(135deg,#e5e7eb,#d1d5db);--gradient-sidebar-bg:linear-gradient(180deg,#f7f3ec,#fff);--gradient-sidebar-item:linear-gradient(135deg,#f5f1ff,#f5f1ea);--gradient-sidebar-active:linear-gradient(135deg,#ede7dc,#e1dcd1);--gradient-sidebar-hover:linear-gradient(135deg,#e6d2b3,#d8c3a5);--gradient-sidebar-logo:linear-gradient(180deg,#d8c3a5 0%,var(--color-accent) 100%);--gradient-text-elegant:linear-gradient(135deg,#5a4d3a,#6b5b47 25%,#7a6a54 50%,#8a7960 75%,#9a886c);--gradient-text-accent:linear-gradient(135deg,#c7aa7a,#b29861);--gradient-text-highlight:linear-gradient(135deg,var(--color-accent) 0%,var(--color-accent-hover) 100%);--gradient-dark-cta:linear-gradient(135deg,#4a1a3ee6,#2d1127f2);--gradient-dark-footer:linear-gradient(135deg,#2d1127,#1a0a16);--gradient-dark-muted:linear-gradient(135deg,#8b7d6b,#6b4e58);--gradient-neutral-card:linear-gradient(135deg,#f7fafc,#edf2f7);--gradient-light-highlight:linear-gradient(135deg,#fffbf0,#fef3c7);--gradient-system-deep:linear-gradient(135deg,#7c3aed,#6d28d9);--gradient-muted-card:linear-gradient(135deg,#f3f4f6,#e5e7eb);--font-primary:"Playfair Display",serif;--font-secondary:"Cormorant Garamond",serif;--font-system:"Inter",sans-serif;--font-code:source-code-pro,Menlo,Monaco,Consolas,"Courier New",monospace;--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--spacing-3xl:4rem;--section-padding-y:6rem;--section-padding-y-small:4rem;--section-padding-x:2rem;--section-gap:0;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-2xl:24px;--radius-3xl:32px;--transition-fast:0.2s ease;--transition-normal:0.3s ease;--transition-slow:0.4s ease;--transition-elegant:0.3s cubic-bezier(0.25,0.46,0.45,0.94);--shadow-card:0 4px 20px var(--shadow-light),0 2px 8px var(--shadow-light);--shadow-card-hover:0 8px 32px var(--shadow-medium),0 4px 16px var(--shadow-light);--shadow-elegant:0 20px 48px var(--shadow-heavy),0 8px 24px var(--shadow-medium),inset 0 1px 0 #ffffffe6;--shadow-button:0 8px 24px var(--shadow-accent),inset 0 1px 0 #fff3;--shadow-button-hover:0 12px 32px var(--shadow-accent),inset 0 1px 0 #ffffff4d;--shadow-button-primary:0 8px 32px #c7aa7a4d,inset 0 1px 0 #fff3,inset 0 -1px 0 #0000001a;--shadow-button-primary-hover:0 12px 40px #c7aa7a66,0 0 30px #c7aa7a33,inset 0 1px 0 #ffffff4d,inset 0 -1px 0 #0000001a;--shadow-button-elegant:0 8px 32px #4a1a3e14,0 4px 16px #8b73550f,inset 0 1px 0 #ffffffe6;--shadow-button-elegant-hover:0 12px 40px #4a1a3e1f,0 6px 20px #8b73551a,inset 0 1px 0 #fffffff2}@media (prefers-color-scheme:dark){:root{--color-primary-text:#f9fafb;--color-secondary-text:#d1d5db;--color-bg-primary:#1f2937;--color-bg-secondary:#111827;--color-bg-tertiary:#0f172a;--color-bg-card:#374151;--color-bg-card-secondary:#1f2937}}@keyframes float-crown{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes float-complex{0%,to{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-20px) rotate(180deg)}}.loading-spinner.small{height:18px;width:18px}.loading-spinner.medium,.loading-spinner.small{border:2px solid #8b7d6b33;border-top-color:#8b7d6b}.loading-spinner.medium{height:24px;width:24px}.loading-spinner.large{border:4px solid #8b7d6b33;border-top-color:#c7aa7a;height:60px;width:60px}.loading-spinner.extra-large{border:6px solid #8b7d6b33;border-top-color:#c7aa7a;height:80px;width:80px}.elegant-loading-spinner{border:4px solid #e91e6333;border-top-color:#c7aa7a;height:60px;margin-bottom:1.5rem;width:60px}.elegant-loading-spinner.large{border-width:6px;height:80px;width:80px}.loading-container{min-height:200px}.loading-container.full-height{height:60vh}.loading-text{margin-top:1rem}.loading-text.small{font-size:.875rem;margin-top:.5rem}.retry-spinner .loading-spinner{border-top-color:#f59e0b}.loading-spinner.primary{border:2px solid #3b82f633;border-top-color:#3b82f6}.loading-spinner.success{border:2px solid #10b98133;border-top-color:#10b981}.loading-spinner.warning{border:2px solid #fbbf2433;border-top-color:#f59e0b}.loading-spinner.error{border:2px solid #ef444433;border-top-color:#ef4444}.stat-card{gap:var(--spacing-md);padding:var(--spacing-lg)}.button{align-items:center;border-radius:var(--radius-sm);display:inline-flex;font-family:var(--font-system);font-size:1rem;font-weight:600;gap:.75rem;justify-content:center;min-height:40px;overflow:hidden;padding:.75rem 1.5rem;position:relative;text-decoration:none;transition:var(--transition-elegant);white-space:nowrap}.button.primary{background:var(--gradient-accent);border:1px solid #ffffff1a;box-shadow:0 2px 8px #c7aa7a33;color:#fff}.button.primary:hover{background:var(--gradient-accent);box-shadow:0 4px 12px #c7aa7a4d;transform:translateY(-1px)}.button.secondary{background:var(--color-bg-card);border:2px solid var(--color-border-light);box-shadow:var(--shadow-card);color:var(--color-primary-text)}.button.secondary:hover{background:var(--gradient-warm-card);border-color:var(--color-accent);box-shadow:var(--shadow-card-hover);transform:translateY(-1px)}.cta-button{border-radius:var(--radius-lg);font-family:var(--font-system);transition:var(--transition-elegant)}.cta-button.primary{box-shadow:var(--shadow-button-primary)}.cta-button.primary:hover{box-shadow:var(--shadow-button-primary-hover);transform:translateY(-2px)}.cta-button.secondary{background:var(--gradient-warm-card);border:2px solid var(--color-border-medium);box-shadow:var(--shadow-card);color:var(--color-primary-text)}.cta-button.secondary:hover{background:var(--color-bg-card);border-color:var(--color-accent);box-shadow:var(--shadow-card-hover)}.menu-button{border:none;border:2px solid var(--color-border-medium);border-radius:var(--radius-xl);box-shadow:var(--shadow-button-elegant);transition:var(--transition-elegant)}.menu-button:hover{border-color:var(--color-border-accent);box-shadow:var(--shadow-button-elegant-hover)}.elegant-action-button{border-radius:var(--radius-md);display:inline-flex;font-family:var(--font-system);font-size:.9rem;gap:.5rem;min-width:100px;padding:.875rem 1.5rem;transition:var(--transition-elegant)}.elegant-action-button.approve{box-shadow:0 8px 24px #10b9814d;color:#fff}.elegant-action-button.approve:hover{box-shadow:0 12px 32px #10b98166}.elegant-action-button.reject{box-shadow:0 8px 24px #ef44444d;color:#fff}.elegant-action-button.reject:hover{box-shadow:0 12px 32px #ef444466}.button.small{font-size:.875rem;min-height:32px;padding:.5rem 1rem}.elegant-action-button.small{font-size:.8rem;min-width:80px;padding:.625rem 1.25rem}.button.large{font-size:1.125rem;min-height:48px;padding:1rem 2rem}.button:disabled,.cta-button:disabled,.elegant-action-button:disabled,.menu-button:disabled{background:#b6b6b64d!important;border-color:#b6b6b633!important;box-shadow:none!important;color:#999!important;cursor:not-allowed!important;transform:none!important}.button:disabled:hover,.cta-button:disabled:hover,.elegant-action-button:disabled:hover,.menu-button:disabled:hover{box-shadow:none!important;transform:none!important}.button.loading,.cta-button.loading,.elegant-action-button.loading{color:#0000!important;position:relative}.button.loading:after,.cta-button.loading:after,.elegant-action-button.loading:after{animation:spin 1s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;content:"";height:18px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:18px}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{background-position:50%;background-repeat:no-repeat;background-size:100vw 100vh;min-height:100vh;width:100%}@media (max-width:767px){.App{background-position:top;background-size:cover;min-height:100dvh}}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f3ede0;font-family:Roboto,-apple-system,ヒラギノ角ゴ ProN W3,Hiragino Kaku Gothic ProN,Meiryo,sans-serif;height:100%;margin:0}.button{background-color:#c7aa7a;border:none;border-radius:8px;box-shadow:0 2px 8px #c8aa7a33;color:#fff;cursor:pointer;font-size:16px;padding:12px;transition:background-color .3s;width:100%}.button:hover{background-color:#b29861;box-shadow:0 4px 12px #c8aa7a4d}.input{background:#fff;border:1px solid #d8c3a5;border-radius:8px;color:#4a4037;font-size:14px;margin-bottom:15px;padding:12px;transition:border-color .3s;width:100%}.input:focus{background:#fff;border-color:#c7aa7a;outline:none}.card{align-items:center;background:var(--color-bg-card);border:1px solid var(--color-border-light);border-radius:var(--radius-md);box-shadow:var(--shadow-card);display:flex;flex-direction:column;padding:2.5rem 1.875rem;transition:var(--transition-elegant);width:320px}.card:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-2px)}.title{color:#8b7355;margin-bottom:10px}.subtitle,.title{font-family:Georgia,"serif";text-align:center}.subtitle{color:#6b5e4f}.link{color:#8b7355;text-decoration:none;transition:color .3s}.link:hover{color:#6b5e4f}.upload-section{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center;overflow:hidden;width:100%}.upload-card{height:10%;width:80%}.upload-attention .upload-process{font-family:Klee One,cursive;font-style:normal;font-weight:400}.upload-title{font-family:Klee One,serif;font-style:normal;font-weight:400}.upload-card p{margin:1px}.upload-title{font-size:30px}.upload-process{font-size:13px;white-space:nowrap}.upload-attention{font-size:10px;font-weight:700}li{font-size:11px}ul{margin:0;padding-left:15px}.upload-message{align-items:center;color:#6b5e4f;display:flex;flex-direction:column;font-size:15px;font-style:normal;font-weight:400;justify-content:center;line-height:17px;padding:18px}.upload-message p{margin:5px}.admin{padding:1px 20px}.section{height:100vh;height:101.5dvh;justify-content:center;overflow:hidden;width:100vw}.section,.upload-card{align-items:center;display:flex;flex-direction:column}.upload-card{background:var(--color-bg-card);border:1px solid var(--color-border-light);border-radius:var(--radius-md);box-shadow:var(--shadow-card);height:80vh;height:74dvh;padding:2.5rem 1.875rem;transition:var(--transition-elegant);width:320px;width:80vw}body:has(.section),body:has(.upload-section){height:100%;overflow:hidden}html:has(.section),html:has(.upload-section){height:100%;overflow:hidden}@keyframes moveUp{0%{bottom:37%;opacity:0}1%{bottom:37%;opacity:1}20%{bottom:37%;opacity:1}40%{bottom:90%;opacity:0}to{bottom:37%;opacity:0}}.swipe-animation-image-container{align-items:center;display:flex;justify-content:center;margin-left:50%;overflow:hidden;position:absolute;width:100%;z-index:1000}.swipe-animation-image{animation:moveUp linear infinite;bottom:50%;position:absolute}.lazy-image-container{background-color:#f3f4f6;border-radius:4px;height:100%;width:100%}.lazy-image-container.high{background-color:#fef3c7;border:1px solid #f59e0b}.lazy-image-container.medium{background-color:#f3f4f6}.lazy-image-container.low{background-color:#f9fafb;border:1px solid #e5e7eb}.lazy-placeholder{align-items:center;animation:shimmer 1.5s ease-in-out infinite;background:linear-gradient(90deg,#f0f0f0 25%,#0000 37%,#f0f0f0 63%);background-size:400% 100%;display:flex;height:100%;justify-content:center;width:100%}.skeleton-shimmer{background:#e5e7eb;border-radius:8px;height:60%;width:60%}.custom-placeholder{color:#9ca3af;font-size:2rem;opacity:.8}.lazy-loading{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#f3f4f6e6;display:flex;flex-direction:column;height:100%;justify-content:center;position:relative;width:100%}.loading-shimmer{animation:loading-shimmer 2s ease-in-out infinite;background:linear-gradient(90deg,#0000 25%,#fff6 37%,#0000 63%);background-size:400% 100%;bottom:0;left:0;position:absolute;right:0;top:0}.loading-spinner{margin-bottom:.5rem;z-index:2}.loading-progress{color:#6b7280;font-size:.75rem;font-weight:500;text-align:center;z-index:2}.spinner{border:2px solid #3b82f633;border-top-color:#3b82f6;height:24px;width:24px}.lazy-retrying{align-items:center;background:#fbbf241a;border:1px solid #fbbf244d;display:flex;flex-direction:column;height:100%;justify-content:center;width:100%}.retry-spinner{margin-bottom:.5rem}.retry-spinner .spinner{border-top-color:#f59e0b}.retry-message{color:#d97706;font-size:.75rem;font-weight:600;text-align:center}.lazy-error{align-items:center;background-color:#fef2f2;border:1px solid #fecaca;color:#dc2626;display:flex;flex-direction:column;height:100%;justify-content:center;padding:1rem;text-align:center;width:100%}.error-icon{font-size:2rem;margin-bottom:.5rem;opacity:.6}.error-content{flex-direction:column;gap:.25rem}.error-detail{font-size:.75rem;font-weight:400;opacity:.8}.lazy-image{object-fit:contain;object-position:center;transition:opacity .3s ease-in-out,transform .2s ease}.lazy-image.loading{opacity:0}.lazy-image.loaded{opacity:1}.lazy-image.priority-high{filter:brightness(1.02) contrast(1.01)}.lazy-image.priority-low{filter:brightness(.98)}.lazy-image-container:hover .lazy-image.loaded{transform:scale(1.02)}.lazy-image-container[data-priority=high] .lazy-image{image-rendering:high-quality}.lazy-image-container[data-priority=low] .lazy-image{image-rendering:optimizeSpeed}@keyframes loading-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@media (max-width:768px){.spinner{border-width:1.5px;height:20px;width:20px}.loading-progress,.retry-message{font-size:.6875rem}.error-message{font-size:.75rem}.error-detail{font-size:.6875rem}.custom-placeholder,.error-icon{font-size:1.5rem}}@media (prefers-reduced-motion:reduce){.lazy-image,.lazy-placeholder,.loading-shimmer,.spinner{animation:none;transition:none}.lazy-image-container:hover .lazy-image.loaded{transform:none}}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){.lazy-image-container[data-priority=high] .lazy-image{image-rendering:crisp-edges}}@media (prefers-color-scheme:dark){.lazy-image-container{background-color:#374151}.lazy-image-container.high{background-color:#451a03;border-color:#92400e}.lazy-image-container.medium{background-color:#374151}.lazy-image-container.low{background-color:#1f2937;border-color:#4b5563}.skeleton-shimmer{background:#4b5563}.lazy-loading{background:#374151e6}.loading-progress{color:#d1d5db}.lazy-error{background-color:#450a0a;border-color:#7f1d1d;color:#fca5a5}.lazy-retrying{background:#92400e1a;border-color:#92400e4d}.retry-message{color:#fbbf24}}.error-boundary-wrapper{height:100%;position:relative;width:100%}.error-boundary-wrapper.retrying{position:relative}.retry-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffffe6;bottom:0;display:flex;flex-direction:column;gap:1rem;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:1000}.retry-overlay span{color:#6b7280;font-size:.875rem;font-weight:500}.error-boundary{background:linear-gradient(135deg,#fef2f2,#fee2e2);border:1px solid #fecaca;width:100%}.error-content{background:#fff;border:1px solid #f3f4f6;border-radius:12px;box-shadow:0 10px 25px #0000001a;max-width:600px}.error-icon{align-items:center;display:flex;justify-content:center}.error-title{color:#1f2937;font-size:1.5rem;font-weight:700}.error-description{color:#6b7280;font-size:1rem;line-height:1.6;margin:0 0 2rem}.error-details{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin:1.5rem 0;text-align:left}.error-details summary{background:#f3f4f6;border-bottom:1px solid #e5e7eb;border-radius:8px 8px 0 0;color:#374151;cursor:pointer;font-weight:600;padding:1rem;transition:background-color .2s ease}.error-details summary:hover{background:#e5e7eb}.error-details[open] summary{border-radius:8px 8px 0 0}.error-info{max-height:300px;overflow-y:auto;padding:1rem}.error-section{margin-bottom:1.5rem}.error-section:last-child{margin-bottom:0}.error-section h4{color:#374151;font-size:.875rem;font-weight:600;margin:0 0 .5rem}.error-section pre{background:#1f2937;border:1px solid #374151;border-radius:6px;color:#f9fafb;font-size:.75rem;line-height:1.5;margin:0;overflow-x:auto;padding:1rem;white-space:pre-wrap;word-break:break-word}.error-actions{flex-wrap:wrap;gap:.75rem;justify-content:center;margin-bottom:1rem}.action-btn,.retry-btn{align-items:center;border:none;border-radius:8px;color:inherit;cursor:pointer;display:flex;font-size:.875rem;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;text-decoration:none;transition:all .2s ease}.retry-btn.primary{background:#3b82f6;box-shadow:0 2px 4px #3b82f633;color:#fff}.retry-btn.primary:hover:not(:disabled){background:#2563eb;box-shadow:0 4px 8px #3b82f64d;transform:translateY(-1px)}.retry-btn.primary:disabled{background:#9ca3af;box-shadow:none;cursor:not-allowed;transform:none}.action-btn.secondary{background:#f3f4f6;border:1px solid #d1d5db;color:#374151}.action-btn.secondary:hover{background:#e5e7eb;border-color:#9ca3af;transform:translateY(-1px)}.retry-info{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;color:#6b7280;font-size:.75rem;font-weight:500;padding:.75rem}@media (max-width:768px){.error-boundary{min-height:300px;padding:1rem}.error-content{padding:1.5rem 1rem}.error-title{font-size:1.25rem}.error-description{font-size:.875rem}.error-actions{align-items:stretch;flex-direction:column}.action-btn,.retry-btn{justify-content:center;padding:.875rem 1rem}.error-section pre{font-size:.6875rem;padding:.75rem}}@media (max-width:480px){.error-boundary{padding:.5rem}.error-content{padding:1rem .75rem}.error-icon{margin-bottom:1rem}.error-title{font-size:1.125rem}.error-description{font-size:.8125rem;margin-bottom:1.5rem}.error-details{margin:1rem 0}.error-info{max-height:200px}}@media (prefers-reduced-motion:reduce){.action-btn,.retry-btn,.spinning{animation:none;transition:none}.action-btn.secondary:hover,.retry-btn.primary:hover:not(:disabled){transform:none}}@media (prefers-color-scheme:dark){.error-boundary{background:linear-gradient(135deg,#450a0a,#7f1d1d);border-color:#7f1d1d}.error-content{background:#1f2937;border-color:#374151;color:#f9fafb}.error-title{color:#f9fafb}.error-description{color:#d1d5db}.error-details{background:#111827;border-color:#374151}.error-details summary{background:#1f2937;border-bottom-color:#374151;color:#f9fafb}.error-details summary:hover{background:#374151}.error-section h4{color:#f3f4f6}.error-section pre{background:#0f172a;border-color:#1e293b;color:#e2e8f0}.action-btn.secondary{background:#374151;border-color:#4b5563;color:#f9fafb}.action-btn.secondary:hover{background:#4b5563;border-color:#6b7280}.retry-info{background:#1f2937;border-color:#374151;color:#d1d5db}.retry-overlay{background:#1f2937e6}.retry-overlay span{color:#d1d5db}}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){.error-section pre{font-size:.8125rem}}.floating-contact-button{background:linear-gradient(135deg,#ff6b9d,#c44569);border-radius:50px;bottom:20px;box-shadow:0 8px 32px #ff6b9d66,0 4px 16px #0000001a;color:#fff;cursor:pointer;left:50%;opacity:0;padding:12px 24px;position:fixed;transform:translateX(-50%) translateY(100px);transition:all .4s cubic-bezier(.23,1,.32,1);-webkit-user-select:none;user-select:none;visibility:hidden;will-change:transform,box-shadow;z-index:1000}.floating-contact-button.visible{opacity:1;transform:translateX(-50%) translateY(0);visibility:visible}.floating-contact-button:hover{box-shadow:0 12px 40px #ff6b9d80,0 8px 24px #00000026;transform:translateX(-50%) translateY(-4px)}.floating-contact-button:active{transform:translateX(-50%) translateY(-2px);transition-duration:.1s}.floating-button-content{align-items:center;display:flex;gap:8px;position:relative;z-index:2}.floating-button-icon{align-items:center;display:flex;justify-content:center}.floating-button-text{font-size:14px;font-weight:600;letter-spacing:.5px;white-space:nowrap}.floating-button-arrow{align-items:center;animation:bounceArrow 2s ease-in-out infinite;display:flex;justify-content:center}@keyframes bounceArrow{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(3px)}60%{transform:translateY(1px)}}.floating-button-ripple{animation:ripple 2s ease-out infinite;background:#ffffff4d;border-radius:50%;height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:0}@keyframes ripple{0%{height:0;opacity:1;width:0}to{height:200px;opacity:0;width:200px}}.floating-contact-button:focus{ring:3px solid #ff6b9d4d;ring-offset:2px;outline:none}@media (max-width:1024px){.floating-contact-button{bottom:16px;padding:10px 20px}.floating-button-text{font-size:13px}}@media (max-width:768px){.floating-contact-button{border-radius:40px;bottom:12px;padding:8px 16px}.floating-button-content{gap:6px}.floating-button-text{font-size:12px}.floating-button-icon svg{height:18px;width:18px}.floating-button-arrow svg{height:14px;width:14px}}@media (max-width:480px){.floating-contact-button{bottom:10px;padding:6px 12px}.floating-button-text{font-size:11px}}@media (prefers-reduced-motion:reduce){.floating-button-arrow,.floating-button-ripple,.floating-contact-button{animation:none;transition:opacity .3s ease}.floating-contact-button:hover{transform:translateX(-50%) translateY(0)}}@media (prefers-color-scheme:dark){.floating-contact-button{background:linear-gradient(135deg,#e73c7e,#23a6d5);box-shadow:0 8px 32px #e73c7e66,0 4px 16px #0003}.floating-contact-button:hover{box-shadow:0 12px 40px #e73c7e80,0 8px 24px #0000004d}}.header-bar{align-items:center;display:flex;justify-content:space-between;left:0;padding:1rem 1.5rem;position:fixed;right:0;top:0;z-index:140}.hamburger-button{background:linear-gradient(135deg,#1a1a1a,#000);box-shadow:0 4px 16px #0000004d,0 2px 8px #0003;padding:.75rem;position:static;z-index:150}.hamburger-button,.login-button{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid #ffffff1a;border-radius:12px;color:#fff;cursor:pointer;transition:all .3s ease}.login-button{align-items:center;background:linear-gradient(135deg,#2d1b69,#1a0f40);box-shadow:0 4px 16px #2d1b694d,0 2px 8px #2d1b6933;display:flex;font-family:Inter,sans-serif;font-size:.95rem;font-weight:500;gap:.5rem;padding:.75rem 1.25rem}.hamburger-button:hover{background:linear-gradient(135deg,#2a2a2a,#1a1a1a);box-shadow:0 6px 20px #0006,0 3px 12px #0000004d;transform:scale(1.05)}.login-button:hover{background:linear-gradient(135deg,#3d2b79,#2a1550);box-shadow:0 6px 20px #2d1b6966,0 3px 12px #2d1b694d;transform:scale(1.05)}.hamburger-button:focus{outline:2px solid #ffffff80;outline-offset:2px}.hamburger-button:active{transform:scale(.95)}.login-button:focus{outline:2px solid #ffffff80;outline-offset:2px}.login-button:active{transform:scale(.95)}.menu-overlay{animation:fadeIn .3s ease;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#000c;bottom:0;left:0;z-index:200}.menu-overlay,.mobile-menu{position:fixed;right:0;top:0}.mobile-menu{animation:slideIn .3s ease;background:linear-gradient(135deg,#1a1a1a,#000);border-left:1px solid #ffffff1a;box-shadow:-4px 0 20px #00000080;height:100vh;max-width:85vw;overflow-y:auto;width:400px}@keyframes slideIn{0%{transform:translateX(100%)}to{transform:translateX(0)}}.mobile-menu-header{align-items:center;border-bottom:1px solid #ffffff1a;display:flex;justify-content:space-between;padding:2rem}.mobile-menu-header h3{color:#fff;font-family:Inter,sans-serif;font-size:1.5rem;font-weight:600;margin:0}.close-button{background:none;border:none;border-radius:8px;color:#fff;cursor:pointer;padding:.5rem;transition:all .3s ease}.close-button:hover{background:#ffffff1a;transform:scale(1.05)}.close-button:focus{outline:2px solid #ffffff80;outline-offset:2px}.mobile-menu-list{list-style:none;margin:0;padding:1rem 0}.mobile-menu-list li{margin:0}.menu-scroll-button,.mobile-menu-list li a{align-items:center;background:none;border:none;border-bottom:1px solid #ffffff0d;color:#fff;cursor:pointer;display:flex;font-family:Inter,sans-serif;font-size:1.1rem;font-weight:500;gap:1rem;padding:1.25rem 2rem;text-align:left;text-decoration:none;transition:all .3s ease;width:100%}.menu-scroll-button:hover,.mobile-menu-list li a:hover{background:#ffffff1a;padding-left:2.5rem}.menu-scroll-button:focus,.mobile-menu-list li a:focus{outline:2px solid #ffffff80;outline-offset:-2px}.mobile-menu-list li a.active{background:#ffffff26;border-left:4px solid #fff;padding-left:1.75rem}@media (max-width:768px){.header-bar{padding:1rem}.hamburger-button{padding:.6rem}.login-button{font-size:.9rem;padding:.6rem 1rem}.mobile-menu{width:85vw}.mobile-menu-header{padding:1.5rem}.mobile-menu-header h3{font-size:1.25rem}.menu-scroll-button,.mobile-menu-list li a{font-size:1rem;padding:1rem 1.5rem}.menu-scroll-button:hover,.mobile-menu-list li a:hover{padding-left:2rem}.mobile-menu-list li a.active{padding-left:1.25rem}}@media (max-width:480px){.header-bar{padding:.75rem}.hamburger-button{padding:.5rem}.login-button{font-size:.85rem;padding:.5rem .75rem}.mobile-menu{width:90vw}.mobile-menu-header{padding:1rem}.mobile-menu-header h3{font-size:1.125rem}.menu-scroll-button,.mobile-menu-list li a{font-size:.95rem;padding:.875rem 1rem}.menu-scroll-button:hover,.mobile-menu-list li a:hover{padding-left:1.5rem}.mobile-menu-list li a.active{padding-left:.75rem}}@media (min-width:1200px){.mobile-menu{width:450px}.mobile-menu-header h3{font-size:1.75rem}.menu-scroll-button,.mobile-menu-list li a{font-size:1.2rem;padding:1.5rem 2.5rem}.menu-scroll-button:hover,.mobile-menu-list li a:hover{padding-left:3rem}.mobile-menu-list li a.active{padding-left:2.25rem}}@media (prefers-reduced-motion:reduce){.close-button,.hamburger-button,.menu-overlay,.menu-scroll-button,.mobile-menu,.mobile-menu-list li a{animation:none!important;transition:none!important}}.mobile-menu:focus-within{outline:none}.mobile-menu::-webkit-scrollbar{width:4px}.mobile-menu::-webkit-scrollbar-track{background:#ffffff1a}.mobile-menu::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:2px}.mobile-menu::-webkit-scrollbar-thumb:hover{background:#ffffff80}.feature-benefits{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-top:1.5rem}.benefit-tag{background:var(--gradient-text-accent);border-radius:20px;box-shadow:0 2px 8px #c7aa7a4d;color:#fff;font-family:Inter,sans-serif;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .3s ease}.workflow-section{margin:6rem;text-align:center}.workflow-title{color:#5a4d3a;font-family:Crimson Pro,serif;font-size:2rem;font-weight:600;margin:0 0 3rem;text-align:center}.workflow-steps{flex-wrap:wrap;gap:2rem;justify-content:center;margin:0 auto;max-width:800px}.workflow-step,.workflow-steps{align-items:center;display:flex}.workflow-step{flex:1 1;flex-direction:column;gap:1rem;max-width:200px;text-align:center}.step-number{background:var(--gradient-text-accent);box-shadow:0 8px 24px #c7aa7a4d;color:#fff;font-family:Inter,sans-serif;font-size:1.5rem;height:60px;margin-bottom:1rem;width:60px}.step-content h4{color:#5a4d3a;font-family:Playfair Display,serif;font-size:1.25rem;font-weight:600;margin:0 0 .5rem}.step-content p{font-feature-settings:"tnum";color:#75695a;font-family:Crimson Pro,serif;font-size:1rem;font-style:italic;font-variant-numeric:tabular-nums;line-height:1.6;margin:0}.workflow-arrow{color:#c7aa7a;font-size:1.5rem;font-weight:700}.author-details{display:flex;flex-direction:column;gap:.25rem;margin-top:.5rem}.author-date,.author-venue{align-items:center;color:#8b7d6b;display:flex;gap:.5rem}.author-date,.author-note,.author-venue{font-family:Inter,sans-serif;font-size:.75rem}.author-note{background:#c7aa7a1a;border-radius:8px;color:#c7aa7a;font-style:italic;margin-top:.5rem;padding:.5rem}.trust-indicators{margin-top:3rem}.trust-title{color:#5a4d3a;font-family:Playfair Display,serif;font-size:1.75rem;margin-bottom:2rem;text-align:center}.trust-points{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin:0 auto;max-width:1000px}.trust-point{align-items:flex-start;background:linear-gradient(135deg,#fdfcfa,#f7f3ec);border-radius:16px;box-shadow:0 4px 16px #6b5b4c0d;display:flex;gap:1rem;padding:1.5rem}.trust-icon{flex-shrink:0;font-size:2rem}.trust-content h4{color:#5a4d3a;font-family:Playfair Display,serif;font-size:1.125rem;margin:0 0 .5rem}.trust-content p{color:#75695a;font-family:Inter,sans-serif;font-size:.875rem;line-height:1.5;margin:0}.faq-section{background:linear-gradient(135deg,#fdfcfa,#f5f1ea);margin:1rem 0;padding:0}.faq-subtitle{font-feature-settings:"tnum";color:#75695a;font-family:Crimson Pro,serif;font-size:1.125rem;font-style:italic;font-variant-numeric:tabular-nums;line-height:1.6;margin:1rem 0 0;text-align:center}.faq-container{margin:4rem auto 0;max-width:900px}.faq-list{display:flex;flex-direction:column;gap:1rem}.faq-item{background:linear-gradient(135deg,#fdfcfa,#f7f3ec);border:1px solid #c7aa7a1a;border-radius:16px;box-shadow:0 4px 16px #6b5b4c0d;opacity:0;overflow:hidden;transform:translateY(20px);transition:opacity .4s ease-out,transform .4s ease-out,box-shadow .3s ease}.faq-item.visible{opacity:1;transform:translateY(0)}.faq-item:hover{box-shadow:0 8px 24px #6b5b4c1a}.faq-question{align-items:center;cursor:pointer;display:flex;justify-content:space-between;padding:1.5rem 2rem;transition:background-color .3s ease}.faq-question:hover{background:#c7aa7a0d}.question-content{align-items:flex-start;display:flex;flex:1 1;gap:1rem}.question-icon{flex-shrink:0;margin-top:.25rem}.question-text{flex:1 1}.question-category{color:#c7aa7a;font-family:Inter,sans-serif;font-size:.75rem;font-weight:500;letter-spacing:.5px;margin-bottom:.5rem;text-transform:uppercase}.question-text h3{color:#5a4d3a;font-family:Playfair Display,serif;font-size:1.125rem;line-height:1.4;margin:0}.question-toggle{color:#c7aa7a;flex-shrink:0}.faq-answer{animation:slideDown .3s ease-out;border-top:1px solid #c7aa7a1a}.answer-content{padding:1.5rem 2rem 2rem;white-space:pre-line}.answer-content p{font-feature-settings:"tnum";color:#5a4d3a;font-family:Crimson Pro,serif;font-size:1rem;font-variant-numeric:tabular-nums;line-height:1.7;margin:0}.faq-footer{background:#b29861;border-radius:24px;margin-top:4rem;padding:3rem 2rem;text-align:center}.faq-cta h3{color:#fff;font-family:Playfair Display,serif;font-size:1.75rem;margin:0 0 1rem}.faq-cta p{font-feature-settings:"tnum";color:#fff;font-family:Crimson Pro,serif;font-size:1.125rem;font-style:italic;font-variant-numeric:tabular-nums;margin:0 0 2rem}.faq-contact-info{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin:0 auto;max-width:600px}.contact-method{align-items:flex-start;background:#b29861;border:1px solid #b29861;border-radius:16px;display:flex;gap:1rem;padding:1.5rem}.contact-method strong{color:#fff;display:block;font-family:Inter,sans-serif;margin-bottom:.5rem}.contact-method p{color:#fff;font-family:Inter,sans-serif;font-size:1rem;font-style:normal;margin:0}.contact-form-section{background:linear-gradient(135deg,#fdfcfa,#f5f1ea);padding:6rem 4rem;position:relative}.contact-form-subtitle{font-feature-settings:"tnum";color:#75695a;font-family:Crimson Pro,serif;font-size:1.125rem;font-style:italic;font-variant-numeric:tabular-nums;line-height:1.6;margin:1rem 0 0;text-align:center}.contact-form-container{margin:4rem auto 0;max-width:1200px;padding:0 2rem}.contact-form-content{grid-gap:4rem;align-items:flex-start;display:grid;gap:4rem;justify-items:center}.contact-info{background:linear-gradient(135deg,#4a1a3e,#2d1127);border-radius:24px;color:#fff;height:fit-content;padding:3rem 2.5rem;position:sticky;top:2rem}.contact-form{background:linear-gradient(135deg,#fdfcfa,#f5f1ea);border:1px solid #e91e631a;border-radius:24px;box-shadow:0 12px 32px #6b5b4c14,0 4px 16px #e91e630d;max-width:900px;padding:3rem;width:100%}.form-label{color:#5a4d3a;font-family:Inter,sans-serif;font-size:.875rem;font-weight:600}.required{color:#e63946;font-weight:700}.input,.textarea{background:#fff;border:2px solid #c7aa7a33;border-radius:12px;box-sizing:border-box;color:#5a4d3a;font-family:Inter,sans-serif;font-size:1rem;padding:1rem 1.25rem;transition:all .3s ease;width:100%}.input:focus,.textarea:focus{background:#fefefe;border-color:#c7aa7a;box-shadow:0 0 0 3px #c7aa7a1a;outline:none}.input.error,.textarea.error{background:#e639460d;border-color:#e63946}.textarea{font-family:Inter,sans-serif;line-height:1.6;min-height:120px;resize:vertical}.error-message,.submit-error{color:#e63946;font-family:Inter,sans-serif}.submit-error{align-items:center;background:#e639461a;border:1px solid #e639464d;border-radius:8px;display:flex;font-size:.875rem;gap:.75rem;margin-bottom:1.5rem;padding:1rem}.form-submit{margin-bottom:2rem;text-align:center}.spinner{animation:spin 1s linear infinite;border:2px solid #0000;border-radius:50%;border-top-color:currentcolor;height:20px;width:20px}.form-footer{border-top:1px solid #c7aa7a33;padding-top:2rem}.privacy-note{color:#8b7d6b;font-family:Inter,sans-serif;font-size:.75rem;line-height:1.6;margin:0;text-align:center}.success-message{background:linear-gradient(135deg,#fdfcfa,#f7f3ec);border:1px solid #c7aa7a33;border-radius:24px;box-shadow:0 12px 32px #6b5b4c14;flex-direction:column;height:100%;width:100%}.success-icon{margin-bottom:2rem}.success-title{color:#5a4d3a;font-family:Playfair Display,serif;font-size:1.5rem;margin:0 0 1.5rem}.success-description{font-feature-settings:"tnum";color:#75695a;font-family:Crimson Pro,serif;font-size:1.125rem;font-style:italic;font-variant-numeric:tabular-nums;line-height:1.7;margin:0 0 2rem}.enhanced-footer{background:#c9c9c9;color:#000;padding:0}.footer-content{grid-gap:3rem;display:grid;gap:3rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin:0;max-width:1200px;padding:0 4rem 3rem}.footer-section{display:flex;flex-direction:column;gap:1rem}.company-info{margin-top:1rem}.info-heading{font-family:Playfair Display,serif;font-size:1.125rem}.company-name,.info-heading{color:#000;font-weight:600;margin:0 0 1rem}.company-name{font-family:Inter,sans-serif;font-size:1rem}.company-details{display:flex;flex-direction:column;gap:.5rem}.company-detail{align-items:center;color:#000;display:flex;font-family:Inter,sans-serif;font-size:.875rem;gap:.5rem}.footer-decoration{gap:2rem;margin-bottom:1.5rem}.decoration-line{height:2px}.footer-heart{animation:heartbeat 4s ease-in-out infinite}.lazy-image-container{border-radius:inherit;overflow:hidden;position:relative}.lazy-image{height:100%;object-fit:cover;opacity:.7;transition:all .3s ease;width:100%}.accessibility-toggle{align-items:center;background:linear-gradient(135deg,#c7aa7a,#b29861);border:none;border-radius:50%;box-shadow:0 4px 16px #c7aa7a4d;color:#fff;cursor:pointer;display:flex;font-size:0;height:56px;justify-content:center;position:fixed;right:20px;top:20px;transition:all .3s ease;width:56px;z-index:1000}.accessibility-toggle:hover{box-shadow:0 8px 24px #c7aa7a66;transform:translateY(-2px)}.accessibility-toggle:focus{outline:3px solid #c7aa7a;outline-offset:2px}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.accessibility-overlay{animation:fadeInOverlay .3s ease;background:#00000080;height:100%;left:0;position:fixed;top:0;width:100%;z-index:999}.accessibility-panel{animation:slideInPanel .3s cubic-bezier(.25,.46,.45,.94);background:linear-gradient(135deg,#fdfcfa,#f7f3ec);border:1px solid #c7aa7a33;border-radius:24px;box-shadow:0 20px 48px #6b5b4c33;left:50%;max-height:80vh;max-width:400px;overflow-y:auto;position:fixed;top:50%;transform:translate(-50%,-50%);width:90vw;z-index:1001}.accessibility-panel-header{align-items:center;border-bottom:1px solid #c7aa7a33;display:flex;justify-content:space-between;padding:2rem 2rem 1rem}.accessibility-panel-header h3{color:#5a4d3a;font-family:Playfair Display,serif;font-size:1.5rem;margin:0}.accessibility-close{align-items:center;background:none;border:none;border-radius:8px;color:#8b7d6b;cursor:pointer;display:flex;font-size:1.5rem;height:32px;justify-content:center;transition:all .2s ease;width:32px}.accessibility-close:hover{background:#c7aa7a1a;color:#5a4d3a}.accessibility-panel-content{padding:1rem 2rem}.accessibility-option{margin-bottom:2rem}.accessibility-button{align-items:center;background:#ffffffb3;border:2px solid #c7aa7a33;border-radius:12px;color:#5a4d3a;cursor:pointer;display:flex;font-family:Inter,sans-serif;font-size:1rem;gap:1rem;padding:1rem 1.5rem;text-align:left;transition:all .3s ease;width:100%}.accessibility-button:hover{background:#c7aa7a1a;border-color:#c7aa7a}.accessibility-button:focus{outline:3px solid #c7aa7a;outline-offset:2px}.accessibility-button.active{background:linear-gradient(135deg,#c7aa7a,#b29861);border-color:#0000;color:#fff}.accessibility-description{color:#75695a;font-family:Inter,sans-serif;font-size:.875rem;line-height:1.5;margin:.5rem 0 0}.accessibility-panel-footer{border-top:1px solid #c7aa7a33;padding:1rem 2rem 2rem;text-align:center}.accessibility-reset{background:none;border:1px solid #c7aa7a4d;border-radius:8px;color:#8b7d6b;cursor:pointer;font-family:Inter,sans-serif;font-size:.875rem;padding:.75rem 1.5rem;transition:all .2s ease}.accessibility-reset:hover{background:#c7aa7a1a;border-color:#c7aa7a;color:#5a4d3a}.high-contrast{filter:contrast(150%)}.high-contrast .cta-button.primary{background:#000;border:2px solid #fff;color:#fff}.high-contrast .faq-item,.high-contrast .testimonial-card{background:#fff;border:2px solid #000}.large-text{font-size:125%}.large-text .section-title{font-size:3.125rem}.large-text .hero-title{font-size:4.375rem}.reduced-motion *{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.enhanced-focus :focus{border-radius:4px;outline:3px solid #c7aa7a;outline-offset:2px}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#c7aa7a1a;border-radius:4px}::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#c7aa7a,#b29861);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#b29861,#a08751)}.slide-cards-section{background:var(--gradient-overlay);overflow:hidden;padding:6rem 4rem;position:relative}.slide-cards-container{gap:2rem;margin:4rem auto 0;max-width:1200px;position:relative}.slide-arrow,.slide-cards-container{align-items:center;display:flex;justify-content:center}.slide-arrow{background:linear-gradient(135deg,#c7aa7a,#b29861);border:none;border-radius:50%;box-shadow:0 4px 16px #c7aa7a4d;color:#fff;cursor:pointer;flex-shrink:0;height:56px;transition:all .3s ease;width:56px;z-index:10}.slide-arrow:hover{background:linear-gradient(135deg,#b29861,#a08751);box-shadow:0 8px 24px #c7aa7a66;transform:translateY(-2px)}.slide-arrow:active{transform:translateY(0)}.slide-arrow:focus{outline:3px solid #c7aa7a80;outline-offset:2px}.cards-wrapper{border-radius:24px;flex:1 1;max-width:800px;overflow:hidden}.cards-track{display:flex;transition:transform .5s cubic-bezier(.25,.46,.45,.94);will-change:transform}.slide-card{align-items:center;animation:slideCardAppear .6s ease-out;background:linear-gradient(135deg,#fdfcfa,#f7f3ec);border:1px solid #c7aa7a1a;border-radius:24px;box-shadow:0 12px 32px #6b5b4c14,0 4px 16px #c7aa7a0d;box-sizing:border-box;display:flex;flex:0 0 33.333%;flex-direction:column;gap:2rem;min-height:520px;overflow:hidden;padding:3rem 2.5rem 3.5rem;position:relative;text-align:center;width:33.333%}.slide-card:before{background:linear-gradient(90deg,#c7aa7a,#d8c3a5 50%,#c7aa7a);content:"";height:4px;left:0;opacity:.8;position:absolute;right:0;top:0}.card-number{align-items:center;background:linear-gradient(135deg,#c7aa7a,#b29861);border:4px solid #fff;border-radius:50%;box-shadow:0 8px 24px #c7aa7a4d;color:#fff;display:flex;font-family:Playfair Display,serif;font-size:1.5rem;font-weight:700;height:60px;justify-content:center;left:50%;position:absolute;top:-15px;transform:translateX(-50%);width:60px}.card-visual-section{align-items:center;display:flex;flex-direction:column;gap:1.5rem;margin-top:1rem;position:relative}.card-image-container{background:#fff;border:3px solid #ffffffe6;border-radius:16px;box-shadow:0 8px 24px #6b5b4c26;height:150px;overflow:hidden;position:relative;width:200px}.card-image{height:100%;object-fit:cover;transition:transform .3s ease;width:100%}.card-icon{animation:iconFloat 3s ease-in-out infinite;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#fffffff2,#f8f8f8f2);border:2px solid #c7aa7a4d;border-radius:50%;bottom:-15px;box-shadow:0 6px 20px #6b5b4c33,0 0 0 3px #fffc;padding:12px;position:absolute;right:-15px;transition:all .3s ease}.card-content{display:flex;flex:1 1;flex-direction:column;gap:1rem}.card-title{color:#5a4d3a;font-size:2rem;line-height:1.2;margin:0}.card-subtitle{font-feature-settings:"tnum";color:#c7aa7a;font-family:Crimson Pro,serif;font-size:1.25rem;font-style:italic;font-variant-numeric:tabular-nums;font-weight:500;letter-spacing:.5px;margin:0}.card-description{color:#75695a;font-family:Inter,sans-serif;font-size:1rem;line-height:1.7;max-width:400px;white-space:pre-line}.slide-indicators{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe6;border:1px solid #c7aa7a26;border-radius:30px;box-shadow:0 8px 24px #6b5b4c1a;display:flex;gap:1rem;justify-content:center;margin:3rem auto 0;padding:1rem 2rem;width:fit-content}.indicator{background:linear-gradient(135deg,#c7aa7a33,#b2986133);border:none;border-radius:50%;cursor:pointer;height:16px;overflow:hidden;position:relative;transition:all .4s cubic-bezier(.25,.46,.45,.94);width:16px}.indicator:before{background:#c7aa7a66;border-radius:50%;content:"";height:8px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:all .3s ease;width:8px}.indicator:hover{background:linear-gradient(135deg,#c7aa7a66,#b2986166);box-shadow:0 4px 12px #c7aa7a33;transform:scale(1.15)}.indicator:hover:before{background:#c7aa7ab3;height:10px;width:10px}.indicator.active{background:linear-gradient(135deg,#c7aa7a,#b29861);box-shadow:0 6px 20px #c7aa7a66,0 0 0 3px #c7aa7a1a;transform:scale(1.2)}.indicator.active:before{background:#ffffffe6;box-shadow:inset 0 1px 2px #0000001a;height:12px;width:12px}.indicator.active:after{animation:indicatorPulse 2s ease-in-out infinite;background:linear-gradient(135deg,#c7aa7a,#b29861);border-radius:50%;content:"";height:6px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:6px}.slide-card:hover{box-shadow:0 20px 48px #6b5b4c26,0 8px 24px #c7aa7a1a}.slide-card:hover .card-number{box-shadow:0 12px 32px #c7aa7a66;transform:translateX(-50%) scale(1.1)}.slide-card:hover .card-image{transform:scale(1.05)}.slide-card:hover .card-icon{box-shadow:0 8px 28px #6b5b4c40,0 0 0 4px #ffffffe6;transform:scale(1.1)}.error-boundary{align-items:center;background:linear-gradient(135deg,#fdf2f2,#fef2f2);border:1px solid #ef444433;border-radius:12px;display:flex;flex-direction:column;justify-content:center;min-height:400px;padding:2rem;text-align:center}.error-boundary h2{color:#dc2626;font-family:Playfair Display,serif;margin-bottom:1rem}.error-boundary p{color:#7f1d1d;font-family:Inter,sans-serif;margin-bottom:1.5rem}.error-boundary button{background:#dc2626;border:none;border-radius:8px;color:#fff;cursor:pointer;font-family:Inter,sans-serif;padding:.75rem 1.5rem;transition:background .2s ease}.error-boundary button:hover{background:#b91c1c}.landing-container{background:var(--gradient-wedding-background);font-family:Inter,sans-serif;min-height:100vh;overflow-x:hidden;position:relative}.page-header{align-items:center;display:flex;height:100vh;justify-content:center;z-index:1}.header-image-slider,.page-header{overflow:hidden;position:relative;width:100%}.header-image-slider{height:100%}.fade-slide{height:100%;left:0;opacity:0;position:absolute;top:0;transition:opacity 1.5s cubic-bezier(.25,.46,.45,.94);width:100%;z-index:1}.fade-slide.active{opacity:1;z-index:2}.header-image{backface-visibility:hidden;height:100%;image-rendering:auto;object-fit:cover;width:100%;will-change:transform}.fade-slide.active .header-image{animation:kenBurns 10s ease-in-out}.header-image:hover{transform:scale(1.02)}.header-overlay{height:100%;left:0;position:absolute;top:0;width:100%;z-index:5}.header-text{animation:fadeInScale 2s ease-out;color:#fff!important;height:calc(100vh - 10rem);left:5rem;overflow:visible;position:absolute;text-shadow:0 8px 24px #000000e6;top:8rem;white-space:nowrap;width:calc(100vw - 10rem)}.header-text .header-title{color:#fff;display:block;font-family:Playfair Display,serif;font-size:3rem;font-weight:700;letter-spacing:1px;line-height:.8;margin:0 0 1rem;text-transform:uppercase}.header-text .header-subtitle{font-feature-settings:"tnum";color:#fff;display:block;font-family:Crimson Pro,serif;font-size:3rem;font-style:italic;font-variant-numeric:tabular-nums;font-weight:400;line-height:1.2;margin:0;opacity:1}.dot{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0000;border:2px solid #ffffffb3;cursor:pointer;height:12px;transition:all .3s ease;width:12px}.dot:hover{border-color:#ffffffe6;transform:scale(1.1)}.dot.active{background:#ffffffe6;border-color:#fff;box-shadow:0 0 12px #fff6}.hero-section{align-items:center;background:#fff;display:flex;height:85vh;justify-content:center;overflow:hidden;position:relative;width:100%;z-index:2}.hero-background{height:100%;inset:0;left:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:1}.hero-content{color:#fff;margin:0 auto;max-width:1000px;padding:3rem;position:relative;text-align:center;z-index:10}.hero-decoration{height:100%;position:relative;width:100%}.hero-circle-2,.hero-circle-3{animation:decorativeFloat 6s ease-in-out infinite;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:radial-gradient(circle at 30% 30%,#f5f1ea26,#ede7dc1a,#e6ddd10d);border:1px solid #f5f1ea1a;border-radius:50%;position:absolute}.hero-circle-2{animation-delay:2s;animation-duration:10s;height:300px;right:10%;top:50%;width:300px}.hero-circle-3{animation-delay:4s;animation-duration:6s;bottom:15%;height:200px;left:70%;width:200px}.hero-title{-webkit-text-fill-color:#0000;align-items:center;animation:titleShimmer 4s ease-in-out infinite alternate;background:var(--gradient-text-elegant);-webkit-background-clip:text;background-clip:text;color:#5a4d3a;display:flex;font-family:Playfair Display,serif;font-size:2.8rem;font-weight:700;gap:1.5rem;justify-content:center;line-height:1.2;margin:0 0 1rem;text-align:center;text-shadow:0 4px 8px #4a1a3e1a}.hero-subtitle{font-feature-settings:"tnum";color:#8b7d6b;font-family:Crimson Pro,serif;font-size:1.5rem;font-style:italic;font-variant-numeric:tabular-nums;font-weight:400;letter-spacing:2px;margin:0 0 3rem;text-transform:uppercase}.hero-catchcopy{color:#5a4d3a;font-family:Playfair Display,serif;font-size:1.8rem;font-weight:600;line-height:1.4;margin:0 0 1.2rem}.highlight-text{-webkit-text-fill-color:#0000;background:var(--gradient-text-accent);-webkit-background-clip:text;background-clip:text;position:relative}.hero-description{font-feature-settings:"tnum";color:#75695a;font-family:Crimson Pro,serif;font-size:1.1rem;font-style:italic;font-variant-numeric:tabular-nums;line-height:1.6;margin:0 0 2rem;max-width:800px}.hero-buttons{display:flex;flex-direction:row;gap:1.5rem;margin-top:2rem}.cta-button,.hero-buttons{align-items:center;justify-content:center}.cta-button{border:none;border-radius:16px;cursor:pointer;display:inline-flex;font-family:Inter,sans-serif;font-size:1.125rem;font-weight:600;gap:.75rem;min-height:58px;overflow:hidden;padding:1.25rem 2rem;position:relative;text-decoration:none;transition:all .3s cubic-bezier(.25,.46,.45,.94)}.cta-button.primary{animation:buttonGlow 3s ease-in-out infinite alternate;background:var(--gradient-text-accent);border:1px solid #ffffff1a;box-shadow:0 8px 32px #c7aa7a4d,inset 0 1px 0 #fff3,inset 0 -1px 0 #0000001a;color:#fff}.cta-button.secondary{background:#ffffffe6;border:2px solid #c7aa7a33;box-shadow:0 4px 12px #e91e631a;color:#5a4d3a}.cta-button.large{font-size:1.25rem;padding:1.5rem 3rem}.cta-button:before{background:var(--gradient-shimmer);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;width:100%}.cta-button:hover:before{left:100%}.cta-button:hover{transform:translateY(-2px)}.cta-button.primary:hover{box-shadow:0 12px 32px #e91e6366,inset 0 1px 0 #ffffff4d}.cta-button.secondary:hover{background:#fff;border-color:#c7aa7a;box-shadow:0 8px 24px #e91e6333}.cta-button.disabled{background:#b6b6b64d!important;border-color:#b6b6b633!important;color:#999!important;cursor:not-allowed!important}.cta-button.disabled,.cta-button.disabled:hover{box-shadow:none!important;transform:none!important}.features-section{background:var(--gradient-overlay);overflow:hidden;padding:6rem 4rem;position:relative}.section-header{margin-bottom:4rem;position:relative;text-align:center;z-index:2}.section-title{color:#5a4d3a;font-family:Crimson Pro,serif;font-size:2.5rem;font-weight:600;margin:0 0 1.5rem}.title-decoration{align-items:center;display:flex;gap:1.5rem;justify-content:center}.section-heart{animation:heartbeat 4s ease-in-out infinite;color:#c7aa7a}.features-container{background:var(--gradient-overlay);position:relative;z-index:2}.feature-fullscreen{align-items:center;display:flex;min-height:85vh;padding:0;position:relative}.feature-content{align-items:center;display:flex;gap:6rem;margin:0 auto;max-width:1200px;width:100%}.feature-content.reverse{flex-direction:row-reverse}.feature-text{display:flex;flex:0.92 1;flex-direction:column;justify-content:center;white-space:pre-line}.feature-number{-webkit-background-clip:text;color:#c7aa7a;font-family:Playfair Display,serif;font-size:8rem;font-weight:700;line-height:.8;margin-bottom:1rem;text-shadow:0 4px 8px #c7aa7a33}.feature-visual{align-items:center;display:flex;flex:1.08 1;height:120px;justify-content:center;margin-bottom:2rem;position:relative}.feature-image{border-radius:0;box-shadow:0 20px 60px #5a4d3a26,0 8px 24px #c7aa7a1a;height:auto;max-height:800px;object-fit:cover;transition:transform .3s ease;width:100%}.feature-image:hover{transform:translateY(-8px) scale(1.02)}.feature-fullscreen .feature-title{color:#5a4d3a;font-family:Playfair Display,serif;font-size:2.5rem;font-weight:600;line-height:1.2;margin-bottom:1.5rem}.feature-fullscreen .feature-description{color:#6b5b47;font-size:1.1rem;line-height:1.7;margin-bottom:2rem}.benefit-tag:hover{box-shadow:0 4px 12px #c7aa7a66;transform:translateY(-2px)}.features-subtitle{font-feature-settings:"tnum";font-family:Crimson Pro,serif;font-size:1.8rem;font-style:italic;font-variant-numeric:tabular-nums;line-height:1.6}.features-subtitle,.gallery-subtitle{color:#75695a;margin:1rem 0 0;text-align:center}.gallery-subtitle{font-size:1.125rem}.testimonials-section{background:var(--gradient-overlay);overflow:hidden;padding:6rem 4rem;position:relative}.testimonials-subtitle{font-feature-settings:"tnum";color:#75695a;font-family:Crimson Pro,serif;font-size:1.125rem;font-style:italic;font-variant-numeric:tabular-nums;line-height:1.6;margin:1rem 0 0;text-align:center}.testimonials-grid{grid-gap:3rem;display:grid;gap:3rem;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));margin:4rem auto 0;max-width:1200px}.testimonial-card{background:var(--gradient-elegant-card);border:1px solid #e91e631a;border-radius:24px;box-shadow:0 12px 32px #6b5b4c14,0 4px 16px #e91e630d;overflow:hidden;padding:3rem 2.5rem;position:relative;transition:all .3s ease}.testimonial-card:before{background:var(--gradient-line-decorative);content:"";height:4px;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.testimonial-card:hover:before{opacity:1}.testimonial-card:hover{box-shadow:0 20px 48px #4a1a3e1f,0 8px 24px #e91e6314;transform:translateY(-8px)}.testimonial-quote{margin-bottom:1.5rem;text-align:center}.quote-icon{color:#c7aa7a;height:40px;opacity:.6;width:40px}.testimonial-stars{display:flex;gap:.5rem;justify-content:center;margin-bottom:2rem}.star{color:#d1d5db;height:20px;width:20px}.star.filled{color:#fbbf24}.testimonial-text{font-feature-settings:"tnum";color:#5a4d3a;font-family:Crimson Pro,serif;font-size:1.125rem;font-style:italic;font-variant-numeric:tabular-nums;line-height:1.8;margin:0 0 2rem;text-align:center;white-space:pre-line}.testimonial-author{align-items:center;display:flex;gap:1rem;justify-content:center}.author-info{text-align:center}.author-name{color:#5a4d3a;font-family:Playfair Display,serif;font-size:1.125rem;font-weight:600;margin:0 0 .25rem}.slide-arrow.disabled{opacity:0;pointer-events:none;transition:opacity .3s ease}@media (max-width:768px){.workflow-steps{flex-direction:column;gap:2rem}.workflow-arrow{transform:rotate(90deg)}.trust-points{gap:1.5rem;grid-template-columns:1fr}.faq-question{padding:1rem 1.5rem}.question-content{flex-direction:column;gap:.5rem}.answer-content{padding:1.5rem}}@media (max-width:1024px){.company-details,.company-name,.info-heading{align-items:flex-start;justify-content:flex-start;text-align:left}.contact-form-section{padding:4rem 2rem}.contact-form-container{margin:3rem auto 0;padding:0 1rem}.contact-form-content{gap:3rem;grid-template-columns:1fr}.contact-info{max-width:600px;position:static;width:100%}.contact-form{max-width:800px;padding:2.5rem 2rem}.footer-content{gap:2rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}}@media (max-width:768px){.contact-form-section{padding:3rem 1.5rem}.contact-form-container{margin:2rem auto 0;padding:0 .5rem}.contact-form-content{gap:2rem}.contact-form,.contact-info{max-width:100%;padding:2rem 1.5rem}.input,.textarea{font-size:1rem;padding:1rem 1.25rem}.form-group{margin-bottom:1.5rem}.enhanced-footer{padding:3rem 0 0}.footer-content{gap:2rem;grid-template-columns:1fr;padding:0 2rem 2rem}}@media (max-width:480px){.contact-form-section{padding:2rem 1rem}.contact-form-container{margin:1.5rem auto 0;padding:0}.contact-form-content{gap:1.5rem}.contact-form,.contact-info{border-radius:16px;padding:1.5rem 1rem}.input,.textarea{border-radius:8px;font-size:16px;padding:.875rem 1rem}.form-label{font-size:.8rem;margin-bottom:.5rem}.form-group{margin-bottom:1.25rem}.cta-button{font-size:1rem;min-height:48px;padding:1rem 2rem}.footer-content{padding:0 1rem 1.5rem}}@keyframes skeletonPulse{0%,to{background-position:0 50%}50%{background-position:100% 50%}}@keyframes skeletonShimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}@keyframes fadeInOverlay{0%{opacity:0}to{opacity:1}}@keyframes slideInPanel{0%{opacity:0;transform:translate(-50%,-60%)}to{opacity:1;transform:translate(-50%,-50%)}}@keyframes gentleBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes subtleGlow{0%,to{box-shadow:0 0 20px #c7aa7a4d}50%{box-shadow:0 0 30px #c7aa7a80}}@media print{.accessibility-overlay,.accessibility-panel,.accessibility-toggle{display:none!important}*{animation:none!important;transition:none!important}}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){.lazy-image{image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}}@media (max-width:768px){.accessibility-toggle{height:48px;right:15px;top:15px;width:48px}.accessibility-panel{max-height:85vh;width:95vw}.accessibility-panel-content,.accessibility-panel-footer,.accessibility-panel-header{padding-left:1rem;padding-right:1rem}.large-text .hero-title{font-size:3rem}.large-text .section-title{font-size:2.5rem}}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.faq-item{opacity:1!important;transform:none!important;transition:none!important}}@media (prefers-contrast:high){:root{--primary-color:#000;--background-color:#fff;--text-color:#000}}@keyframes indicatorPulse{0%,to{opacity:1;transform:translate(-50%,-50%) scale(1)}50%{opacity:.7;transform:translate(-50%,-50%) scale(1.2)}}@media (max-width:1024px){.slide-cards-section{padding:4rem 2rem}.slide-cards-container{gap:1.5rem;margin:3rem auto 0}.slide-arrow{height:48px;width:48px}.slide-card{min-height:480px;padding:2.5rem 2rem 3rem}.card-image-container{height:135px;width:180px}.card-title{font-size:1.75rem}.card-subtitle{font-size:1.125rem}}@media (max-width:768px){.slide-cards-section{padding:3rem 1rem}.slide-cards-container{gap:1rem;margin:2rem auto 0}.slide-arrow{height:44px;width:44px}.slide-card{gap:1.5rem;min-height:420px;padding:2rem 1.5rem 2.5rem}.card-image-container{height:120px;width:160px}.card-number{font-size:1.25rem;height:50px;top:-12px;width:50px}.card-icon{bottom:-12px;padding:10px;right:-12px}.card-title{font-size:1.5rem}.card-subtitle{font-size:1rem}.card-description{font-size:.875rem}.slide-indicators{gap:.75rem;margin-top:2rem;padding:.75rem 1.5rem}.indicator{height:14px;width:14px}.indicator:before{height:6px;width:6px}.indicator.active:before{height:10px;width:10px}.indicator.active:after{height:4px;width:4px}}@media (max-width:480px){.slide-cards-section{padding:2rem 1rem}.slide-cards-container{flex-direction:column;gap:1.5rem}.slide-arrow{order:2;position:static}.slide-arrow-left{order:1}.slide-arrow-right{order:3}.cards-wrapper{max-width:100%;order:2}.slide-card{gap:1rem;min-height:380px;padding:1.5rem 1rem 2rem}.card-image-container{border-radius:12px;height:105px;width:140px}.card-number{font-size:1rem;height:40px;top:-10px;width:40px}.card-icon{bottom:-10px;padding:8px;right:-10px}.card-title{font-size:1.25rem}.card-subtitle{font-size:.875rem}.card-description{font-size:.8rem;line-height:1.6}.slide-indicators{gap:.5rem;margin-top:1.5rem;padding:.5rem 1rem}.indicator{height:12px;width:12px}.indicator:before{height:5px;width:5px}.indicator.active:before{height:8px;width:8px}.indicator.active:after{height:3px;width:3px}}@keyframes slideCardAppear{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes iconFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@media (prefers-reduced-motion:reduce){.card-icon,.cards-track,.indicator,.slide-arrow,.slide-card{animation:none!important;transition:none!important}}@keyframes kenBurns{0%{transform:scale(1)}25%{transform:scale(1.02)}75%{transform:scale(1.06)}to{transform:scale(1.04)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes heroGlow{0%{box-shadow:inset 0 0 200px #f5f1ea4d,inset 0 0 100px #ede7dc33,0 0 50px #e6ddd126}to{box-shadow:inset 0 0 250px #f5f1ea66,inset 0 0 120px #ede7dc4d,0 0 70px #e6ddd140}}@keyframes contentFloat{0%{box-shadow:0 20px 60px #5a4d3a1a,inset 0 1px 0 #f5f1ea1a,inset 0 -1px 0 #ede7dc0d;transform:translateY(0)}to{box-shadow:0 30px 80px #5a4d3a26,inset 0 1px 0 #f5f1ea26,inset 0 -1px 0 #ede7dc14;transform:translateY(-8px)}}@keyframes decorativeFloat{0%,to{opacity:.6;transform:translateY(0) scale(1) rotate(0deg)}50%{opacity:1;transform:translateY(-30px) scale(1.05) rotate(180deg)}}@keyframes titleShimmer{0%{background-position:0 50%;text-shadow:0 4px 8px #4a1a3e1a}to{background-position:100% 50%;text-shadow:0 6px 12px #4a1a3e33}}@keyframes buttonGlow{0%{box-shadow:0 8px 32px #c7aa7a4d,inset 0 1px 0 #fff3,inset 0 -1px 0 #0000001a}to{box-shadow:0 12px 40px #c7aa7a66,0 0 30px #c7aa7a33,inset 0 1px 0 #ffffff4d,inset 0 -1px 0 #0000001a}}@media (max-width:1024px){.feature-content{gap:4rem}.feature-number{font-size:6rem}.feature-fullscreen .feature-title{font-size:2rem}.feature-image{max-height:400px}}@media (max-width:768px){.feature-fullscreen{margin-bottom:2rem;min-height:auto;padding:4rem 1rem}.feature-content,.feature-content.reverse{flex-direction:column;gap:2rem;text-align:center}.feature-text{flex:none;margin-bottom:1rem}.feature-visual{flex:none;max-width:100%;overflow:hidden;width:100%}.feature-number{font-size:4rem;margin-bottom:1rem}.feature-fullscreen .feature-title{font-size:1.8rem;margin-bottom:1rem}.feature-fullscreen .feature-description{font-size:1rem;margin-bottom:1.5rem}.feature-image{display:block;margin:0 auto;max-height:280px;width:100%}.feature-benefits{margin-top:1rem}}@media (max-width:480px){.feature-fullscreen{margin-bottom:1.5rem;padding:3rem 1rem}.feature-content{gap:1.5rem}.feature-number,.feature-text{margin-bottom:.5rem}.feature-number{font-size:3rem}.feature-fullscreen .feature-title{font-size:1.5rem;margin-bottom:.8rem}.feature-fullscreen .feature-description{font-size:.9rem;margin-bottom:1rem}.feature-image{margin:.5rem auto;max-height:220px}.feature-benefits{margin-top:.8rem}}@keyframes floatImage{0%,to{opacity:.85;transform:translateY(0) scale(1) rotate(0deg);transform:translateY(0) scale(1) rotate(var(--rotate,0deg))}33%{opacity:.95;transform:translateY(-15px) scale(1.05) rotate(2deg);transform:translateY(-15px) scale(1.05) rotate(calc(var(--rotate, 0deg) + 2deg))}66%{opacity:.9;transform:translateY(-8px) scale(.98) rotate(-1deg);transform:translateY(-8px) scale(.98) rotate(calc(var(--rotate, 0deg) - 1deg))}}@media (max-width:1024px){.page-header{height:100vh}.dot{height:10px;width:10px}.header-text .header-title{color:#fff!important;font-size:1.5rem!important;margin-top:2rem}.header-text .header-subtitle{color:#fff!important;font-size:1rem!important;margin-top:1rem}.hero-catchcopy{font-size:1.4rem}.hero-title{font-size:2.2rem;justify-content:center}.features-section,.testimonials-section{padding:4rem 2rem}.testimonials-grid{gap:2rem;grid-template-columns:1fr}}@media (max-width:768px){.hero-title{animation:heartbeat 3s ease-in-out infinite;flex-direction:column;font-size:2rem;gap:1rem;justify-content:center;text-align:center}.hero-catchcopy{font-size:1.3rem}.hero-buttons{flex-direction:column;gap:1rem}.cta-button{max-width:300px;transition:all .3s cubic-bezier(.25,.46,.45,.94);width:100%}.cta-button:active{transform:translateY(-2px)}.hero-circle-2{height:200px;width:200px}.hero-circle-3{height:150px;width:150px}.workflow-steps{flex-direction:column;gap:2rem}.workflow-arrow{transform:rotate(90deg)}.section-title{font-size:2rem}.company-details,.company-name,.info-heading{align-items:flex-start;justify-content:flex-start;text-align:left}}@media (max-width:480px){.hero-title{font-size:2rem}.hero-catchcopy{font-size:1.5rem}.features-section,.testimonials-section{padding:3rem 1rem}.testimonial-card{padding:2rem 1.5rem}.testimonials-grid{gap:1.5rem;grid-template-columns:1fr}.footer-content{gap:2rem;grid-template-columns:1fr;text-align:center}.page-header{height:100vh}.dot{border-width:1px;height:8px;width:8px}.header-text{height:calc(100% - 3rem);left:1.5rem;top:4.5rem;width:calc(100% - 3rem)}.header-text .header-title{font-size:1.8rem!important;letter-spacing:.5px!important;margin-bottom:.6rem!important}.header-text .header-subtitle{font-size:1.2rem!important;line-height:1.3!important}.hero-title{animation:heartbeat 3s ease-in-out infinite;font-size:1.8rem;justify-content:center;text-align:center}.hero-catchcopy{font-size:1.1rem}.hero-description{font-size:.95rem;margin:0 0 1.5rem}.hero-buttons{flex-direction:column;gap:1rem}.cta-button{transition:all .3s cubic-bezier(.25,.46,.45,.94)}.cta-button:active{transform:translateY(-2px)}.header-text{height:calc(100% - 4rem);left:2rem;top:5rem;width:calc(100% - 4rem)}.header-text .header-title{color:#fff!important;font-size:2rem!important;margin-bottom:.8rem!important}.header-text .header-subtitle{color:#fff!important;font-size:1.3rem!important}}.workflow-section{background:linear-gradient(135deg,#fefcf8,#faf7f2);border-radius:24px;margin-left:auto;margin-right:auto;margin-top:4rem;max-width:1000px;padding:3rem 2rem}.section-animate{opacity:0;transform:translateY(50px);transition:opacity 1.2s cubic-bezier(.23,1,.32,1),transform 1.2s cubic-bezier(.23,1,.32,1)}.section-animate.visible{opacity:1;transform:translateY(0)}.hero-animate{opacity:0;transform:translateY(80px) scale(.95);transition:opacity 1.5s cubic-bezier(.23,1,.32,1),transform 1.5s cubic-bezier(.23,1,.32,1)}.hero-animate.visible{opacity:1;transform:translateY(0) scale(1)}.contact-animate{opacity:0;transform:translateY(60px);transition:opacity 1s ease-out,transform 1s ease-out}.contact-animate.visible{opacity:1;transform:translateY(0)}.delay-100{transition-delay:.1s}@media (prefers-reduced-motion:reduce){.contact-animate,.hero-animate,.section-animate{opacity:1;transform:none;transition:none}}@media (max-width:768px){.contact-animate,.hero-animate,.section-animate{transform:translateY(30px);transition-duration:.6s}.contact-animate.visible,.hero-animate.visible,.section-animate.visible{transform:translateY(0)}}#contact,#features,#home,#howto{scroll-margin-top:80px}.fullscreen-image-section{height:85vh;margin-left:calc(-50vw + 50%);margin-right:calc(-50vw + 50%);overflow:hidden;width:100vw}.fullscreen-image-container,.fullscreen-image-section{align-items:center;display:flex;justify-content:center;position:relative}.fullscreen-image,.fullscreen-image-container{height:100%;width:100%}.fullscreen-image{animation:subtle-zoom 20s ease-in-out infinite alternate;display:block;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges;object-fit:cover;object-position:center;-webkit-user-select:none;user-select:none}.fullscreen-image-overlay{background:linear-gradient(45deg,#0000000d,#ffffff0d 50%,#0000000d);height:100%;left:0;opacity:.3;pointer-events:none;position:absolute;top:0;width:100%}@keyframes subtle-zoom{0%{transform:scale(1)}to{transform:scale(1.05)}}@media (max-width:1024px){.fullscreen-image-section{height:80vh}.fullscreen-image{animation:none}}@media (max-width:768px){.fullscreen-image-section{height:60vh;margin-left:calc(-50vw + 50%);margin-right:calc(-50vw + 50%)}.fullscreen-image{object-position:center center}.fullscreen-image-overlay{opacity:.2}}@media (max-width:480px){.fullscreen-image-section{height:50vh}}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){.fullscreen-image{image-rendering:-webkit-optimize-contrast}}@media (prefers-reduced-motion:reduce){.fullscreen-image{animation:none}}@media (prefers-color-scheme:dark){.fullscreen-image-overlay{background:linear-gradient(45deg,#00000026,#ffffff0d 50%,#00000026);opacity:.4}}.fullscreen-image-container:before{background:linear-gradient(135deg,#f5f5f5,#e0e0e0);content:"";height:100%;left:0;position:absolute;top:0;width:100%;z-index:-1}.fullscreen-image{opacity:.8;transition:opacity 1s ease-in-out}.fullscreen-image.loaded{opacity:1}.auth-container{align-items:center;background:#f3ede0;display:flex;height:100vh;justify-content:center}.auth-header{color:#8b7355;font-size:1.8rem;margin-bottom:10px}.auth-header,.auth-title{font-family:Georgia,"serif"}.auth-title{color:#6b5e4f;display:block;margin-bottom:20px}.auth-message{color:#b33a3a;font-size:14px;margin-top:10px;text-align:center}.auth-links{display:flex;font-size:12px;justify-content:space-between;margin-top:10px;width:100%}.auth-link{color:#8b7355;text-decoration:none;transition:color .3s}.auth-link:hover{color:#8b6040}.auth-confirm-resend-button{background-color:initial;border:none;color:#8b7355;cursor:pointer;font-size:.9rem;margin-top:10px;padding:6px 12px;text-decoration:underline}.auth-confirm-resend-button:hover{text-decoration:none}.auth-confirm-resend-button:disabled{background-color:#e5d5bb;cursor:not-allowed;opacity:.7}.auth-show-password-checkbox{align-items:center;color:#6b5e4f;cursor:pointer;display:flex;font-size:.9rem;gap:6px;margin:8px 0}.auth-show-password-checkbox input[type=checkbox]{cursor:pointer;height:16px;width:16px}input::-ms-clear,input::-ms-reveal,input::-webkit-clear-button,input::-webkit-credentials-auto-fill-button,input::-webkit-inner-spin-button{display:none}.auth-description{color:#8b7d6b;font-size:.9rem;line-height:1.4;margin-bottom:15px;margin-top:5px;text-align:left}.elegant-login-container{align-items:center;background:linear-gradient(135deg,#fefcf8,#faf7f2 50%,#f8f5f0);display:flex;font-family:Inter,sans-serif;justify-content:center;min-height:100vh;overflow:hidden;padding:2rem;position:relative}.elegant-login-background{height:100%;left:0;position:absolute;top:0;width:100%;z-index:1}.background-decoration{position:relative}.circle-1{animation-delay:0s;height:300px;left:10%;top:10%;width:300px}.circle-2{animation-delay:2s;height:200px;right:15%;top:60%;width:200px}.circle-3{animation-delay:4s;bottom:20%;height:150px;left:60%;width:150px}.elegant-login-card{background:linear-gradient(135deg,#fff,#fefcf9 50%,#f8f5f0);border:2px solid #fbbf2426;border-radius:32px;box-shadow:0 20px 48px #4a1a3e26,0 8px 24px #e91e6314,inset 0 1px 0 #ffffffe6;max-width:480px;overflow:hidden;padding:3rem;position:relative;width:100%;z-index:10}.elegant-login-card:before{background:linear-gradient(90deg,#c7aa7a,#fbbf24 50%,#c7aa7a);content:"";height:4px;left:0;opacity:.8;position:absolute;right:0;top:0}.elegant-login-card:after{background:radial-gradient(circle,#e91e630d 0,#0000 70%);border-radius:50%;content:"";height:100px;pointer-events:none;position:absolute;right:20px;top:20px;width:100px}.elegant-login-header{border-bottom:1px solid #e91e631a;margin-bottom:2.5rem;padding-bottom:2rem;position:relative;text-align:center}.header-decoration{left:50%;margin-bottom:1rem;position:absolute;top:0;transform:translateX(-50%)}.elegant-login-title{align-items:center;color:#5a4d3a;display:flex;font-family:Playfair Display,serif;font-size:2.5rem;font-weight:700;gap:1rem;justify-content:center;margin:2rem 0 .5rem;text-shadow:0 2px 4px #4a1a3e1a}.elegant-login-subtitle{font-feature-settings:"tnum";color:#8b7d6b;font-family:Crimson Pro,serif;font-size:1.125rem;font-style:italic;font-variant-numeric:tabular-nums;font-weight:400;letter-spacing:1px;margin:0}.elegant-form-section{margin-bottom:2rem}.elegant-form-title{color:#5a4d3a;font-family:Playfair Display,serif;font-size:1.75rem;font-weight:600;margin-bottom:2rem;text-align:center}.elegant-input-group{margin-bottom:1.5rem;position:relative}.input-icon{color:#8b7d6b;left:1rem;position:absolute;top:50%;transform:translateY(-50%);transition:color .3s ease;z-index:2}.elegant-input{background:#ffffffe6;border:2px solid #e91e6333;border-radius:16px;box-sizing:border-box;color:#5a4d3a;font-family:Inter,sans-serif;font-size:1rem;padding:1rem 1rem 1rem 3rem;transition:all .3s ease;width:100%}.elegant-input:focus{background:#fff;border-color:#c7aa7a;box-shadow:0 0 0 4px #e91e631a,0 4px 12px #e91e6326;outline:none}.elegant-input:focus+.input-icon,.elegant-input:focus~.input-icon{color:#c7aa7a}.elegant-input::placeholder{color:#8b7d6b;font-style:italic}.elegant-checkbox-group{margin-bottom:2rem}.elegant-checkbox-label{font-feature-settings:"tnum";align-items:center;color:#75695a;cursor:pointer;display:flex;font-family:Crimson Pro,serif;font-size:1rem;font-variant-numeric:tabular-nums;gap:.75rem;transition:color .3s ease}.elegant-checkbox-label:hover{color:#5a4d3a}.elegant-checkbox{appearance:none;background:#ffffffe6;border:2px solid #e91e634d;border-radius:4px;cursor:pointer;height:18px;position:relative;transition:all .3s ease;width:18px}.elegant-checkbox:checked{background:linear-gradient(135deg,#c7aa7a,#b29861);border-color:#c7aa7a}.elegant-checkbox:checked:before{color:#fff;content:"✓";font-size:12px;font-weight:700;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.checkbox-text{-webkit-user-select:none;user-select:none}.elegant-login-button{align-items:center;background:linear-gradient(135deg,#c7aa7a,#b29861);border:none;border-radius:16px;box-shadow:0 8px 24px #e91e634d,inset 0 1px 0 #fff3;color:#fff;cursor:pointer;display:flex;font-family:Inter,sans-serif;font-size:1.125rem;font-weight:600;gap:.75rem;justify-content:center;margin-bottom:1.5rem;min-height:58px;overflow:hidden;padding:1.25rem 2rem;position:relative;transition:all .3s cubic-bezier(.25,.46,.45,.94);width:100%}.elegant-login-button:before{background:linear-gradient(90deg,#0000,#ffffff4d,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;width:100%}.elegant-login-button:hover:before{left:100%}.elegant-login-button:hover{box-shadow:0 12px 32px #e91e6366,inset 0 1px 0 #ffffff4d;transform:translateY(-2px)}.elegant-login-button:disabled{box-shadow:0 4px 12px #e91e6333,inset 0 1px 0 #ffffff1a;cursor:not-allowed;opacity:.6;transform:none}.elegant-loading-spinner{animation:spin 1s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;display:inline-block;height:18px;position:relative;top:1px;width:18px}.elegant-message{background:linear-gradient(135deg,#fef2f2,#fef7f7);border:1px solid #ef444433;border-radius:12px;margin-bottom:1.5rem;padding:1rem;text-align:center}.elegant-message p{color:#dc2626;font-family:Inter,sans-serif;font-size:.875rem;margin:0}.elegant-links{border-top:1px solid #e91e631a;padding-top:1rem;text-align:center}.elegant-link{font-feature-settings:"tnum";align-items:center;color:#8b7d6b;display:inline-flex;font-family:Crimson Pro,serif;font-size:1rem;font-style:italic;font-variant-numeric:tabular-nums;gap:.5rem;position:relative;text-decoration:none;transition:all .3s ease}.elegant-link:hover{color:#c7aa7a}.elegant-link:after{background:linear-gradient(90deg,#c7aa7a,#b29861);bottom:-2px;content:"";height:1px;left:0;position:absolute;transition:width .3s ease;width:0}.elegant-link:hover:after{width:100%}.elegant-forgot-description{font-feature-settings:"tnum";color:#75695a;font-family:Crimson Pro,serif;font-size:1rem;font-style:italic;font-variant-numeric:tabular-nums;line-height:1.6;margin-bottom:2rem;text-align:center}.elegant-login-footer{border-top:1px solid #e91e631a;padding-top:2rem;text-align:center}.decoration-line{width:60px}.footer-text{font-size:.875rem}@media (max-width:768px){.elegant-login-container{padding:1rem}.elegant-login-card{max-width:100%;padding:2rem}.elegant-login-title{flex-direction:column;font-size:2rem;gap:.5rem}.elegant-form-title{font-size:1.5rem}}@media (max-width:480px){.elegant-login-card{border-radius:24px;padding:1.5rem}.elegant-login-title{font-size:1.75rem}.elegant-input{padding:.875rem .875rem .875rem 2.75rem}.elegant-login-button{font-size:1rem;padding:1rem 1.5rem}}.guest-message-section{margin:2rem 0}.guest-message-card{background:linear-gradient(135deg,#fbbf2414,#e91e630d);border:1px solid #fbbf2426;border-radius:16px;margin-bottom:1rem;padding:1.5rem;text-align:center}.message-text{font-feature-settings:"tnum";color:#5a4d3a;font-family:Crimson Pro,serif;font-size:1.1rem;font-variant-numeric:tabular-nums;line-height:1.6;margin:.3rem 0}.message-text.highlight{color:#c7aa7a;font-size:1.2rem;font-weight:600}.guest-button-section{display:flex;flex-direction:column;gap:1rem;margin:2rem 0}.elegant-guest-button{align-items:center;border:none;border-radius:16px;cursor:pointer;display:flex;font-size:1.1rem;font-weight:500;gap:.75rem;justify-content:center;overflow:hidden;padding:1.2rem 2rem;position:relative;transition:all .3s ease;width:100%}.elegant-guest-button.primary{background:linear-gradient(135deg,#c7aa7a,#b29861);box-shadow:0 8px 24px #e91e634d,inset 0 1px 0 #fff3;color:#fff}.elegant-guest-button.secondary{background:linear-gradient(135deg,#fbbf24,#f59e0b);border:2px solid #fbbf244d;box-shadow:0 8px 24px #fbbf244d,inset 0 1px 0 #fff6;color:#5a4d3a}.elegant-guest-button:hover{transform:translateY(-2px)}.elegant-guest-button.primary:hover{box-shadow:0 12px 32px #e91e6366,inset 0 1px 0 #ffffff4d}.elegant-guest-button.secondary:hover{box-shadow:0 12px 32px #fbbf2466,inset 0 1px 0 #ffffff80}.elegant-guest-button:disabled{cursor:not-allowed;opacity:.7;transform:none!important}.elegant-guest-button:disabled:hover{transform:none!important}@media (max-width:768px){.guest-message-card{padding:1rem}.message-text{font-size:1rem}.message-text.highlight{font-size:1.1rem}.elegant-guest-button{font-size:1rem;padding:1rem 1.5rem}}.elegant-success-section{padding:1rem 0;text-align:center}.success-icon{display:flex;justify-content:center;margin-bottom:1.5rem}.success-check{animation:successPulse 2s ease-in-out infinite;color:#4ade80;filter:drop-shadow(0 4px 8px rgba(74,222,128,.2))}.success-title{color:#16a34a!important;margin-bottom:1rem}.success-description{color:#4b5563!important;margin-bottom:1.5rem}.success-message{background:linear-gradient(135deg,#4ade801a,#22c55e0d)!important;border:1px solid #4ade8033!important;color:#16a34a!important}.error-banner{animation:slideDown .3s ease-out;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:12px 16px}.error-banner.roomId{background:#fef3cd}.error-banner.network,.error-banner.server{background:#fecaca}.error-banner.partial{background:#fed7aa}.error-content{gap:12px}.error-text h4{font-size:14px;font-weight:600;margin:0 0 4px}.error-text p{font-size:13px;margin:0;opacity:.8}.error-actions{gap:8px}.dismiss-button,.retry-button{border-radius:4px;font-size:12px;gap:4px;padding:6px 12px;transition:all .2s ease}.retry-button{background:#fffc}.retry-button:hover{background:#fffffff2;transform:translateY(-1px)}.wedding-gallery-layout{background:var(--gradient-wedding-background);display:flex;font-family:Inter,sans-serif;min-height:100vh;position:relative}.sidebar-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1500}.sidebar-container{z-index:1600}.sidebar-container.desktop{position:relative}.sidebar-container.mobile{height:100vh;left:0;position:fixed;top:0;transition:transform .3s cubic-bezier(.25,.46,.45,.94)}.sidebar-toggle-button{background:var(--gradient-warm-card);border:2px solid #8b5cf633;border-radius:16px;box-shadow:0 4px 16px #4a1a3e14,inset 0 1px 0 #ffffffe6;color:#8b5cf6;transition:all .3s cubic-bezier(.25,.46,.45,.94);z-index:1700}.sidebar-toggle-button:hover{background:var(--gradient-system);box-shadow:0 8px 24px #8b5cf64d;color:#fff;transform:translateY(-2px)}.sidebar-toggle-button:active{transform:translateY(0)}.wedding-gallery-content{background:var(--gradient-overlay-light);flex:1 1;min-height:100vh;overflow-x:auto;padding:1rem;transition:margin-left .3s cubic-bezier(.25,.46,.45,.94)}.wedding-gallery-content.desktop{margin-left:15px}.wedding-gallery-content.mobile{margin-left:0;padding-top:3.5rem}.loading-container{flex-direction:column;height:60vh}.gallery-header{margin-bottom:.25rem}.gallery-title{color:#5a4d3a;font-size:1rem;font-weight:500;margin:.125rem 0;text-shadow:0 1px 2px #4a1a3e1a}.statistics-grid{grid-gap:.25rem;display:grid;gap:.25rem;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));margin-bottom:.25rem}.stat-card{align-items:center;background:var(--gradient-card);border:1px solid var(--color-border-accent);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);display:flex;gap:.25rem;overflow:hidden;padding:.25rem;position:relative;transition:var(--transition-elegant)}.stat-card:before{content:"";height:4px;left:0;opacity:.8;position:absolute;right:0;top:0}.stat-card.pending:before{background:var(--gradient-warning)}.stat-card.approved:before{background:var(--gradient-success)}.stat-card.rejected:before{background:var(--gradient-error)}.stat-card.selected:before{background:var(--gradient-accent)}.stat-card:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-4px)}.stat-icon{align-items:center;border-radius:6px;color:#fff;display:flex;flex-shrink:0;height:18px;justify-content:center;width:18px}.stat-card.pending .stat-icon{background:var(--gradient-warning)}.stat-card.approved .stat-icon{background:var(--gradient-success)}.stat-card.rejected .stat-icon{background:var(--gradient-error)}.stat-card.selected .stat-icon{background:var(--gradient-accent)}.stat-content{flex:1 1}.stat-number{color:#5a4d3a;font-family:Playfair Display,serif;font-size:.875rem;font-weight:600;margin-bottom:.125rem}.stat-label{color:#8b7d6b;font-size:.5rem;font-weight:500}.filter-section{background:var(--gradient-warm-card);border:1px solid #fbbf241a;border-radius:16px;box-shadow:0 4px 16px #4a1a3e14,inset 0 1px 0 #ffffffe6;margin-bottom:2rem;padding:1.5rem}.filter-header{align-items:center;display:flex;gap:.75rem;margin-bottom:1rem}.filter-icon{color:#8b5cf6}.filter-title{color:#5a4d3a;font-family:Playfair Display,serif;font-size:1.25rem;font-weight:600}.elegant-filter-select{appearance:none;background:#ffffffe6;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%238b5cf6' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;border:2px solid #8b5cf633;border-radius:12px;color:#5a4d3a;font-family:Inter,sans-serif;font-size:1rem;padding:1rem 3rem 1rem 1.25rem;transition:all .3s ease;width:100%}.elegant-filter-select:focus{background:#fff;border-color:#8b5cf6;box-shadow:0 0 0 4px #8b5cf61a,0 4px 12px #8b5cf626;outline:none}.elegant-image-grid-container{background:var(--gradient-warm-card);border:1px solid #fbbf241a;border-radius:12px;box-shadow:0 2px 8px #4a1a3e14,0 1px 4px #e91e630a,inset 0 1px 0 #ffffffe6;margin-bottom:.5rem;min-height:100px;padding:.5rem}.elegant-pagination{align-items:center;background:var(--gradient-warm-card);border:1px solid #fbbf241a;border-radius:16px;box-shadow:0 4px 16px #4a1a3e14,inset 0 1px 0 #ffffffe6;display:flex;justify-content:space-between;margin-bottom:2rem;padding:1.5rem}.pagination-button{background:var(--gradient-light-card);border:2px solid #8b5cf64d;color:#8b5cf6;padding:.75rem 1.5rem}.pagination-button:hover:not(:disabled){background:var(--gradient-system);box-shadow:0 8px 24px #8b5cf64d;color:#fff;transform:translateY(-2px)}.pagination-button:disabled{cursor:not-allowed;opacity:.5;transform:none}.pagination-info{align-items:center;color:#5a4d3a;display:flex;font-family:Playfair Display,serif;font-size:1.125rem;gap:.5rem}.page-current{color:#c7aa7a;font-weight:700}.page-separator,.page-total{color:#8b7d6b}.action-buttons-section{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1fr 1fr;margin-bottom:2rem}.elegant-action-button{border-radius:16px;font-size:1rem;padding:1.25rem 2rem}.elegant-action-button.approve:hover,.elegant-action-button.reject:hover{transform:translateY(-2px)}.elegant-action-button:disabled{box-shadow:0 4px 12px #0000001a,inset 0 1px 0 #ffffff1a;opacity:.5;transform:none}.action-count{background:#fff3;border-radius:8px;font-size:.875rem;margin-left:.5rem;padding:.25rem .5rem}.elegant-loading-overlay{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#4a1a3ecc;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}.elegant-loading-content{background:var(--gradient-warm-card);border:1px solid #fbbf2433;border-radius:24px;box-shadow:0 20px 48px #4a1a3e4d,inset 0 1px 0 #ffffffe6;margin:2rem;max-width:400px;padding:3rem;text-align:center}.loading-title{color:#5a4d3a;font-family:Playfair Display,serif;font-size:1.5rem;font-weight:600;margin:1.5rem 0 .5rem}.loading-description{font-feature-settings:"tnum";color:#8b7d6b;font-family:Crimson Pro,serif;font-size:1rem;font-style:italic;font-variant-numeric:tabular-nums;margin:0}.gallery-footer{margin-top:3rem;padding-top:2rem;text-align:center}@media (max-width:1023px) and (min-width:768px){.wedding-gallery-content.mobile{padding:5rem 1.5rem 1.5rem}.sidebar-toggle-button{left:1.5rem;top:1.5rem}.statistics-grid{gap:1.5rem;grid-template-columns:repeat(2,1fr)}}@media (max-width:767px){.wedding-gallery-content.mobile{padding:4.5rem 1rem 1rem}.sidebar-toggle-button{height:44px;left:1rem;top:1rem;width:44px}.gallery-title{flex-direction:column;font-size:2rem;gap:.5rem}.statistics-grid{gap:1rem;grid-template-columns:repeat(2,1fr)}.action-buttons-section{gap:1rem;grid-template-columns:1fr}.elegant-pagination{flex-direction:column;gap:1rem}.elegant-image-grid-container,.stat-card{padding:1rem}}@media (max-width:480px){.wedding-gallery-content.mobile{padding:4rem .75rem .75rem}.statistics-grid{gap:.75rem;grid-template-columns:1fr}.gallery-title{font-size:1.75rem}.sidebar-toggle-button{height:40px;left:.75rem;top:.75rem;width:40px}}.popup-confirm-overlay{align-items:center;animation:fadeIn .3s ease-out;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#4a1a3ecc;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}.popup-confirm-content{animation:slideUp .3s ease-out;background:var(--gradient-elegant-card);border:2px solid #fbbf2433;border-radius:24px;box-shadow:0 20px 48px #4a1a3e4d,0 8px 24px #e91e6333,inset 0 1px 0 #ffffffe6;max-width:480px;overflow:hidden;padding:3rem;position:relative;text-align:center;width:90%}.popup-confirm-content:before{animation:shimmer 2s ease-in-out infinite;background:var(--gradient-line-decorative);content:"";height:4px;left:0;position:absolute;right:0;top:0}@keyframes shimmer{0%,to{transform:translateX(-100%)}50%{transform:translateX(100%)}}.popup-confirm-title{color:#5a4d3a;display:inline-block;font-family:Playfair Display,serif;font-size:1.75rem;font-weight:700;margin:0 0 1.5rem;position:relative;text-shadow:0 2px 4px #4a1a3e1a}.popup-confirm-title:after{animation:float 2s ease-in-out infinite;color:#c7aa7a;content:"♡";font-size:1rem;position:absolute;right:-1.5rem;top:-.5rem}.popup-confirm-text{font-feature-settings:"tnum";color:#6b4e58;font-family:Crimson Pro,serif;font-size:1.25rem;font-variant-numeric:tabular-nums;font-weight:400;line-height:1.6;margin:0 0 2.5rem}.popup-confirm-no-btn,.popup-confirm-yes-btn{border:none!important;border-radius:16px!important;cursor:pointer!important;font-family:Inter,sans-serif!important;font-size:1rem!important;font-weight:600!important;letter-spacing:normal!important;margin:0 .75rem!important;min-width:120px!important;overflow:hidden!important;padding:1rem 2rem!important;position:relative!important;text-transform:none!important;transition:all .3s cubic-bezier(.25,.46,.45,.94)!important}.popup-confirm-no-btn:before,.popup-confirm-yes-btn:before{background:var(--gradient-shimmer);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;width:100%}.popup-confirm-no-btn:hover:before,.popup-confirm-yes-btn:hover:before{left:100%}.popup-confirm-yes-btn{background:var(--gradient-success)!important;box-shadow:0 8px 24px #10b9814d,inset 0 1px 0 #fff3!important;color:#fff!important}.popup-confirm-yes-btn:hover{box-shadow:0 12px 32px #10b98166,inset 0 1px 0 #ffffff4d!important;transform:translateY(-2px)!important}.popup-confirm-no-btn{background:var(--gradient-dark-muted)!important;box-shadow:0 8px 24px #8b6f854d,inset 0 1px 0 #fff3!important;color:#fff!important}.popup-confirm-no-btn:hover{box-shadow:0 12px 32px #8b6f8566,inset 0 1px 0 #ffffff4d!important;transform:translateY(-2px)!important}.toast-notification{animation:slideInToast .3s cubic-bezier(.25,.46,.45,.94);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:16px;box-shadow:0 20px 48px #4a1a3e4d,0 8px 24px #e91e6333,inset 0 1px 0 #ffffffe6;font-family:Inter,sans-serif;max-width:400px;padding:1rem 1.5rem;position:fixed;right:2rem;top:2rem;z-index:2000}@keyframes slideInToast{0%{opacity:0;transform:translateX(100%) translateY(-10px)}to{opacity:1;transform:translateX(0) translateY(0)}}.toast-notification.success{background:var(--gradient-success);border:2px solid #10b9814d}.toast-notification.error{background:var(--gradient-error);border:2px solid #ef44444d}.toast-content{align-items:center;display:flex;gap:.75rem}.toast-message{color:#fff;font-size:1rem;font-weight:600;text-shadow:0 1px 2px #0003}.toast-notification.success:before{content:"✓"}.toast-notification.error:before,.toast-notification.success:before{color:#fff;font-size:1.25rem;font-weight:700;left:1rem;position:absolute;top:50%;transform:translateY(-50%)}.toast-notification.error:before{content:"✕"}.toast-notification.error .toast-message,.toast-notification.success .toast-message{margin-left:1.5rem}@media (max-width:640px){.toast-notification{left:1rem;max-width:none;right:1rem;top:1rem}.popup-confirm-content{margin:1rem;padding:2rem}.popup-confirm-title{font-size:1.5rem}.popup-confirm-text{font-size:1.125rem}.popup-confirm-no-btn,.popup-confirm-yes-btn{display:block!important;margin:.5rem 0!important;width:100%!important}}.dashboard-navigation{background:#fff;border-bottom:1px solid #e5e7eb;box-shadow:0 1px 3px #0000001a;margin-bottom:1rem;padding:1rem 0}.nav-links{display:flex;flex-wrap:wrap;gap:2rem;justify-content:center}.nav-link{align-items:center;border:1px solid #0000;border-radius:8px;color:#6b7280;display:flex;font-size:.875rem;font-weight:500;padding:.75rem 1.5rem;text-decoration:none;transition:all .2s ease}.nav-link:hover{background-color:#f3f4f6;border-color:#e5e7eb;color:#3b82f6}.nav-link.active{background-color:#eff6ff;border-color:#bfdbfe;color:#3b82f6;font-weight:600}@media (max-width:768px){.nav-links{align-items:center;flex-direction:column;gap:.5rem}.nav-link{justify-content:center;max-width:300px;width:100%}}.bulk-actions-bar{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffd9;border-bottom:1px solid #0000000f;box-shadow:0 4px 12px #0000000d;display:flex;gap:12px;justify-content:space-between;padding:8px 12px;position:sticky;top:0;z-index:50}.bulk-actions-left{align-items:center;display:flex;gap:10px}.bulk-actions-count{color:#374151;font-size:30px}.bulk-actions-right{align-items:center;display:flex;gap:8px}.btn-approve,.btn-ghost,.btn-reject{border:none;border-radius:8px;cursor:pointer;font-weight:600;padding:8px 12px}.btn-approve{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.btn-reject{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.btn-ghost{background:#0000;border:1px solid #0000001f;color:#374151}.btn-approve:disabled,.btn-ghost:disabled,.btn-reject:disabled{cursor:not-allowed;opacity:.6}@supports (padding:max(0px)){.bulk-actions-bar{padding-top:max(8px,env(safe-area-inset-top))}}@media (max-width:640px){.bulk-actions-bar{gap:8px;padding:6px 8px}.btn-approve,.btn-ghost,.btn-reject{padding:6px 10px}}:root{--app-scale:1}.wedding-gallery-content{overflow:auto;position:relative}.scale-root{min-height:100vh;min-height:calc(100vh/var(--app-scale));transform:scale(1);transform:scale(var(--app-scale));transform-origin:top left;width:100%;width:calc(100%/var(--app-scale))}.no-scale{height:auto!important;transform:none!important;width:auto!important}body,html{overscroll-behavior:none}.wedding-gallery-content,.wedding-gallery-layout{min-height:100vh;overflow:auto}.bulk-actions-bar{border-radius:12px;font-size:14px;height:50px;margin-bottom:5px;padding:6px 12px}.bulk-actions-bar .btn-approve,.bulk-actions-bar .btn-reject{border-radius:8px;font-size:14px;padding:8px 16px}@media (max-width:640px){.bulk-actions-bar{border-radius:14px;font-size:15px;height:68px;padding:12px 16px}.bulk-actions-bar .btn-approve,.bulk-actions-bar .btn-reject{border-radius:10px;font-size:14px;padding:10px 14px}}.pagination-button.next,.pagination-button.prev{font-size:25px}.compact-pagination{background:var(--gradient-warm-card);border:1px solid #fbbf241a;border-radius:12px;box-shadow:0 2px 8px #4a1a3e14;gap:1rem;margin:1rem auto;padding:.5rem 1rem;width:fit-content}.compact-pagination,.pagination-button-compact{align-items:center;display:flex;justify-content:center}.pagination-button-compact{background:var(--gradient-light-card);border:1px solid #8b5cf64d;border-radius:8px;color:#8b5cf6;cursor:pointer;height:32px;transition:all .2s ease;width:32px}.pagination-button-compact:hover:not(:disabled){background:var(--gradient-system);color:#fff;transform:scale(1.05)}.pagination-button-compact:disabled{cursor:not-allowed;opacity:.4;transform:none}.pagination-info-compact{align-items:center;color:#5a4d3a;display:flex;font-family:Inter,sans-serif;font-size:.875rem;gap:.25rem;justify-content:center;min-width:60px}.elegant-sidebar{background:linear-gradient(180deg,#f7f3ec,#fff);border-right:1px solid #e8e0d1;box-shadow:4px 0 30px #00000014;font-family:Inter,sans-serif;height:100vh;left:0;overflow-y:auto;position:fixed;top:0;width:360px;z-index:1000}.sidebar-header{background:linear-gradient(135deg,#f5f1ea,#f7f3ec);border-bottom:1px solid #e8e0d1;padding:2rem;text-align:center}.header-icon{align-items:center;background:linear-gradient(135deg,#e6d2b3,#d8c3a5);border-radius:50%;box-shadow:0 4px 20px #d8c3a54d;color:#8b7355;display:flex;height:60px;justify-content:center;margin:0 auto 1rem;width:60px}.header-title{color:#6b5e4f;font-family:Playfair Display,serif;font-size:1.75rem;font-weight:700;letter-spacing:.5px;margin:0 0 .5rem}.header-subtitle{color:#8b7355;font-size:.875rem;font-weight:300;letter-spacing:1px;margin:0;text-transform:uppercase}.sidebar-nav{padding:1.5rem}.nav-item{background:#fff;border:2px solid #0000;border-radius:20px;color:inherit;display:block;margin-bottom:.75rem;overflow:hidden;padding:1rem;position:relative;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%}.nav-item:hover{border-color:#e6d2b3;box-shadow:0 8px 25px #0000001a;transform:translateY(-2px) scale(1.02)}.nav-item.active,.nav-item:hover{background:linear-gradient(135deg,#f5f1ff,#f5f1ea)}.nav-item.active{border-color:#d8c3a5;box-shadow:0 4px 20px #d8c3a533}button.nav-item{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:none;background:#ffffffe6;border:2px solid #0000;border-radius:24px;box-shadow:0 4px 16px #6b5b4c1a;color:inherit;cursor:pointer;font-family:inherit;font-size:inherit;margin:0 0 1rem;overflow:hidden;padding:1.5rem;position:relative;text-align:left;transition:all .3s cubic-bezier(.25,.46,.45,.94);width:100%}button.nav-item:hover{border-color:#e6d2b3;box-shadow:0 8px 25px #0000001a;transform:translateY(-2px)}button.nav-item.active,button.nav-item:hover{background:linear-gradient(135deg,#f5f1ff,#f5f1ea)}button.nav-item.active{border-color:#d8c3a5;box-shadow:0 4px 20px #d8c3a533}.nav-content{gap:1rem;position:relative}.nav-content,.nav-icon{align-items:center;display:flex}.nav-icon{background:linear-gradient(135deg,#ede7dc,#e1dcd1);border-radius:16px;color:#8b7d6b;flex-shrink:0;height:48px;justify-content:center;transition:all .3s ease;width:48px}.nav-item.active .nav-icon,.nav-item:hover .nav-icon{background:linear-gradient(135deg,#e6d2b3,#d8c3a5);color:#8b7355;transform:scale(1.1)}.nav-text{flex:1 1}.nav-label{color:#5a4d3a;font-size:1.125rem;font-weight:600;margin:0 0 .25rem;transition:color .3s ease}.nav-item.active .nav-label,.nav-item:hover .nav-label{color:#6b5e4f}.nav-description{color:#8b7d6b;font-size:.875rem;margin:0;transition:color .3s ease}.nav-item.active .nav-description,.nav-item:hover .nav-description{color:#8b7355}.active-indicator{background:linear-gradient(180deg,#d8c3a5,#c7aa7a);border-radius:2px;flex-shrink:0;height:32px;width:4px}.decoration-top{background:#e6d2b3;height:8px;opacity:.3;right:8px;top:8px;width:8px}.decoration-bottom,.decoration-top{border-radius:50%;position:absolute}.decoration-bottom{background:#d8c3a5;bottom:8px;height:4px;opacity:.2;right:16px;width:4px}.dot{background:#e6d2b3;border-radius:50%;height:8px;width:8px}.dot:first-child{opacity:.6}.dot:nth-child(2){background:#d8c3a5;opacity:.4}.dot:nth-child(3){opacity:.6}@media (max-width:768px){.elegant-sidebar{width:280px}.header-title{font-size:1.5rem}.nav-label{font-size:1rem}.nav-description{font-size:.75rem}}@media (max-width:640px){.nav-item:nth-child(2){display:none}}.elegant-sidebar::-webkit-scrollbar{width:6px}.elegant-sidebar::-webkit-scrollbar-track{background:#f5f1ea}.elegant-sidebar::-webkit-scrollbar-thumb{background:#e6d2b3;border-radius:3px}.elegant-sidebar::-webkit-scrollbar-thumb:hover{background:#d8c3a5}.nav-item{animation:fadeIn .5s ease-out}.nav-item:first-child{animation-delay:.1s}.nav-item:nth-child(2){animation-delay:.2s}.nav-item:nth-child(3){animation-delay:.3s}.nav-item:nth-child(4){animation-delay:.4s}.info-popup-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.info-popup-modal{background-color:#fff;border:3px solid #dc2626;border-radius:16px;box-shadow:0 10px 25px #0000004d;max-width:650px;padding:3rem;position:relative;width:95%}.info-popup-content{text-align:center}.info-popup-title{color:#dc2626;font-size:1.5rem;font-weight:600;line-height:1.5;margin:0 0 2rem}.info-popup-list{color:#dc2626;font-size:1.125rem;line-height:1.7;margin:0 0 2.5rem;padding-left:2rem;text-align:left}.info-popup-list li{font-size:1.25rem;margin-bottom:.5rem}.info-popup-close-btn{background-color:#dc2626;border:none;border-radius:8px;color:#fff;cursor:pointer;display:block;font-size:1.125rem;font-weight:500;margin:0 auto;padding:14px 32px;transition:background-color .2s ease}.info-popup-close-btn:hover{background-color:#b91c1c}.info-popup-close-btn:active{background-color:#991b1b}.error-banner{align-items:center;animation:slideDown .4s cubic-bezier(.25,.46,.45,.94);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-left:4px solid;border-radius:10px;box-shadow:0 3px 12px #00000014;display:flex;font-family:Inter,sans-serif;justify-content:space-between;margin:16px 0;padding:14px 18px;transition:all .3s ease}.error-banner:hover{box-shadow:0 4px 16px #0000001f;transform:translateY(-1px)}.error-banner.roomId{background:linear-gradient(135deg,#fef3cd,#fef3cd);border-left-color:#f59e0b;color:#92400e}.error-banner.network{background:linear-gradient(135deg,#fee2e2,#fecaca);border-left-color:#ef4444;color:#b91c1c}.error-banner.server{background:linear-gradient(135deg,#fee2e2,#fef2f2);border-left-color:#dc2626;color:#991b1b}.error-banner.partial{background:linear-gradient(135deg,#fed7aa,#fdba74);border-left-color:#f97316;color:#c2410c}.error-banner.unknown{background:linear-gradient(135deg,#e5e7eb,#d1d5db);border-left-color:#6b7280;color:#374151}.error-content{align-items:flex-start;display:flex;flex:1 1;gap:14px}.error-icon{flex-shrink:0;margin-top:2px}.error-text{flex:1 1}.error-message{font-size:15px;font-weight:600;line-height:1.4;margin:0 0 4px}.error-details{font-size:13px;line-height:1.5;margin:0;opacity:.85}.error-actions{align-items:center;display:flex;flex-shrink:0;gap:10px}.dismiss-button,.retry-button{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;font-family:inherit;font-size:13px;font-weight:500;gap:6px;padding:8px 14px;transition:all .2s cubic-bezier(.25,.46,.45,.94)}.retry-button{background:#ffffffd9;border:1px solid #ffffff4d;color:inherit}.retry-button:hover:not(:disabled){background:#fffffff2;box-shadow:0 2px 8px #00000026;transform:translateY(-1px)}.retry-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.dismiss-button{background:#0000;border:1px solid #0000;color:inherit;opacity:.7}.dismiss-button:hover{background:#ffffff4d;opacity:1;transform:scale(1.05)}.error-toast{animation:slideInRight .3s ease-out;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-left:4px solid;border-radius:8px;box-shadow:0 4px 20px #00000026;max-width:400px;padding:12px 16px;position:fixed;right:20px;top:20px;z-index:9999}@keyframes slideInRight{0%{opacity:0;transform:translateX(100px)}to{opacity:1;transform:translateX(0)}}.error-toast.roomId{background:#fef3cdf2;border-left-color:#f59e0b;color:#92400e}.error-toast.network{background:#fecacaf2;border-left-color:#ef4444;color:#b91c1c}.error-toast.server{background:#fecacaf2;border-left-color:#dc2626;color:#991b1b}.error-toast.partial{background:#fdba74f2;border-left-color:#f97316;color:#c2410c}.error-toast.unknown{background:#e5e7ebf2;border-left-color:#6b7280;color:#374151}.error-toast .error-content{gap:12px}.error-toast .error-message{font-size:14px;margin:0}.error-stats{background:#fff6;border:1px solid #ffffff80;border-radius:6px;margin-top:12px;padding:12px}.stats-content{align-items:center;display:flex;gap:16px;justify-content:space-between}.stats-numbers{display:flex;font-size:13px;font-weight:500;gap:16px}.success-count{color:#059669}.failed-count{color:#dc2626}.success-rate{color:#6b7280}.retry-failed-button{background:#fffc;border:1px solid #fff6;border-radius:4px;color:inherit;cursor:pointer;font-size:12px;font-weight:500;padding:6px 12px;transition:all .2s ease}.retry-failed-button:hover{background:#fffffff2;transform:translateY(-1px)}@media (max-width:768px){.error-banner{margin:12px 0;padding:12px 14px}.error-content{gap:10px}.error-message{font-size:14px}.error-details{font-size:12px}.error-actions{gap:8px}.dismiss-button,.retry-button{font-size:12px;padding:6px 10px}.error-toast{left:16px;max-width:none;right:16px;top:16px}.stats-content{align-items:flex-start;flex-direction:column;gap:12px}.stats-numbers{gap:12px}}@media (prefers-color-scheme:dark){.error-banner.roomId{background:linear-gradient(135deg,#451a03,#78350f);color:#fbbf24}.error-banner.network,.error-banner.server{background:linear-gradient(135deg,#450a0a,#7f1d1d);color:#fca5a5}.error-banner.partial{background:linear-gradient(135deg,#431407,#9a3412);color:#fed7aa}.error-banner.unknown{background:linear-gradient(135deg,#1f2937,#374151);color:#d1d5db}}.elegant-image-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin:0;max-width:100%;padding:0;width:100%}.elegant-image-grid.masonry{column-count:3;column-gap:2rem;display:block}@media (max-width:768px){.elegant-image-grid.masonry{column-count:2}}@media (max-width:640px){.elegant-image-grid.masonry{column-count:2}}@media (min-width:1024px){.elegant-image-grid.masonry{column-count:4}}@media (min-width:1280px){.elegant-image-grid.masonry{column-count:5}}.elegant-image-grid.masonry .elegant-image-item{break-inside:avoid;display:inline-block;margin:0 0 2rem;max-width:none;page-break-inside:avoid;width:100%}.elegant-image-item.selected{background:linear-gradient(135deg,#fef7ff,#fdf2f8);border:2px solid #e91e63;box-shadow:0 6px 20px #e91e6326,0 3px 10px #e91e631a,inset 0 1px 0 #fffffff2}.image-container{align-items:center;background:linear-gradient(135deg,#f3f4f6,#e5e7eb);border-radius:12px;display:flex;height:160px;justify-content:center;overflow:hidden;position:relative;width:100%}.elegant-image-grid.masonry .image-container{height:auto;min-height:120px}.elegant-image-grid.masonry .elegant-image{height:auto;object-fit:cover;object-position:center;position:relative;width:100%}.elegant-image{height:100%;object-fit:cover;object-position:center;transition:transform .3s ease;width:100%}.elegant-image,.image-overlay{border-radius:12px;left:0;position:absolute;top:0}.image-overlay{align-items:center;background:linear-gradient(135deg,#4a1a3e00,#4a1a3e1a 50%,#e91e6333);bottom:0;display:flex;justify-content:center;opacity:0;right:0;transition:opacity .3s ease}.elegant-image-item.selected .image-overlay{background:linear-gradient(135deg,#e91e631a,#e91e6333 50%,#e91e634d);opacity:1}.overlay-content,.selection-indicator{align-items:center;display:flex;flex-direction:column;gap:.25rem}.selection-indicator{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff2;border:1px solid #e91e634d;border-radius:12px;box-shadow:0 3px 12px #e91e6333;padding:.5rem .75rem}.check-icon{color:#e91e63;filter:drop-shadow(0 2px 4px rgba(233,30,99,.3));height:20px;width:20px}.selection-text{color:#4a1a3e;font-family:Inter,sans-serif;font-size:.75rem;font-weight:600;letter-spacing:.5px}.status-badge{position:absolute;right:.5rem;top:.5rem}.badge{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:8px;box-shadow:0 2px 8px #0000001a;font-family:Inter,sans-serif;font-size:.625rem;font-weight:600;letter-spacing:.5px;padding:.25rem .5rem;text-transform:uppercase}.approved-badge{background:#10b981e6;border:1px solid #10b9814d;color:#fff}.rejected-badge{background:#ef4444e6;border:1px solid #ef44444d;color:#fff}.unmoderated-badge{background:#fbbf24e6;border:1px solid #fbbf244d;color:#fff}.decorative-border{background:linear-gradient(90deg,#e91e63,#fbbf24 50%,#e91e63);border-bottom-left-radius:16px;border-bottom-right-radius:16px;bottom:0;height:2px;left:0;opacity:0;position:absolute;right:0;transition:opacity .3s ease}.elegant-image-item:hover .decorative-border{opacity:.6}.elegant-image-item.selected .decorative-border{opacity:1}.elegant-empty-grid{align-items:center;background:linear-gradient(135deg,#fff,#fefcf9);border:2px dashed #8b5cf64d;border-radius:20px;display:flex;flex-direction:column;justify-content:center;margin:2rem 0;min-height:300px;padding:3rem 2rem;text-align:center}.empty-heart-icon{animation:heartbeat 3s ease-in-out infinite;color:#e91e63;margin-bottom:1rem;opacity:.6}.empty-title{color:#4a1a3e;font-family:Playfair Display,serif;font-size:1.5rem;font-weight:600;margin:0 0 .5rem}.empty-description{font-feature-settings:"tnum";color:#8b6f85;font-family:Crimson Pro,serif;font-size:1rem;font-style:italic;font-variant-numeric:tabular-nums;line-height:1.6;margin:0;max-width:400px}@media (max-width:768px){.elegant-image-grid{gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}.image-container{height:140px}.selection-indicator{padding:.375rem .5rem}.check-icon{height:18px;width:18px}.selection-text{font-size:.625rem}}@media (max-width:640px){.elegant-image-grid{gap:1rem;grid-template-columns:repeat(3,1fr)}.image-container{height:100px}.status-badge{right:.375rem;top:.375rem}.badge{font-size:.5rem;padding:.1875rem .375rem}.selection-indicator{padding:.25rem .375rem}.check-icon{height:16px;width:16px}.selection-text{font-size:.5rem}.elegant-empty-grid{min-height:250px;padding:2rem 1rem}.empty-heart-icon{height:36px;width:36px}.empty-title{font-size:1.25rem}.empty-description{font-size:.875rem}}@media (min-width:1024px){.elegant-image-grid{gap:2.25rem;grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}.image-container{height:170px}}@media (min-width:1280px){.elegant-image-grid{gap:2.5rem;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.image-container{height:180px}}.masonry-grid{display:flex;margin-left:-12px;width:auto}.masonry-grid_column{background-clip:padding-box;padding-left:12px}.elegant-image-item{margin-bottom:12px}.swipe-indicator{align-items:center;animation:swipeIndicatorPulse .3s ease-out;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border-radius:20px;box-shadow:0 10px 30px #0003;display:flex;flex-direction:column;font-size:18px;font-weight:600;justify-content:center;left:50%;padding:24px 32px;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:10}.swipe-indicator.approve{border:3px solid var(--color-success);color:var(--color-success)}.swipe-indicator.reject{border:3px solid var(--color-error);color:var(--color-error)}.swipe-indicator span{font-family:Inter,sans-serif;margin-top:8px}@keyframes swipeIndicatorPulse{0%{opacity:0;transform:translate(-50%,-50%) scale(.8)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.elegant-image-preview{cursor:grab;-moz-user-select:none;-ms-user-select:none}.elegant-image-preview:active{cursor:grabbing}.swipe-hints{transition:opacity .2s ease}.elegant-action-button{transition:all .15s ease}.elegant-action-button:before{background:#ffffff4d;border-radius:50%;height:0;left:50%;top:50%;transform:translate(-50%,-50%);transition:width .3s ease,height .3s ease;width:0;z-index:0}.elegant-action-button.pressed:before{height:300px;width:300px}.elegant-action-button.pressed{transform:scale(.95)}.elegant-action-button:disabled{cursor:not-allowed;opacity:.7}.elegant-action-button.approve.pressed{animation:successPulse .3s ease-out;background:var(--color-success);border-color:var(--color-success);color:#fff}.elegant-action-button.reject.pressed{animation:errorPulse .3s ease-out;background:var(--color-error);border-color:var(--color-error);color:#fff}@keyframes successPulse{0%{box-shadow:0 0 0 0 var(--color-success)}70%{box-shadow:0 0 0 10px #2ea04300}to{box-shadow:0 0 0 0 #2ea04300}}@keyframes errorPulse{0%{box-shadow:0 0 0 0 var(--color-error)}70%{box-shadow:0 0 0 10px #ef444400}to{box-shadow:0 0 0 0 #ef444400}}.action-message{animation:messageSlideIn .3s ease-out;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;box-shadow:0 8px 32px #00000026;font-size:16px;font-weight:600;left:calc(50% + 180px);padding:16px 24px;position:fixed;top:50%;transform:translate(-50%,-50%);z-index:1000}@media (max-width:1023px){.action-message{left:50%}}.action-message.success{background:#2ea043f2;border:2px solid var(--color-success);color:#fff}.action-message.error{background:#ef4444f2;border:2px solid var(--color-error);color:#fff}@keyframes messageSlideIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.8)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.wedding-swipe-layout{background:var(--gradient-wedding-background);display:flex;font-family:Inter,sans-serif;min-height:100vh;position:relative}.sidebar-toggle-button{background:var(--gradient-system)}.wedding-swipe-content{background:var(--gradient-overlay-light);display:flex;flex:1 1;flex-direction:column;height:100vh;overflow:hidden;padding:1rem;position:relative}.wedding-swipe-content.screen-mobile-landscape{padding:3rem .5rem .5rem}.wedding-swipe-content.screen-mobile-portrait{padding:4rem .75rem .75rem}.wedding-swipe-content.screen-tablet{padding:1rem}.wedding-swipe-content.screen-desktop{padding:1.5rem}.wedding-swipe-content.desktop{margin-left:30px}.wedding-swipe-content.mobile{height:100vh;margin-left:0;overflow:hidden;padding-top:4rem}.tutorial-guide-overlay{align-items:center;animation:tutorialFadeIn .3s ease-out;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000000d9;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:2000}@keyframes tutorialFadeIn{0%{-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0);opacity:0}to{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:1}}.tutorial-guide-content{animation:tutorialSlideUp .4s ease-out;background:var(--gradient-warm-card);border:1px solid #8b5cf633;border-radius:24px;box-shadow:0 25px 60px #0000004d,inset 0 1px 0 #ffffffe6;margin:2rem;max-width:480px;padding:3rem;text-align:center}@keyframes tutorialSlideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.tutorial-guide-header{margin-bottom:2.5rem}.tutorial-guide-icon{animation:tutorialIconPulse 2s ease-in-out infinite;color:#8b5cf6;filter:drop-shadow(0 4px 8px rgba(139,92,246,.3));margin-bottom:1rem}@keyframes tutorialIconPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.tutorial-guide-title{color:#2d3748;font-family:Playfair Display,serif;font-size:2rem;font-weight:700;margin:0 0 .75rem;text-shadow:0 2px 4px #0000001a}.tutorial-guide-subtitle{color:#718096;font-family:Inter,sans-serif;font-size:1rem;font-weight:400;margin:0}.guide-image{border-radius:16px;box-shadow:0 8px 24px #0000001a;height:auto;margin-bottom:2rem;max-width:100%}.elegant-guide-close-btn{align-items:center;background:var(--gradient-accent);border:none;border-radius:16px;color:#fff;cursor:pointer;display:flex;font-family:Inter,sans-serif;font-size:1rem;font-weight:600;gap:.75rem;justify-content:center;margin:0 auto;padding:1rem 2rem;transition:all .3s ease}.tutorial-guide-instructions{display:flex;flex-direction:column;gap:1.5rem;margin:2rem 0}.tutorial-instruction-item{align-items:center;background:var(--gradient-neutral-card);border:1px solid #8b5cf61a;border-radius:16px;box-shadow:0 4px 12px #0000000d;display:flex;gap:1rem;padding:1.5rem;transition:all .3s ease}.tutorial-instruction-item:hover{box-shadow:0 8px 20px #0000001a;transform:translateY(-2px)}.instruction-icon{align-items:center;border-radius:12px;box-shadow:0 4px 12px #00000026;color:#fff;display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.instruction-icon.approve-icon{background:var(--gradient-success)}.instruction-icon.reject-icon{background:var(--gradient-error)}.instruction-content{flex:1 1;text-align:left}.instruction-content h3{color:#2d3748;font-family:Inter,sans-serif;font-size:1.125rem;font-weight:600;margin:0 0 .25rem}.instruction-content p{color:#718096;font-family:Inter,sans-serif;font-size:.875rem;margin:0}.instruction-arrow{animation:arrowBounce 2s ease-in-out infinite;color:#8b5cf6;font-size:1.5rem;font-weight:700}@keyframes arrowBounce{0%,to{transform:translateX(0)}50%{transform:translateX(4px)}}.instruction-arrow.left-arrow{animation:arrowBounceLeft 2s ease-in-out infinite}@keyframes arrowBounceLeft{0%,to{transform:translateX(0)}50%{transform:translateX(-4px)}}.tutorial-guide-tips{background:var(--gradient-light-highlight);border:1px solid #fbbf2433;border-radius:12px;margin:2rem 0;padding:1rem 1.5rem}.tips-text{color:#92400e;font-family:Inter,sans-serif;font-size:.875rem;font-weight:500;margin:0}.tutorial-guide-close-btn{align-items:center;background:var(--gradient-system);border:none;border-radius:16px;box-shadow:0 8px 24px #8b5cf64d;color:#fff;cursor:pointer;display:flex;font-family:Inter,sans-serif;font-size:1rem;font-weight:600;gap:.75rem;justify-content:center;margin:0 auto;padding:1rem 2.5rem;transition:all .3s ease}.tutorial-guide-close-btn:hover{background:var(--gradient-system-deep);box-shadow:0 12px 32px #8b5cf666;transform:translateY(-3px)}.tutorial-guide-close-btn:active{transform:translateY(-1px)}.swipe-header{flex-shrink:0;margin-bottom:1rem;padding:.5rem 0;position:relative;text-align:center}.screen-tablet .swipe-header{margin-bottom:.75rem;padding:.375rem 0}.screen-mobile-portrait .swipe-header{margin-bottom:.5rem;padding:.25rem 0}.screen-mobile-landscape .swipe-header{margin-bottom:.25rem;padding:.125rem 0}.guide-help-button{align-items:center;background:var(--gradient-system);border:none;border-radius:12px;box-shadow:0 4px 12px #8b5cf64d;color:#fff;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.5rem 1rem;position:absolute;right:1rem;top:1rem;transition:all .3s ease}.guide-help-button:hover{box-shadow:0 8px 20px #8b5cf666;transform:translateY(-2px)}.image-index-display{color:#5a4d3a;flex-shrink:0;font-family:Playfair Display,serif;font-size:1.25rem;font-weight:600;margin-bottom:.5rem;text-align:center}.current-image-index{color:#8b5cf6;font-weight:700}.index-separator{color:#8b7d6b;margin:0 .25rem}.total-image-count{color:#8b7d6b}.swipe-header-decoration{align-items:center;display:flex;gap:1rem;left:50%;position:absolute;top:0;transform:translateX(-50%)}.swipe-title{align-items:center;color:#5a4d3a;display:flex;font-family:Playfair Display,serif;font-size:2rem;font-weight:700;gap:.5rem;justify-content:center;margin:.5rem 0 .25rem;text-shadow:0 2px 4px #4a1a3e1a}.screen-tablet .swipe-title{font-size:1.75rem;margin:.375rem 0 .25rem}.screen-mobile-portrait .swipe-title{font-size:1.5rem;gap:.25rem;margin:.25rem 0 .125rem}.screen-mobile-landscape .swipe-title{font-size:1.25rem;gap:.25rem;margin:.25rem 0 .125rem}.title-shield{animation:heartbeat 2s ease-in-out infinite;color:#8b5cf6;filter:drop-shadow(0 2px 4px rgba(139,92,246,.3))}.swipe-subtitle{font-feature-settings:"tnum";color:#8b7d6b;font-family:Crimson Pro,serif;font-size:1.125rem;font-style:italic;font-variant-numeric:tabular-nums;font-weight:400;letter-spacing:1px;margin:0}.swipe-status-card{align-items:center;background:var(--gradient-warm-card);border:1px solid #fbbf241a;border-radius:16px;box-shadow:0 8px 32px #4a1a3e14,0 4px 16px #e91e630a,inset 0 1px 0 #ffffffe6;display:flex;flex-shrink:0;justify-content:space-between;margin-bottom:1rem;padding:1rem 1.5rem}.screen-tablet .swipe-status-card{border-radius:14px;margin-bottom:.875rem;padding:.875rem 1.25rem}.screen-mobile-portrait .swipe-status-card{border-radius:12px;margin-bottom:.75rem;padding:.75rem 1rem}.screen-mobile-landscape .swipe-status-card{border-radius:10px;margin-bottom:.5rem;padding:.5rem .75rem}.status-info{gap:1rem}.status-icon,.status-info{align-items:center;display:flex}.status-icon{background:var(--gradient-accent);border-radius:16px;color:#fff;flex-shrink:0;height:48px;justify-content:center;width:48px}.status-content{flex:1 1}.status-number{color:#5a4d3a;font-family:Playfair Display,serif;font-size:2rem;font-weight:700;margin-bottom:.25rem}.screen-tablet .status-number{font-size:1.75rem}.screen-mobile-portrait .status-number{font-size:1.5rem}.screen-mobile-landscape .status-number{font-size:1.25rem}.status-label{color:#8b7d6b;font-size:.875rem;font-weight:500}.screen-tablet .status-label{font-size:.8125rem}.screen-mobile-portrait .status-label{font-size:.75rem}.screen-mobile-landscape .status-label{font-size:.6875rem}.elegant-back-button{align-items:center;background:var(--gradient-light-card);border:2px solid #8b5cf64d;border-radius:12px;color:#8b5cf6;cursor:pointer;display:flex;font-family:Inter,sans-serif;font-weight:500;gap:.5rem;padding:.75rem 1.5rem;transition:all .3s ease}.elegant-back-button:hover{background:var(--gradient-system);box-shadow:0 8px 24px #8b5cf64d;color:#fff;transform:translateY(-2px)}.elegant-image-container{display:flex;flex:1 1;flex-direction:column;margin-bottom:1rem;min-height:0;position:relative}.elegant-image-preview{align-items:center;background:#f3f3f3;border:1px solid #0000000d;border-radius:16px;box-shadow:0 4px 20px #0000001a;display:flex;justify-content:center;min-height:300px;overflow:hidden;padding:.125rem;position:relative}.elegant-preview-image{border-radius:12px;box-shadow:0 8px 24px #00000026;height:auto;max-height:100%;max-width:100%;object-fit:contain;object-position:center;transition:transform .3s ease;width:auto}.elegant-preview-image:hover{transform:scale(1.02)}.elegant-no-image{align-items:center;color:#8b7d6b;display:flex;flex-direction:column;gap:1rem;text-align:center}.elegant-no-image p{color:#5a4d3a;font-family:Playfair Display,serif;font-size:1.25rem;font-weight:600;margin:0}.no-image-subtitle{font-feature-settings:"tnum";color:#8b7d6b!important;font-family:Crimson Pro,serif;font-size:1rem!important;font-style:italic;font-variant-numeric:tabular-nums}.nav-arrow{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffe6;border:2px solid #8b5cf64d;border-radius:50%;box-shadow:0 6px 20px #00000026,inset 0 1px 0 #ffffffe6;color:#8b5cf6;cursor:pointer;display:flex;height:64px;justify-content:center;position:absolute;top:50%;transform:translateY(-50%);transition:all .3s ease;width:64px}.nav-arrow.mobile-landscape,.nav-arrow.mobile-portrait{height:48px;width:48px}.nav-arrow.tablet{height:56px;width:56px}.nav-arrow:hover:not(.disabled){background:var(--gradient-system);box-shadow:0 8px 24px #8b5cf64d;color:#fff;transform:translateY(-50%) scale(1.1)}.nav-arrow.disabled{cursor:not-allowed;opacity:.3}.nav-prev{left:-32px}.nav-next{right:-32px}.nav-arrow.mobile-landscape.nav-prev,.nav-arrow.mobile-portrait.nav-prev{left:-24px}.nav-arrow.mobile-landscape.nav-next,.nav-arrow.mobile-portrait.nav-next{right:-24px}.nav-arrow.tablet.nav-prev{left:-28px}.nav-arrow.tablet.nav-next{right:-28px}.swipe-hints{bottom:0;justify-content:space-between;left:0;padding:2rem;position:absolute;right:0;top:0}.swipe-hint,.swipe-hints{align-items:center;display:flex}.swipe-hint{animation:fadeInOut 4s ease-in-out infinite;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000b3;border-radius:12px;color:#fff;flex-direction:column;font-size:.875rem;font-weight:500;gap:.5rem;opacity:0;padding:1rem}.swipe-hint-left{animation-delay:0s}.swipe-hint-right{animation-delay:2s}@keyframes fadeInOut{0%,90%,to{opacity:0}10%,80%{opacity:.8}}.elegant-action-section{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr;margin-bottom:2rem}.elegant-action-button{align-items:center;border:none;border-radius:20px;color:#fff;cursor:pointer;display:flex;flex-direction:column;font-family:Inter,sans-serif;font-size:1.125rem;font-weight:600;gap:.75rem;justify-content:center;min-height:120px;overflow:hidden;padding:2rem 1.5rem;position:relative;transition:all .3s cubic-bezier(.25,.46,.45,.94)}.elegant-action-button:before{background:var(--gradient-shimmer);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;width:100%}.elegant-action-button:hover:before{left:100%}.elegant-action-button.approve{background:var(--gradient-success);box-shadow:0 8px 24px #10b9814d,inset 0 1px 0 #fff3}.elegant-action-button.approve:hover{box-shadow:0 12px 32px #10b98166,inset 0 1px 0 #ffffff4d;transform:translateY(-4px)}.elegant-action-button.reject{background:var(--gradient-error);box-shadow:0 8px 24px #ef44444d,inset 0 1px 0 #fff3}.elegant-action-button.reject:hover{box-shadow:0 12px 32px #ef444466,inset 0 1px 0 #ffffff4d;transform:translateY(-4px)}.action-subtitle{font-size:.875rem;font-style:italic;font-weight:400;opacity:.9}.elegant-thumbnails{background:var(--gradient-warm-card);border:1px solid #fbbf241a;border-radius:20px;box-shadow:0 8px 32px #4a1a3e14,0 4px 16px #e91e630a,inset 0 1px 0 #ffffffe6;margin-bottom:2rem;padding:2rem}.thumbnail-container{grid-gap:2rem;align-items:center;display:grid;gap:2rem;grid-template-columns:1fr 120px 1fr}.thumbnail-item{align-items:center;display:flex;flex-direction:column;gap:.75rem}.thumbnail-image{border-radius:12px;box-shadow:0 4px 12px #0000001a;cursor:pointer;height:80px;object-fit:cover;transition:all .3s ease;width:80px}.thumbnail-image:hover{box-shadow:0 6px 16px #00000026;transform:scale(1.1)}.thumbnail-placeholder{background:var(--gradient-muted-card);border-radius:12px;height:80px;opacity:.5;width:80px}.thumbnail-label{color:#8b7d6b;font-size:.75rem;font-weight:500;text-align:center}.thumbnail-current{align-items:center;background:var(--gradient-accent);border-radius:16px;color:#fff;display:flex;flex-direction:column;height:80px;justify-content:center;padding:1rem}.current-indicator{align-items:center;display:flex;font-family:Playfair Display,serif;font-size:1.125rem;font-weight:600;gap:.25rem}.current-index{font-size:1.5rem}.index-separator{opacity:.7}.total-count{opacity:.9}.swipe-footer{margin-top:3rem;padding-top:2rem;text-align:center}@media (max-width:1023px){.sidebar-container.desktop{position:fixed;transform:translateX(-100%)}.sidebar-container.desktop.open{transform:translateX(0)}.wedding-swipe-content.desktop{margin-left:0;padding-top:5rem}}@media (max-width:768px){.wedding-swipe-content{height:100vh;overflow:hidden;padding:4rem .75rem .75rem}.swipe-title{flex-direction:row;font-size:1.75rem;gap:.25rem}.elegant-image-preview{min-height:250px;padding:.125rem}.swipe-header{margin-bottom:.75rem;padding:.25rem 0}.swipe-status-card{margin-bottom:.75rem;padding:.75rem 1rem}.image-index-display{font-size:1rem;margin-bottom:.5rem}.swipe-hint,.swipe-hints{padding:.5rem}.swipe-hint{font-size:.75rem}.elegant-preview-image{max-height:100%;max-width:100%;object-fit:contain;object-position:center}.tutorial-guide-content{margin:1rem;max-width:90%;padding:2rem}.tutorial-guide-title{font-size:1.5rem}.tutorial-instruction-item{gap:.75rem;padding:1rem}.instruction-icon{height:40px;width:40px}.instruction-content h3{font-size:1rem}.instruction-content p{font-size:.8rem}.instruction-arrow{font-size:1.25rem}.tutorial-guide-close-btn{font-size:.9rem;padding:.875rem 2rem}}@media (max-width:640px){.wedding-swipe-content{height:100vh;overflow:hidden;padding:3.5rem .5rem .5rem}.sidebar-toggle-button{height:44px;width:44px}.swipe-status-card{flex-direction:column;gap:.5rem;margin-bottom:.5rem;padding:.5rem 1rem;text-align:center}.elegant-image-preview{min-height:200px;padding:.0625rem}.swipe-header{margin-bottom:.5rem;padding:.25rem 0}.swipe-title{font-size:1.5rem}.image-index-display{font-size:1rem;margin-bottom:.25rem}.swipe-hints{padding:.25rem}.swipe-hint{font-size:.625rem;gap:.25rem;padding:.375rem}.elegant-preview-image{max-height:100%;max-width:100%;object-fit:contain;object-position:center}.nav-arrow{height:52px;width:52px}.nav-prev{left:-26px}.nav-next{right:-26px}.tutorial-guide-content{margin:.5rem;max-width:95%;padding:1.5rem}.tutorial-guide-title{font-size:1.25rem}.tutorial-guide-instructions{gap:1rem}.tutorial-instruction-item{flex-direction:column;gap:.5rem;padding:.875rem;text-align:center}.instruction-content{text-align:center}.instruction-arrow{display:none}.tutorial-guide-tips{padding:.75rem 1rem}.tips-text{font-size:.8rem}}.mobile-overlay-info{align-items:center;display:flex;justify-content:space-between;left:16px;pointer-events:none;position:absolute;right:16px;top:16px;z-index:5}.mobile-index-display{font-family:Inter,sans-serif;font-size:.875rem;padding:8px 12px}.mobile-index-display,.mobile-title{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000bf;border:1px solid #fff3;border-radius:20px;color:#fff;font-weight:600}.mobile-title{font-family:Playfair Display,serif;font-size:1rem;padding:8px 16px}.swipe-status-compact{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffe6;border:1px solid #0000001a;border-radius:12px;display:flex;flex-shrink:0;justify-content:space-between;margin-bottom:.5rem;padding:.5rem 1rem}.status-compact-info{color:#5a4d3a;font-family:Inter,sans-serif;font-size:.875rem;font-weight:600}.elegant-back-button-compact{align-items:center;background:var(--gradient-light-card);border:2px solid #8b5cf64d;border-radius:50%;color:#8b5cf6;cursor:pointer;display:flex;height:36px;justify-content:center;padding:0;transition:all .3s ease;width:36px}.elegant-back-button-compact:hover{background:var(--gradient-system);box-shadow:0 4px 12px #8b5cf64d;color:#fff;transform:scale(1.05)}.elegant-image-preview{touch-action:pan-y;user-select:none;-webkit-user-select:none}.elegant-preview-image{-webkit-user-drag:none;user-drag:none;pointer-events:none}.swipe-hints{pointer-events:none}.photo-gallery-container{background:linear-gradient(135deg,#f5f2eb,#ebe6dc 50%,#e1dcd1);font-family:Inter,sans-serif;min-height:100vh;padding:2rem}.loading-container{min-height:80vh}.loading-spinner{color:#6b5b4c;text-align:center}.loading-icon{animation:float 2s ease-in-out infinite;color:#d8c3a5;height:48px;width:48px}.loading-spinner p{font-feature-settings:"tnum";color:#8b7d6b;font-family:Crimson Pro,serif;font-size:1.25rem;font-style:italic;font-variant-numeric:tabular-nums;margin:0}.error-content{background:#ffffffe6;border-radius:16px;box-shadow:0 10px 30px #6b5b4c1a;max-width:500px}.error-icon{color:#d8c3a5;height:48px;margin-bottom:1rem;width:48px}.error-content h3{color:#6b5b4c;font-family:Playfair Display,serif;font-size:1.5rem;margin-bottom:1rem}.error-content p{color:#8b7d6b;font-family:Inter,sans-serif;line-height:1.6;margin-bottom:.5rem}.error-note{color:#a89688!important;font-size:.9rem;font-style:italic}.gallery-header{position:relative;text-align:center}.header-decoration{gap:1.5rem;margin-bottom:2rem}.header-crown{animation:float 4s ease-in-out infinite;color:#d8c3a5;filter:drop-shadow(0 2px 4px rgba(216,195,165,.3));height:36px;width:36px}.header-sparkle{animation:sparkle 3s ease-in-out infinite;color:#e5d5bb;height:28px;width:28px}.sparkle-2{animation-delay:1.5s}.gallery-title{align-items:center;color:#6b5b4c;display:flex;font-family:Playfair Display,serif;font-size:3rem;font-weight:700;gap:1.5rem;justify-content:center;margin:0 0 1rem;text-shadow:0 4px 8px #6b5b4c1a}.title-heart{animation:heartbeat 3s ease-in-out infinite;color:#c49c7b;filter:drop-shadow(0 2px 4px rgba(196,156,123,.3));height:36px;width:36px}.gallery-subtitle{font-feature-settings:"tnum";color:#8b7d6b;font-family:Crimson Pro,serif;font-size:1.25rem;font-style:italic;font-variant-numeric:tabular-nums;line-height:1.6;margin:0 0 1.5rem}.save-instruction{background:#fffc;border:1px solid #d8c3a54d;border-radius:12px;box-shadow:0 4px 12px #6b5b4c14;margin:1.5rem 0 3rem;padding:1rem 2rem}.save-instruction p{color:#8b7d6b;font-family:Inter,sans-serif;font-size:.875rem;line-height:1.5;margin:0;text-align:center}.filter-buttons{display:flex;gap:1rem;justify-content:center;margin-bottom:2rem}.filter-button{background:#ffffffe6;border:2px solid #d8c3a54d;border-radius:12px;color:#6b5b4c;cursor:pointer;font-family:Inter,sans-serif;font-size:.875rem;font-weight:500;overflow:hidden;padding:.75rem 1.5rem;position:relative;transition:all .3s ease}.filter-button:before{background:linear-gradient(90deg,#0000,#d8c3a51a,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;width:100%}.filter-button:hover:before{left:100%}.filter-button:hover{border-color:#d8c3a5;box-shadow:0 4px 12px #d8c3a54d;transform:translateY(-2px)}.filter-button.active{background:linear-gradient(135deg,#d8c3a5,#c9b491);border-color:#d8c3a5;box-shadow:0 4px 12px #d8c3a566;color:#fff}.filter-button.back-button{align-items:center;background:#8b7d6b1a!important;border-color:#8b7d6b4d!important;color:#8b7d6b!important;display:flex;gap:.5rem}.filter-button.back-button:hover:not(:disabled){background:#8b7d6b33!important;border-color:#8b7d6b!important;box-shadow:0 4px 12px #8b7d6b4d;transform:translateY(-2px)}.filter-button.back-button:active{transform:translateY(0)}.refresh-button{align-items:center;background:#fffffff2!important;border-color:#8b7d6b4d!important;color:#8b7d6b!important;display:flex;gap:.5rem}.refresh-button:hover:not(:disabled){background:#8b7d6b1a!important;border-color:#8b7d6b!important}.refresh-button:disabled{cursor:not-allowed;opacity:.6}.refresh-button.loading{background:#8b7d6b1a!important}.spinning{animation:spin 1s linear infinite}.photos-grid{grid-gap:2rem;display:grid;gap:2rem;margin:0 auto;max-width:1400px}@media (min-width:1024px){.photos-grid{grid-template-columns:repeat(4,1fr)}}@media (min-width:768px) and (max-width:1023px){.photos-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:767px){.photos-grid{grid-template-columns:repeat(2,1fr)}}.photo-card{background:linear-gradient(135deg,#fff,#faf8f5);border:1px solid #d8c3a533;border-radius:20px;box-shadow:0 12px 32px #6b5b4c14,0 4px 16px #d8c3a50d;cursor:pointer;overflow:hidden;position:relative;transition:all .3s cubic-bezier(.25,.46,.45,.94)}.photo-card:before{background:linear-gradient(90deg,#d8c3a5,#e5d5bb 50%,#d8c3a5);content:"";height:3px;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.photo-card:hover:before{opacity:1}.photo-card:hover{box-shadow:0 20px 48px #6b5b4c26,0 8px 24px #d8c3a533;transform:translateY(-8px) scale(1.02)}.photo-image-container{aspect-ratio:1;overflow:hidden;position:relative}.photo-image{height:100%;object-fit:cover;transition:transform .3s ease;width:100%}.photo-card:hover .photo-image{transform:scale(1.05)}.photo-overlay{align-items:center;background:linear-gradient(135deg,#d8c3a5d9,#c49c7be6);bottom:0;display:flex;justify-content:center;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.photo-card:hover .photo-overlay{opacity:1}.overlay-content{color:#fff;font-family:Inter,sans-serif;font-weight:600;text-align:center}.overlay-heart{animation:heartbeat 2s ease-in-out infinite;margin-bottom:.5rem}.overlay-content span{display:block;font-size:.875rem;letter-spacing:.5px}.photo-image-container .lazy-image-container{background:#0000;border-radius:0}.photo-image-container .lazy-image{border-radius:0}.modal-image-container .lazy-image-container{background:#0000;border-radius:0}.modal-image-container .lazy-image{border-radius:0}.photo-info{align-items:center;display:flex;justify-content:space-between;padding:1.5rem}.photo-meta{flex:1 1}.photo-author{font-feature-settings:"tnum";align-items:center;color:#6b5b4c;display:flex;font-family:Crimson Pro,serif;font-size:1rem;font-variant-numeric:tabular-nums;font-weight:500;gap:.5rem;margin-bottom:.5rem}.photo-author svg{color:#a89688}.photo-date{font-size:.75rem}.like-button,.photo-date{align-items:center;color:#a89688;display:flex;font-family:Inter,sans-serif;gap:.5rem}.like-button{background:#ffffffe6;border:2px solid #d8c3a54d;border-radius:20px;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .3s ease}.like-button:hover{background:#d8c3a51a;border-color:#d8c3a5;color:#c49c7b;transform:scale(1.05)}.like-button.liked{background:linear-gradient(135deg,#d8c3a5,#c9b491);border-color:#d8c3a5;box-shadow:0 4px 12px #d8c3a566;color:#fff}.like-button.liked svg{animation:heartbeat 1.5s ease-in-out infinite}.empty-state{color:#a89688;padding:4rem 2rem;text-align:center}.empty-heart{color:#c49c7b;margin-bottom:1.5rem;opacity:.6}.empty-state h3{color:#6b5b4c;font-family:Playfair Display,serif;font-size:1.5rem;margin:0 0 1rem}.empty-state p{font-feature-settings:"tnum";font-family:Crimson Pro,serif;font-size:1.125rem;font-style:italic;font-variant-numeric:tabular-nums;margin:0}.error-container{align-items:center;display:flex;justify-content:center;min-height:80vh}.error-content{color:#5a4d3a;max-width:400px;padding:2rem;text-align:center}.error-icon{color:#ef4444;margin-bottom:1.5rem;opacity:.8}.error-title{color:#5a4d3a;font-family:Playfair Display,serif;font-size:1.75rem;font-weight:600;margin:0 0 1rem}.error-message{font-feature-settings:"tnum";color:#6b4e58;font-family:Crimson Pro,serif;font-size:1.125rem;font-style:italic;font-variant-numeric:tabular-nums;line-height:1.6;margin:0 0 2rem}.retry-button{align-items:center;background:linear-gradient(135deg,#c7aa7a,#b29861);border:2px solid #e91e6333;border-radius:12px;color:#fff;cursor:pointer;display:inline-flex;font-family:Inter,sans-serif;font-size:1rem;font-weight:600;gap:.75rem;overflow:hidden;padding:1rem 2rem;position:relative;transition:all .3s ease}.retry-button:before{background:linear-gradient(90deg,#0000,#ffffff4d,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;width:100%}.retry-button:hover:before{left:100%}.retry-button:hover{box-shadow:0 8px 24px #e91e634d;transform:translateY(-2px)}.like-button.loading{cursor:not-allowed;opacity:.6;pointer-events:none}.like-button.loading svg{animation:spin 1s linear infinite}.pagination-container{align-items:center;display:flex;flex-direction:column;gap:1rem;margin:3rem 0 2rem;padding:2rem 0}.pagination{border:1px solid #d8c3a533;border-radius:16px;box-shadow:0 8px 24px #6b5b4c1a}.pagination,.pagination-button{align-items:center;background:#ffffffe6;display:flex;gap:.5rem;padding:.75rem 1rem}.pagination-button{border:2px solid #d8c3a54d;border-radius:12px;color:#6b5b4c;cursor:pointer;font-family:Inter,sans-serif;font-size:.875rem;font-weight:500;justify-content:center;min-width:100px;transition:all .3s ease}.pagination-button:hover:not(.disabled){background:#d8c3a51a;border-color:#d8c3a5;color:#c49c7b;transform:translateY(-2px)}.pagination-button.disabled{cursor:not-allowed;opacity:.5;pointer-events:none}.pagination-text{font-weight:600}.pagination-numbers{align-items:center;display:flex;gap:.25rem;margin:0 1rem}.pagination-number{align-items:center;background:#0000;border:2px solid #0000;border-radius:10px;color:#6b5b4c;cursor:pointer;display:flex;font-family:Inter,sans-serif;font-size:.875rem;font-weight:500;height:40px;justify-content:center;transition:all .3s ease;width:40px}.pagination-number:hover{background:#d8c3a51a;color:#c49c7b}.pagination-number.active{background:linear-gradient(135deg,#d8c3a5,#c9b491);border-color:#d8c3a5;box-shadow:0 4px 12px #d8c3a566;color:#fff;font-weight:600}.pagination-ellipsis{color:#a89688;font-weight:700;padding:0 .5rem}.pagination-info{font-feature-settings:"tnum";color:#8b7d6b;font-family:Crimson Pro,serif;font-size:1rem;font-style:italic;font-variant-numeric:tabular-nums;text-align:center}.photo-modal-overlay{align-items:center;background:#000000e6;bottom:0;display:flex;justify-content:center;left:0;padding:2rem;position:fixed;right:0;top:0;z-index:1000}.photo-modal-content{background:linear-gradient(135deg,#fff,#faf8f5);border:2px solid #d8c3a533;border-radius:24px;box-shadow:0 25px 60px #00000080,0 8px 24px #d8c3a54d;max-height:90vh;max-width:90vw;overflow:hidden;position:relative}.modal-close-button{align-items:center;background:#000000b3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:44px;justify-content:center;position:absolute;right:1rem;top:1rem;transition:all .3s ease;width:44px;z-index:10}.modal-close-button:hover{background:#d8c3a5cc;transform:scale(1.1)}.modal-image-container{max-height:70vh;position:relative}.modal-image{display:block;height:auto;max-height:70vh;object-fit:contain;width:100%}.modal-info{padding:2rem}.modal-header{margin-bottom:1.5rem}.modal-header .photo-author{font-family:Playfair Display,serif;font-size:1.25rem;font-weight:600;margin-bottom:0}.modal-header .photo-date{font-size:.875rem}.modal-actions{gap:1rem}.action-button,.modal-actions{align-items:center;display:flex}.action-button{background:#ffffffe6;border:2px solid #d8c3a54d;border-radius:12px;color:#6b5b4c;cursor:pointer;font-family:Inter,sans-serif;font-size:.875rem;font-weight:500;gap:.5rem;padding:.75rem 1.5rem;transition:all .3s ease}.action-button:hover{background:#d8c3a51a;border-color:#d8c3a5;color:#c49c7b;transform:translateY(-2px)}.modal-actions .like-button{font-size:.875rem;padding:.75rem 1.5rem}@media (max-width:1024px){.photo-gallery-container{padding:1.5rem}.gallery-title{flex-direction:column;font-size:2.5rem;gap:1rem}.photos-grid{gap:1.5rem}.pagination-button{min-width:80px;padding:.5rem .75rem}.pagination-numbers{margin:0 .5rem}}@media (max-width:768px){.photo-gallery-container{padding:1rem}.gallery-header{margin-bottom:2rem}.gallery-title{font-size:2rem}.gallery-subtitle{font-size:1.125rem}.filter-buttons{flex-wrap:wrap;gap:.75rem}.filter-button{font-size:.8rem;padding:.5rem 1rem}.photos-grid{gap:1rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.photo-info{align-items:flex-start;flex-direction:column;gap:1rem;padding:1rem}.modal-actions{align-items:stretch;flex-direction:column}.action-button,.modal-actions .like-button{justify-content:center}}@media (max-width:480px){.photo-gallery-container{padding:.5rem}.gallery-title{font-size:1.75rem}.photos-grid{gap:1rem;grid-template-columns:1fr}.photo-modal-content{max-height:95vh;max-width:95vw}.modal-info{padding:1.5rem}.modal-header{align-items:flex-start;flex-direction:column;gap:.75rem}}.load-more-container{align-items:center;display:flex;flex-direction:column;gap:1rem;margin:3rem 0 2rem}.load-more-button{align-items:center;background:linear-gradient(135deg,#8b7d6b,#a39081);border:none;border-radius:25px;box-shadow:0 4px 15px #8b7d6b4d;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:8px;padding:12px 32px;transition:all .3s ease}.load-more-button:hover:not(:disabled){background:linear-gradient(135deg,#9d8e7c,#b5a392);box-shadow:0 6px 20px #8b7d6b66;transform:translateY(-2px)}.load-more-button:disabled{cursor:not-allowed;opacity:.7;transform:none}.load-more-button.loading{background:linear-gradient(135deg,#a39081,#b5a392)}.photo-count-info{color:#666;font-size:.9rem;text-align:center}.photo-count-info span{background:#ffffffe6;border:1px solid #8b7d6b33;border-radius:12px;padding:4px 12px}@media (max-width:768px){.load-more-button{font-size:.9rem;padding:10px 24px}.load-more-container{margin:2rem 0 1.5rem}}.user-menu-container{align-items:center;display:flex;font-family:Inter,sans-serif;justify-content:center;min-height:100vh;padding:2rem 1rem;position:relative}.user-menu-background{background:var(--gradient-wedding-background);height:100%;left:0;position:fixed;top:0;width:100%;z-index:-1}.background-decoration{height:100%;overflow:hidden;position:absolute;width:100%}.circle-1{animation:float-complex 20s ease-in-out infinite;height:400px;right:-200px;top:-200px;width:400px}.circle-2{animation:float-complex 25s ease-in-out infinite reverse;bottom:-150px;height:300px;left:-150px;width:300px}.circle-3{animation:float-complex 30s ease-in-out infinite;height:200px;left:50%;top:50%;transform:translate(-50%,-50%);width:200px}.user-menu-card{background:var(--gradient-elegant-card);border:2px solid #8b73551a;border-radius:32px;box-shadow:0 20px 48px #4a1a3e26,0 8px 24px #8b73551a,inset 0 1px 0 #ffffffe6;max-width:600px;overflow:hidden;padding:3rem;position:relative;width:100%}.user-menu-card:before{background:var(--gradient-line-decorative);content:"";height:4px;left:0;opacity:.8;position:absolute;right:0;top:0}.user-menu-header{margin-bottom:3rem;position:relative;text-align:center}.header-decoration{align-items:center;display:flex;gap:1rem;justify-content:center;margin-bottom:1.5rem;position:relative}.crown-icon{animation:float-crown 3s ease-in-out infinite;color:#c7aa7a;filter:drop-shadow(0 2px 4px rgba(199,170,122,.3))}.sparkle-icon{color:#d4af37}.user-menu-title{align-items:center;color:#5a4d3a;display:flex;font-family:Playfair Display,serif;font-size:2.5rem;font-weight:700;gap:1rem;justify-content:center;margin:0 0 .5rem;text-shadow:0 2px 4px #4a1a3e1a}.title-heart{filter:drop-shadow(0 2px 4px rgba(199,170,122,.3))}.user-menu-subtitle{font-feature-settings:"tnum";color:#8b7d6b;font-family:Crimson Pro,serif;font-size:1.125rem;font-style:italic;font-variant-numeric:tabular-nums;font-weight:400;letter-spacing:1px;margin:0}.menu-section{margin-bottom:3rem;text-align:center}.menu-section-title{color:#5a4d3a;font-family:Playfair Display,serif;font-size:1.75rem;font-weight:600;margin:0 0 1rem}.menu-section-description{font-feature-settings:"tnum";color:#8b7d6b;font-family:Crimson Pro,serif;font-size:1.125rem;font-variant-numeric:tabular-nums;line-height:1.6;margin:0 0 2.5rem}.menu-buttons{display:flex;flex-direction:column;gap:1.5rem}.menu-button{align-items:center;background:var(--gradient-warm-card);border:2px solid #8b73551a;border-radius:20px;box-shadow:0 8px 32px #4a1a3e14,0 4px 16px #8b73550f,inset 0 1px 0 #ffffffe6;cursor:pointer;display:flex;gap:1.5rem;overflow:hidden;padding:2rem;position:relative;text-align:left;transition:all .3s cubic-bezier(.25,.46,.45,.94);width:100%}.menu-button:before{background:var(--gradient-shimmer);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;width:100%}.menu-button:hover:before{left:100%}.menu-button:hover{border-color:#c7aa7a4d;box-shadow:0 12px 40px #4a1a3e1f,0 6px 20px #8b73551a,inset 0 1px 0 #fffffff2;transform:translateY(-4px)}.menu-button:active{transform:translateY(-2px)}.button-icon{align-items:center;border-radius:20px;color:#fff;display:flex;flex-shrink:0;height:64px;justify-content:center;width:64px}.upload-button .button-icon{background:var(--gradient-system)}.gallery-button .button-icon{background:var(--gradient-accent)}.comment-button .button-icon{background:var(--gradient-warning)}.button-content{flex:1 1}.button-title{color:#5a4d3a;font-family:Playfair Display,serif;font-size:1.5rem;font-weight:600;margin:0 0 .5rem}.button-description{color:#8b7d6b;font-family:Inter,sans-serif;font-size:1rem;line-height:1.5;margin:0}.button-arrow{color:#c7aa7a;font-size:1.5rem;font-weight:700;transition:transform .3s ease}.menu-button:hover .button-arrow{transform:translateX(4px)}.user-menu-footer{margin-top:2rem;text-align:center}.decoration-line{background:var(--gradient-line-accent)}.footer-text{color:#8b7d6b}.loading-section{align-items:center;display:flex;flex-direction:column;height:60vh;justify-content:center;text-align:center}.loading-icon{color:#c7aa7a;filter:drop-shadow(0 2px 4px rgba(199,170,122,.3));margin-bottom:1rem}.loading-text{font-feature-settings:"tnum";color:#8b7d6b;font-family:Crimson Pro,serif;font-size:1.125rem;font-style:italic;font-variant-numeric:tabular-nums;margin:0}@media (max-width:768px){.user-menu-card{margin:1rem;padding:2rem}.user-menu-title{flex-direction:column;font-size:2rem;gap:.5rem}.menu-section-title{font-size:1.5rem}.menu-button{gap:1rem;padding:1.5rem}.button-icon{height:56px;width:56px}.button-title{font-size:1.25rem}.button-description{font-size:.875rem}}@media (max-width:480px){.user-menu-container{padding:1rem .5rem}.user-menu-card{border-radius:24px;margin:.5rem;padding:1.5rem}.user-menu-title{font-size:1.75rem}.menu-section-title{font-size:1.25rem}.menu-section-description{font-size:1rem}.menu-button{gap:.75rem;padding:1.25rem}.button-icon{height:48px;width:48px}.button-title{font-size:1.125rem}.button-description{font-size:.8rem}.button-arrow{font-size:1.25rem}.circle-1,.circle-2,.circle-3{display:none}}.wedding-admin-layout{background:linear-gradient(135deg,#fefcf8,#faf7f2 50%,#f8f5f0);display:flex;font-family:Inter,sans-serif;min-height:100vh;position:relative}.sidebar-container{height:100vh;left:0;position:fixed;top:0;transition:transform .3s ease;width:360px;z-index:100}.sidebar-container.desktop{position:static;transform:none}.sidebar-container.mobile{transform:translateX(-100%)}.sidebar-container.mobile.open{transform:translateX(0)}.sidebar-overlay{background:#00000080;height:100%;left:0;position:fixed;top:0;transition:opacity .3s ease;width:100%;z-index:50}.sidebar-toggle-button{align-items:center;background:linear-gradient(135deg,#8b5cf6,#7c3aed);border:none;border-radius:12px;box-shadow:0 4px 12px #8b5cf64d;color:#fff;cursor:pointer;display:flex;height:48px;justify-content:center;left:1rem;position:fixed;top:1rem;transition:all .3s ease;width:48px;z-index:110}.sidebar-toggle-button:hover{box-shadow:0 6px 16px #8b5cf666;transform:scale(1.05)}.wedding-main-content{background:linear-gradient(135deg,#fefcf8e6,#fdfaf7f2 50%,#fcf7f3e6);flex:1 1;min-height:100vh;overflow-x:auto;padding:2.5rem 3rem;position:relative}.wedding-main-content.desktop{margin-left:30px}.wedding-main-content.mobile{margin-left:0;padding-top:5rem}.wedding-header{margin-bottom:3rem;padding:2rem 0;position:relative;text-align:center}.wedding-header-decoration{align-items:center;display:flex;gap:1rem;left:50%;position:absolute;top:0;transform:translateX(-50%)}.crown-icon{animation:float 3s ease-in-out infinite;color:#d4af37;filter:drop-shadow(0 2px 4px rgba(212,175,55,.3))}.sparkle-icon{animation:sparkle 2s ease-in-out infinite;color:#f8d7a1}.sparkle-1{animation-delay:.5s}.sparkle-2{animation-delay:1s}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes sparkle{0%,to{opacity:.4;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}}.wedding-title{align-items:center;color:#4a1a3e;display:flex;font-family:Playfair Display,serif;font-size:3.5rem;font-weight:700;gap:1rem;justify-content:center;margin:1rem 0 .5rem;text-shadow:0 2px 4px #4a1a3e1a}.title-heart{animation:heartbeat 2s ease-in-out infinite;color:#c7aa7a;filter:drop-shadow(0 2px 4px rgba(233,30,99,.3))}@keyframes heartbeat{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.wedding-subtitle{font-feature-settings:"tnum";color:#8b6f85;font-family:Crimson Pro,serif;font-size:1.25rem;font-style:italic;font-variant-numeric:tabular-nums;font-weight:400;letter-spacing:1px;margin:0}.wedding-content-grid{grid-gap:2rem;align-items:start;display:grid;gap:2rem;grid-template-columns:1fr 1fr;grid-template-rows:auto 1fr;margin:0 auto;max-width:1200px}.wedding-card{background:linear-gradient(135deg,#fff,#fefcf9);border:1px solid #fbbf241a;border-radius:24px;box-shadow:0 8px 32px #4a1a3e14,0 4px 16px #e91e630a,inset 0 1px 0 #ffffffe6;overflow:hidden;padding:2rem;position:relative;transition:all .4s cubic-bezier(.25,.46,.45,.94)}.wedding-card:before{background:linear-gradient(90deg,#c7aa7a,#fbbf24 50%,#c7aa7a);content:"";height:4px;left:0;opacity:.8;position:absolute;right:0;top:0}.wedding-card:after{background:radial-gradient(circle,#e91e6308 0,#0000 70%);border-radius:50%;content:"";height:80px;pointer-events:none;position:absolute;right:20px;top:20px;width:80px}.wedding-card:hover{box-shadow:0 20px 48px #4a1a3e1f,0 8px 24px #e91e6314,inset 0 1px 0 #fffffff2;transform:translateY(-8px)}.main-card{background:linear-gradient(135deg,#fef7ff,#fdf2f8 50%,#fcf1f6);border:1px solid #e91e6326;grid-column:1/-1}.room-selection-card{background:linear-gradient(135deg,#f0f9ff,#e0f2fe 50%,#e6f7ff);border:1px solid #0ea5e926;grid-column:1/-1}.room-selection-container{margin-top:1rem}.loading-container{align-items:center;color:#0369a1;display:flex;font-style:italic;gap:1rem;justify-content:center;padding:2rem}.room-list{grid-gap:.75rem;display:grid;gap:.75rem;max-height:300px;overflow-y:auto;padding:.5rem}.room-item{align-items:center;background:linear-gradient(135deg,#fff,#f8fafc);border:2px solid #0ea5e91a;border-radius:12px;cursor:pointer;display:flex;justify-content:space-between;overflow:hidden;padding:1rem 1.25rem;position:relative;transition:all .3s cubic-bezier(.25,.46,.45,.94)}.room-item:before{background:linear-gradient(90deg,#0ea5e9,#0284c7 50%,#0ea5e9);content:"";height:3px;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.room-item:hover{border-color:#0ea5e94d;box-shadow:0 8px 24px #0ea5e91a,0 4px 12px #0ea5e90d;transform:translateY(-2px)}.room-item:hover:before{opacity:1}.room-item.selected{background:linear-gradient(135deg,#e0f2fe,#bae6fd);border-color:#0ea5e9;box-shadow:0 8px 24px #0ea5e926,0 4px 12px #0ea5e91a,inset 0 1px 0 #fff9}.room-item.selected:before{opacity:1}.room-item-main{display:flex;flex:1 1;flex-direction:column;gap:.25rem}.room-id-text{color:#0369a1;font-family:Courier New,monospace;font-size:1.1rem;font-weight:600;letter-spacing:.5px}.room-date{align-items:center;color:#64748b;display:flex;font-size:.875rem;font-style:italic;gap:.5rem}.room-id-small{background:#94a3b81a;border-radius:6px;color:#94a3b8;cursor:help;font-family:Courier New,monospace;font-size:.75rem;margin-top:.25rem;padding:.25rem .5rem;transition:all .2s ease}.room-id-small:hover{background:#94a3b833;color:#64748b}.room-selected-indicator{animation:heartbeat 2s ease-in-out infinite;color:#dc2626}.left-column,.right-column{align-items:stretch;display:flex;flex-direction:column;gap:2rem}.placeholder-card{background:linear-gradient(135deg,#f9fafb,#f3f4f6);border:1px solid #9ca3af33;border-radius:24px;box-shadow:0 4px 16px #4a1a3e0a,0 2px 8px #e91e6305,inset 0 1px 0 #ffffffb3;overflow:hidden;padding:3rem 2rem;position:relative;transition:all .4s cubic-bezier(.25,.46,.45,.94)}.placeholder-card:before{background:linear-gradient(90deg,#d1d5db,#9ca3af 50%,#d1d5db);content:"";height:4px;left:0;opacity:.6;position:absolute;right:0;top:0}.placeholder-content{align-items:center;color:#6b7280;display:flex;flex-direction:column;gap:1rem;text-align:center}.placeholder-icon{opacity:.5}.placeholder-text{font-feature-settings:"tnum";font-family:Crimson Pro,serif;font-size:1rem;font-style:italic;font-variant-numeric:tabular-nums;line-height:1.5;margin:0}.card-header{margin-bottom:2rem;text-align:center}.roomadmin-card-icon{align-items:center;background:linear-gradient(135deg,#c7aa7a,#ad1457);border-radius:20px;box-shadow:0 8px 24px #e91e6340,inset 0 1px 0 #fff3;color:#fff;display:flex;height:64px;justify-content:center;margin:0 auto 1rem;width:64px}.qr-icon-header{background:linear-gradient(135deg,#fbbf24,#d97706);box-shadow:0 8px 24px #fbbf2440,inset 0 1px 0 #fff3}.card-title{color:#4a1a3e;font-family:Playfair Display,serif;font-size:1.5rem;font-weight:600;margin:0 0 .5rem}.card-description{color:#8b6f85;font-size:.95rem;line-height:1.6;margin:0}.wedding-button{align-items:center;border:none;border-radius:16px;cursor:pointer;display:flex;font-family:Inter,sans-serif;font-size:1rem;font-weight:600;gap:.75rem;justify-content:center;margin-top:1.5rem;overflow:hidden;padding:1rem 1.5rem;position:relative;transition:all .3s cubic-bezier(.25,.46,.45,.94);width:100%}.wedding-button:before{background:linear-gradient(90deg,#0000,#ffffff4d,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;width:100%}.wedding-button:hover:before{left:100%}.primary-button{background:linear-gradient(135deg,#c7aa7a,#ad1457);box-shadow:0 8px 24px #e91e634d,inset 0 1px 0 #fff3;color:#fff}.primary-button:hover{box-shadow:0 12px 32px #e91e6366,inset 0 1px 0 #ffffff4d;transform:translateY(-2px)}.secondary-button{background:linear-gradient(135deg,#fbbf24,#d97706);box-shadow:0 8px 24px #fbbf244d,inset 0 1px 0 #fff3;color:#fff}.secondary-button:hover{box-shadow:0 12px 32px #fbbf2466,inset 0 1px 0 #ffffff4d;transform:translateY(-2px)}.tertiary-button{background:linear-gradient(135deg,#8b5cf6,#7c3aed);box-shadow:0 8px 24px #8b5cf64d,inset 0 1px 0 #fff3;color:#fff}.tertiary-button:hover{box-shadow:0 12px 32px #8b5cf666,inset 0 1px 0 #ffffff4d;transform:translateY(-2px)}.wedding-button:disabled{box-shadow:0 4px 12px #0000001a,inset 0 1px 0 #ffffff1a;opacity:.6;transform:none}.loading-spinner{animation:spin 1s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:20px;width:20px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.input-group{margin-bottom:1.5rem}.input-label{font-feature-settings:"tnum";color:#4a1a3e;display:block;font-family:Crimson Pro,serif;font-size:1.1rem;font-variant-numeric:tabular-nums;font-weight:500;margin-bottom:.5rem}.wedding-input{background:#ffffffe6;border:2px solid #e91e6333;border-radius:12px;box-sizing:border-box;color:#4a1a3e;font-family:Inter,sans-serif;font-size:1rem;padding:1rem 1.25rem;transition:all .3s ease;width:100%}.wedding-input:focus{background:#fff;border-color:#c7aa7a;box-shadow:0 0 0 4px #e91e631a,0 4px 12px #e91e6326;outline:none}.wedding-input::placeholder{color:#8b6f85;font-style:italic}.room-info-card{background:linear-gradient(135deg,#f0fdf4,#ecfdf5);border:1px solid #22c55e33;border-radius:16px;box-shadow:0 4px 16px #22c55e14;margin-top:2rem;padding:1.5rem}.room-info-header{color:#15803d}.room-id-display,.room-info-header{margin-bottom:1rem}.room-id-display label{color:#15803d;display:block;font-size:.875rem;font-weight:500;margin-bottom:.25rem}.room-id-value{background:#fff;border:1px solid #22c55e4d;border-radius:8px;color:#15803d;font-family:Courier New,monospace;font-size:1.1rem;font-weight:600;letter-spacing:1px;padding:.75rem 1rem}.couple-name-display{margin-bottom:1rem}.couple-name-display label{color:#15803d;display:block;font-size:.875rem;font-weight:500;margin-bottom:.25rem}.couple-name-value{font-feature-settings:"tnum";background:#fff;border:1px solid #22c55e4d;border-radius:8px;color:#15803d;font-family:Crimson Pro,serif;font-size:1.25rem;font-style:italic;font-variant-numeric:tabular-nums;font-weight:600;padding:.75rem 1rem;text-align:center}.qr-actions-container{display:flex;gap:1rem;margin-bottom:2rem}.qr-actions-container .wedding-button{flex:1 1;margin-top:0}.qr-code-container{display:flex;justify-content:center;margin:2rem 0;position:relative}.qr-code-frame{background:#fff;border-radius:20px;box-shadow:0 8px 32px #00000014,inset 0 1px 0 #ffffffe6;padding:1.5rem;position:relative}.qr-decorations{bottom:0;left:0;pointer-events:none;position:absolute;right:0;top:0}.qr-corner{border:3px solid #fbbf24;height:20px;opacity:.6;position:absolute;width:20px}.qr-corner-tl{border-bottom:none;border-right:none;border-top-left-radius:4px;left:8px;top:8px}.qr-corner-tr{border-bottom:none;border-left:none;border-top-right-radius:4px;right:8px;top:8px}.qr-corner-bl{border-bottom-left-radius:4px;border-right:none;border-top:none;bottom:8px;left:8px}.qr-corner-br{border-bottom-right-radius:4px;border-left:none;border-top:none;bottom:8px;right:8px}.qr-link{align-items:center;background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #fbbf244d;border-radius:12px;color:#92400e;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;justify-content:center;margin-top:1rem;padding:.75rem 1rem;text-decoration:none;transition:all .3s ease}.qr-link:hover{background:linear-gradient(135deg,#fde68a,#fcd34d);box-shadow:0 4px 12px #fbbf2433;transform:translateY(-1px)}.success-message{align-items:center;background:linear-gradient(135deg,#f0fdf4,#ecfdf5);border:1px solid #22c55e33;border-radius:8px;color:#15803d;display:flex;font-weight:500;gap:.5rem}.status-message,.success-message{font-size:.875rem;margin-top:1rem;padding:.75rem 1rem}.status-message{background:linear-gradient(135deg,#eff6ff,#dbeafe);border:1px solid #3b82f633;border-radius:8px;color:#1d4ed8;text-align:center}.wedding-footer{margin-top:4rem;padding-top:2rem;text-align:center}.footer-decoration{align-items:center;display:flex;gap:1rem;justify-content:center;margin-bottom:1rem}.decoration-line{background:linear-gradient(90deg,#0000,#c7aa7a 50%,#0000);height:1px;width:80px}.footer-heart{animation:heartbeat 3s ease-in-out infinite;color:#c7aa7a}.footer-text{font-feature-settings:"tnum";color:#8b6f85;font-family:Crimson Pro,serif;font-size:1rem;font-style:italic;font-variant-numeric:tabular-nums;margin:0}.room-actions{align-items:center;display:flex;gap:8px}.delete-room-button{align-items:center;background:#dc2626;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:.875rem;justify-content:center;padding:6px 8px;transition:all .2s ease}.delete-room-button:hover:not(:disabled){background:#b91c1c;box-shadow:0 4px 8px #dc26264d;transform:translateY(-1px)}.delete-room-button:disabled{cursor:not-allowed;opacity:.5;transform:none}.delete-modal .modal-content{background:#fff;border-radius:16px;box-shadow:0 20px 40px #00000026;max-width:500px;padding:24px}.delete-warning{align-items:center;background:#fef3c7;border-left:4px solid #f59e0b;border-radius:8px;color:#d97706;display:flex;gap:12px;margin-bottom:16px;padding:12px 16px}.warning-icon{color:#d97706;flex-shrink:0}.delete-target-info{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:16px;padding:16px}.delete-target-info .room-name{color:#1e293b;font-size:18px;font-weight:600;margin-bottom:4px}.delete-notice,.delete-target-info .room-date{color:#64748b;font-size:14px}.delete-notice{line-height:1.5}.delete-notice p{margin:4px 0}.danger-button{background:#dc2626!important;border:1px solid #dc2626!important;color:#fff!important}.danger-button:hover:not(:disabled){background:#b91c1c!important;border-color:#991b1b!important;box-shadow:0 4px 12px #dc26264d;transform:translateY(-1px)}.delete-error{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;display:flex;font-size:14px;gap:8px;margin-bottom:16px;padding:12px 16px}@media (max-width:1023px){.sidebar-container.desktop{position:fixed;transform:translateX(-100%)}.sidebar-container.desktop.open{transform:translateX(0)}.wedding-main-content.desktop{margin-left:0;padding-top:5rem}}@media (max-width:768px){.wedding-main-content{padding:5rem 1.5rem 1.5rem}.wedding-title{font-size:2.5rem}.wedding-content-grid{gap:1.5rem;grid-template-columns:1fr;grid-template-rows:auto auto auto}.main-card{grid-column:1}.left-column,.right-column{display:contents}}@media (max-width:640px){.wedding-main-content{padding:5rem 1rem 1rem}.sidebar-toggle-button{height:44px;width:44px}.wedding-title{flex-direction:column;font-size:2rem;gap:.5rem}.wedding-card{padding:1.5rem}.card-title{font-size:1.25rem}.qr-actions-container{flex-direction:column;gap:.75rem}.screen-card{display:none}}.modal-overlay{align-items:center;animation:fadeIn .2s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{animation:slideUp .3s ease-out;background:#fff;border:1px solid #8b7d6b1a;border-radius:16px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-height:90vh;max-width:450px;overflow-y:auto;width:90%}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{align-items:center;background:linear-gradient(135deg,#8b7d6b0d,#a390810d);border-bottom:1px solid #8b7d6b26;display:flex;justify-content:space-between;padding:1.5rem}.modal-title-container{align-items:center;display:flex;gap:.75rem}.modal-icon{background:#8b7d6b1a;border-radius:8px;color:#8b7d6b;padding:8px}.modal-header h3{color:#374151;font-size:1.125rem;font-weight:600;margin:0}.modal-close{align-items:center;background:none;border:none;border-radius:8px;color:#6b7280;cursor:pointer;display:flex;justify-content:center;padding:8px;transition:all .2s ease}.modal-close:hover{background:#ef44441a;color:#ef4444}.modal-body{padding:1.5rem}.modal-input{border:2px solid #8b7d6b33;font-size:1rem;padding:12px 16px;transition:all .3s ease}.modal-input:focus{border-color:#8b7d6b;box-shadow:0 0 0 3px #8b7d6b1a;outline:none}.char-count{color:#6b7280;font-size:.875rem;font-weight:500;margin-top:.5rem;text-align:right}.modal-description{align-items:flex-start;background:#8b7d6b0d;border:1px solid #8b7d6b1a;border-radius:8px;display:flex;gap:.75rem;margin-top:1rem;padding:1rem}.description-icon{color:#8b7d6b;flex-shrink:0;margin-top:.125rem}.modal-description p{color:#4b5563;font-size:.875rem;line-height:1.5;margin:0}.modal-footer{background:#f9fafb80;border-top:1px solid #8b7d6b26;display:flex;gap:.75rem;justify-content:flex-end;padding:1.5rem}.modal-cancel{background:#fff;border:1px solid #d1d5db;color:#6b7280;font-weight:500;min-width:100px}.modal-cancel:hover{background:#f9fafb;border-color:#9ca3af;color:#374151}.modal-confirm{background:linear-gradient(135deg,#8b7d6b,#a39081);border:none;box-shadow:0 4px 12px #8b7d6b4d;font-weight:600;min-width:120px}.modal-confirm:hover:not(:disabled){background:linear-gradient(135deg,#9d8e7c,#b5a392);box-shadow:0 6px 16px #8b7d6b66;transform:translateY(-1px)}.modal-confirm:disabled{background:#d1d5db;box-shadow:none;color:#9ca3af;cursor:not-allowed;transform:none}@media (max-width:640px){.modal-content{margin:1rem;max-width:95%}.modal-body,.modal-header{padding:1rem}.modal-footer{flex-direction:column;padding:1rem}.modal-cancel,.modal-confirm{justify-content:center;width:100%}.modal-header h3{font-size:1rem}@media print{body *{visibility:hidden}.qr-card,.qr-card *{visibility:visible}.qr-card{background:#fff;left:0;padding:20px;position:absolute;top:0;width:100%}}}.screen-button-group{align-items:center;display:flex;gap:8px}.screen-main-button{flex:1 1}.screen-settings-button{background:#f8f9fa!important;border:1px solid #dee2e6!important;color:var(--color-text-secondary)!important;min-width:auto!important;padding:12px 16px!important}.screen-settings-button:hover:not(:disabled){background:#e9ecef!important;box-shadow:0 2px 8px #0000001a!important;color:var(--color-text)!important;transform:translateY(-1px)}.screen-settings-button:disabled{cursor:not-allowed;opacity:.5}.screen-settings-top-button{background:linear-gradient(135deg,#6b46c1,#8b5cf6)!important;box-shadow:0 4px 12px #6b46c14d!important;cursor:pointer!important;font-size:14px!important;margin-top:0!important;padding:12px 20px!important;pointer-events:auto!important;position:absolute!important;right:1rem!important;top:1rem!important;width:auto!important;z-index:1000!important}.screen-settings-top-button:hover:not(:disabled){box-shadow:0 6px 16px #6b46c166!important;transform:translateY(-1px)!important}.screen-settings-top-button:disabled{cursor:not-allowed!important;opacity:.5!important;transform:none!important}@media (max-width:768px){.screen-settings-top-button{font-size:12px!important;padding:10px 16px!important;right:.5rem!important;top:.5rem!important}}.screen-settings-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.screen-settings-modal{background:#fff;border:2px solid #f0ebe6;border-radius:16px;box-shadow:0 20px 60px #3a342d26,0 8px 25px #3a342d14;max-height:90vh;max-width:600px;overflow-y:auto;position:relative;width:100%}.screen-settings-header{align-items:center;background:linear-gradient(135deg,#f8f6f3,#ede8e1);border-bottom:1px solid #e0d5c7;border-radius:16px 16px 0 0;display:flex;justify-content:space-between;padding:24px 32px}.screen-settings-title-container{align-items:center;display:flex;gap:12px}.screen-settings-title-container h3{color:var(--color-primary);font-family:var(--font-primary);font-size:20px;font-weight:600;margin:0}.screen-settings-icon{color:var(--color-accent)}.screen-settings-close{background:none;border:none;border-radius:8px;color:var(--color-text-secondary);cursor:pointer;padding:8px;transition:all .2s ease}.screen-settings-close:hover{background:#3a342d1a;color:var(--color-primary)}.screen-settings-success{align-items:center;animation:slideDown .3s ease;background:linear-gradient(135deg,#d4edda,#c3e6cb);border-bottom:1px solid #c3e6cb;color:#155724;display:flex;font-size:14px;font-weight:500;gap:8px;padding:12px 32px}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.screen-settings-body{padding:32px}.setting-section{margin-bottom:32px}.setting-section:last-child{margin-bottom:0}.setting-header{align-items:center;border-bottom:1px solid #e0d5c7;display:flex;gap:10px;margin-bottom:20px;padding-bottom:8px}.setting-header h4{color:var(--color-primary);font-family:var(--font-primary);font-size:16px;font-weight:600;margin:0}.setting-header svg{color:var(--color-accent)}.setting-item{margin-bottom:24px}.setting-item:last-child{margin-bottom:0}.setting-toggle{align-items:center;display:flex;margin-bottom:8px}.setting-toggle input[type=checkbox]{display:none}.toggle-label{color:var(--color-text);cursor:pointer;font-size:16px;font-weight:500;gap:12px;-webkit-user-select:none;user-select:none}.toggle-label,.toggle-switch{align-items:center;display:flex}.toggle-switch{background:#cbd5e0;border-radius:14px;height:28px;position:relative;transition:all .3s ease;width:52px}.toggle-switch:before{background:#fff;border-radius:50%;box-shadow:0 2px 4px #0003;content:"";height:20px;left:4px;position:absolute;transition:all .3s ease;width:20px}.setting-toggle input[type=checkbox]:checked+.toggle-label .toggle-switch{background:var(--color-accent)}.setting-toggle input[type=checkbox]:checked+.toggle-label .toggle-switch:before{left:28px}.setting-description{margin-left:64px}.status-approved{color:#155724}.status-approved,.status-warning{align-items:center;display:flex;font-size:14px;font-weight:500;gap:6px}.status-warning{color:#856404}.setting-label{color:var(--color-text);display:block;font-size:14px;font-weight:500;margin-bottom:8px}.setting-slider{appearance:none;background:#e0d5c7;border-radius:3px;height:6px;margin-bottom:8px;outline:none;width:100%}.setting-slider::-webkit-slider-thumb{appearance:none;background:var(--color-accent);border-radius:50%;box-shadow:0 2px 6px #d4af374d;cursor:pointer;height:20px;-webkit-transition:all .2s ease;transition:all .2s ease;width:20px}.setting-slider::-webkit-slider-thumb:hover{box-shadow:0 4px 12px #d4af3766;transform:scale(1.1)}.setting-slider::-moz-range-thumb{background:var(--color-accent);border:none;border-radius:50%;box-shadow:0 2px 6px #d4af374d;cursor:pointer;height:20px;width:20px}.slider-labels{color:var(--color-text-secondary);display:flex;font-size:12px;justify-content:space-between}.setting-info{background:#f8f6f3;border-left:4px solid var(--color-accent);border-radius:12px;margin-top:24px;padding:20px}.setting-info h5{color:var(--color-primary);font-family:var(--font-primary);font-size:14px;font-weight:600;margin:0 0 12px}.setting-info ul{list-style:none;margin:0;padding:0}.setting-info li{color:var(--color-text-secondary);font-size:13px;margin-bottom:4px;padding-left:16px;position:relative}.setting-info li:before{color:var(--color-accent);content:"•";left:0;position:absolute}.screen-settings-footer{align-items:center;background:#fafafa;border-radius:0 0 16px 16px;border-top:1px solid #e0d5c7;display:flex;gap:16px;justify-content:flex-end;padding:24px 32px}.btn-cancel,.btn-save{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:12px 24px;transition:all .2s ease}.btn-cancel{background:#f8f9fa;border:1px solid #dee2e6;color:var(--color-text-secondary)}.btn-cancel:hover{background:#e9ecef;color:var(--color-text)}.btn-save{background:linear-gradient(135deg,var(--color-accent) 0,#c7aa7a 100%);color:#fff;justify-content:center;min-width:140px}.btn-save:hover:not(:disabled){box-shadow:0 6px 20px #d4af374d;transform:translateY(-1px)}.btn-save:disabled{cursor:not-allowed;opacity:.7}@media (max-width:640px){.screen-settings-modal{margin:10px;max-width:95vw}.screen-settings-body,.screen-settings-footer,.screen-settings-header{padding:20px}.setting-description{margin-left:0;margin-top:8px}.toggle-label{align-items:flex-start;gap:8px}.screen-settings-footer,.toggle-label{flex-direction:column}.btn-cancel,.btn-save{width:100%}}.qr-paper-content{margin:0 auto;max-width:1200px;padding:0 1rem}.room-info-display{text-align:center}.room-info-header{background:linear-gradient(135deg,#f3f4f6,#e5e7eb);border:1px solid #9ca3af33;border-radius:50px;color:#374151;display:inline-flex;font-weight:500;gap:.5rem;padding:.75rem 1.5rem}.room-id-detail{color:#6b7280;font-size:.9em;font-weight:400}.design-type-selector{display:flex;gap:1rem;justify-content:center;margin-bottom:2rem}.design-type-button{align-items:center;background:#fff;border:2px solid #e5e7eb;border-radius:12px;color:#6b7280;cursor:pointer;display:flex;font-size:1rem;font-weight:500;gap:.5rem;justify-content:center;min-width:200px;padding:1rem 2rem;transition:all .3s ease}.design-type-button:hover{border-color:#c7aa7a;box-shadow:0 4px 12px #c7aa7a33;color:#c7aa7a;transform:translateY(-2px)}.design-type-button.active{background:linear-gradient(135deg,#c7aa7a,#ad1457);border-color:#c7aa7a;box-shadow:0 4px 16px #c7aa7a66;color:#fff}.design-selection-card.original-design-card{background:linear-gradient(135deg,#fefcf9,#f8f4f0);border:2px solid #c7aa7a33}.original-design-option{margin-bottom:2rem}.original-design-option .original-design-card{background:#fff;border:2px solid #e5e7eb;border-radius:16px;cursor:pointer;padding:2rem;position:relative;text-align:center;transition:all .3s ease}.original-design-option .original-design-card:hover{border-color:#c7aa7a;box-shadow:0 8px 24px #c7aa7a33;transform:translateY(-4px)}.original-design-option .original-design-card.selected{background:linear-gradient(135deg,#fefcf9,#fff);border-color:#c7aa7a;box-shadow:0 8px 24px #c7aa7a4d}.original-design-icon{color:#c7aa7a;display:flex;justify-content:center;margin-bottom:1rem}.original-design-title{color:#2d1b69;font-family:Playfair Display,serif;font-size:1.5rem;font-weight:600;margin-bottom:1rem}.original-design-description{color:#6b7280;line-height:1.6;margin-bottom:1.5rem}.original-design-features{grid-gap:.5rem;display:grid;gap:.5rem;margin-bottom:1rem;margin-left:auto;margin-right:auto;max-width:300px;text-align:left}.feature-item{align-items:center;color:#374151;display:flex;font-size:.9rem;gap:.5rem}.feature-item:last-child{color:#c7aa7a;font-weight:600}.original-design-note{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;margin-top:1rem;padding:1.5rem}.note-header{align-items:center;color:#374151;display:flex;font-weight:600;gap:.5rem;margin-bottom:1rem}.note-list{color:#6b7280;list-style:none;margin:0;padding:0}.note-list li{font-size:.9rem;line-height:1.5;margin-bottom:.5rem;padding-left:1rem;position:relative}.note-list li:before{color:#c7aa7a;content:"•";font-weight:700;left:0;position:absolute}.progress-step{flex-direction:column;gap:.5rem}.progress-step,.step-number{align-items:center;display:flex}.step-number{background:#e5e7eb;border-radius:50%;color:#6b7280;font-size:1.1rem;font-weight:600;height:40px;justify-content:center;transition:all .3s ease;width:40px}.progress-step.active .step-number{background:linear-gradient(135deg,#c7aa7a,#ad1457);box-shadow:0 4px 12px #e91e634d;color:#fff}.step-label{color:#6b7280;font-size:.875rem;font-weight:500;text-align:center}.progress-step.active .step-label{color:#4a1a3e;font-weight:600}.room-info-display{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #0ea5e926;border-radius:16px;margin-bottom:2rem;padding:1.5rem}.room-info-header{align-items:center;color:#0369a1;display:flex;font-size:1rem;font-weight:600;gap:.75rem}.design-selection-card{background:linear-gradient(135deg,#fef7ff,#fdf2f8 50%,#fcf1f6);border:1px solid #e91e6326;margin-bottom:3rem}.design-grid{display:flex;flex-direction:column;gap:2rem;margin-top:2rem}.design-selection-indicator{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff2;border:1px solid #e91e634d;border-radius:12px;box-shadow:0 3px 12px #e91e6333;display:flex;flex-direction:column;gap:.25rem;left:50%;padding:.5rem .75rem;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:10}.design-selection-indicator .check-icon{color:#e91e63;filter:drop-shadow(0 2px 4px rgba(233,30,99,.3));height:20px;width:20px}.design-selection-indicator .selection-text{color:#4a1a3e;font-family:Inter,sans-serif;font-size:.75rem;font-weight:600;letter-spacing:.5px}.design-option{align-items:center;background:#fff;border:2px solid #e91e631a;border-radius:20px;cursor:pointer;display:flex;gap:2rem;min-height:200px;overflow:hidden;padding:1.5rem;position:relative;transition:all .3s cubic-bezier(.25,.46,.45,.94)}.design-option:before{background:linear-gradient(90deg,#c7aa7a,#fbbf24 50%,#c7aa7a);content:"";height:4px;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.design-option:hover{border-color:#e91e634d;box-shadow:0 12px 32px #e91e6326,0 4px 16px #e91e6314;transform:translateY(-4px)}.design-option:hover:before{opacity:1}.design-option.selected{background:linear-gradient(135deg,#fef7ff,#fdf2f8);border-color:#c7aa7a;box-shadow:0 12px 32px #e91e6333,0 4px 16px #e91e631a,inset 0 1px 0 #fff9}.design-option.selected:before{opacity:1}.design-preview{display:flex;flex-shrink:0;justify-content:center;width:300px}.preview-card{align-items:center;border-radius:12px;box-shadow:0 4px 12px #0000001a;display:flex;flex-direction:column;height:200px;justify-content:space-between;padding:1rem;text-align:center;transition:transform .3s ease;width:280px}.design-option:hover .preview-card{transform:scale(1.05)}.design-preview-elegant{background:linear-gradient(135deg,#fff,#f8f6f3);border:2px solid #d4af37;color:#4a1a3e}.design-preview-romantic{background:linear-gradient(135deg,#fdf2f8,#fce7f3);border:2px solid #f472b6;color:#be185d}.design-preview-welcome{background:linear-gradient(135deg,#fff7ed,#fed7aa);border:2px solid #fb923c;color:#c2410c;position:relative}.preview-image-container{align-items:center;border-radius:12px;display:flex;height:100%;justify-content:center;overflow:hidden;position:relative;width:100%}.preview-template-image{border-radius:12px;height:100%;object-fit:cover;width:100%}.preview-qr-overlay{background:#fffffff2;border-radius:8px;bottom:10px;box-shadow:0 2px 8px #00000026;padding:8px;position:absolute;right:10px}.preview-qr-overlay canvas{border-radius:4px;display:block}.preview-header{align-items:center;display:flex;flex-direction:column;gap:.5rem}.preview-icon{background:#fffc;border-radius:50%;padding:8px}.design-preview-elegant .preview-icon{color:#d4af37}.design-preview-romantic .preview-icon{color:#f472b6}.design-preview-welcome .preview-icon{color:#fb923c}.preview-title{font-family:Playfair Display,serif;font-size:1rem;font-weight:600;margin-bottom:.5rem}.preview-qr{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:8px}.preview-text{font-feature-settings:"tnum";font-family:Crimson Pro,serif;font-size:.875rem;font-style:italic;font-variant-numeric:tabular-nums;opacity:.8}.design-info{flex:1 1;padding-left:1rem;text-align:left}.design-name{color:#4a1a3e;font-family:Playfair Display,serif;font-size:1.8rem;font-weight:600;margin-bottom:.75rem}.design-description{color:#8b6f85;font-size:1.1rem;line-height:1.6;margin:0}.action-buttons{border-top:1px solid #8b7d6b26;display:flex;gap:2rem;justify-content:space-between;margin-top:3rem;padding-top:2rem}.back-button{background:linear-gradient(135deg,#f3f4f6,#e5e7eb);border:1px solid #d1d5db;color:#4b5563}.back-button:hover{background:linear-gradient(135deg,#e5e7eb,#d1d5db);box-shadow:0 8px 24px #6b728033;color:#374151;transform:translateY(-2px)}.action-buttons .wedding-button.disabled{box-shadow:none;cursor:not-allowed;opacity:.5;transform:none}@media (max-width:768px){.qr-paper-content{padding:0 .5rem}.progress-indicator{margin-bottom:2rem;padding:1rem}.step-number{font-size:.9rem;height:32px;width:32px}.step-label{font-size:.7rem}.progress-line{margin:0 .25rem;width:30px}.design-grid,.design-option{flex-direction:column;gap:1.5rem}.design-option{min-height:auto;text-align:center}.design-preview{width:100%}.design-info{padding-left:0;text-align:center}.preview-card{height:180px;padding:1rem;width:240px}.preview-qr-overlay{bottom:8px;padding:6px;right:8px}.preview-qr-overlay canvas{height:50px!important;width:50px!important}.action-buttons{flex-direction:column;gap:1rem}}@media (max-width:640px){.progress-indicator{padding:.75rem}.step-number{font-size:.8rem;height:28px;width:28px}.step-label{font-size:.65rem}.progress-line{margin:0 .125rem;width:20px}.design-option{padding:1rem}.preview-card{height:220px;width:160px}.preview-qr-overlay{bottom:6px;padding:4px;right:6px}.preview-qr-overlay canvas{height:40px!important;width:40px!important}.design-name{font-size:1.25rem}}.preview-qr canvas{border-radius:4px;display:block}.progress-step.completed .step-number{background:linear-gradient(135deg,#22c55e,#16a34a);box-shadow:0 4px 12px #22c55e4d;color:#fff}.progress-step.completed .step-label{color:#16a34a;font-weight:600}.order-summary{background:linear-gradient(135deg,#f0fdf4,#ecfdf5);border:1px solid #22c55e26;border-radius:16px;margin-bottom:2rem;padding:1.5rem}.summary-header{align-items:center;color:#15803d;display:flex;font-size:1rem;font-weight:600;gap:.75rem;margin-bottom:1rem}.summary-content{grid-gap:.75rem;display:grid;gap:.75rem}.summary-item{align-items:center;background:#fff;border:1px solid #22c55e33;border-radius:8px;display:flex;justify-content:space-between;padding:.75rem 1rem}.summary-item label{color:#15803d;font-weight:500}.summary-item span{color:#166534;font-family:Courier New,monospace;font-weight:600}.order-form-card{background:linear-gradient(135deg,#fef7ff,#fdf2f8 50%,#fcf1f6);border:1px solid #e91e6326;margin-bottom:3rem}.order-form{margin-top:2rem}.form-group{margin-bottom:2rem}.form-label{font-feature-settings:"tnum";align-items:center;color:#4a1a3e;display:flex;font-family:Crimson Pro,serif;font-size:1.1rem;font-variant-numeric:tabular-nums;font-weight:500;gap:.5rem;margin-bottom:.75rem}.required{color:#dc2626;font-weight:600}.form-input,.form-textarea{background:#ffffffe6;border:2px solid #e91e6333;border-radius:12px;box-sizing:border-box;color:#4a1a3e;font-family:Inter,sans-serif;font-size:1rem;padding:1rem 1.25rem;resize:vertical;transition:all .3s ease;width:100%}.form-input:focus,.form-textarea:focus{background:#fff;border-color:#c7aa7a;box-shadow:0 0 0 4px #e91e631a,0 4px 12px #e91e6326;outline:none}.form-input::placeholder,.form-textarea::placeholder{color:#8b6f85;font-style:italic}.form-input.error,.form-textarea.error{border-color:#dc2626;box-shadow:0 0 0 4px #dc26261a}.error-message{align-items:center;color:#dc2626;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;margin-top:.5rem}.notice-section{background:linear-gradient(135deg,#fffbeb,#fef3c7);border:1px solid #f59e0b33;border-radius:12px;margin-top:2rem;padding:1.5rem}.notice-header{align-items:center;color:#92400e;display:flex;font-size:1rem;font-weight:600;gap:.75rem;margin-bottom:1rem}.notice-list{grid-gap:.75rem;display:grid;gap:.75rem;list-style:none;margin:0;padding:0}.notice-list li{align-items:flex-start;color:#78350f;display:flex;font-size:.875rem;gap:.75rem;line-height:1.5;padding-left:1.5rem;position:relative}.notice-list li:before{color:#f59e0b;content:"•";font-weight:600;left:0;position:absolute}.success-modal{border-radius:20px;max-width:500px}.success-icon{background:#22c55e1a;border-radius:8px;color:#22c55e;padding:8px}.success-message{padding:2rem 0;text-align:center}.success-icon-large{color:#22c55e;margin-bottom:1rem}.success-message h4{color:#4a1a3e;font-family:Playfair Display,serif;font-size:1.5rem;margin-bottom:1rem}.success-message p{color:#6b7280;line-height:1.6;margin:0}.order-details{background:#f9fafb;border-radius:12px;margin-top:1.5rem;padding:1.5rem}.detail-item{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:.75rem 0}.detail-item:last-child{border-bottom:none}.detail-item span:first-child{color:#4b5563;font-weight:500}.detail-item span:last-child{color:#1f2937;font-weight:600}@media (max-width:768px){.summary-item{align-items:flex-start;flex-direction:column;gap:.5rem}.form-label{font-size:1rem}.form-input,.form-textarea{padding:.875rem 1rem}.notice-section,.order-details{padding:1rem}}@media (max-width:640px){.success-modal{margin:1rem;max-width:90%}.success-message{padding:1.5rem 0}.success-message h4{font-size:1.25rem}.detail-item{align-items:flex-start;flex-direction:column;gap:.25rem}}.postal-code-container{align-items:flex-start;display:flex;gap:.75rem}.postal-input{flex:1 1;min-width:0}.postal-search-button{align-items:center;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border:none;border-radius:12px;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:.875rem;font-weight:600;gap:.5rem;min-height:54px;padding:1rem 1.5rem;transition:all .3s ease;white-space:nowrap}.postal-search-button:hover:not(:disabled){background:linear-gradient(135deg,#1d4ed8,#1e3a8a);box-shadow:0 6px 16px #3b82f64d;transform:translateY(-1px)}.postal-search-button:disabled{background:#d1d5db;box-shadow:none;color:#9ca3af;cursor:not-allowed;transform:none}.loading-spinner-small{animation:spin 1s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:16px;width:16px}.address-fields-group{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.address-field-full{grid-column:1/-1}@media (max-width:768px){.postal-code-container{flex-direction:column;gap:.75rem}.postal-search-button{justify-content:center;min-height:48px;width:100%}.address-fields-group{gap:.75rem;grid-template-columns:1fr}}@media (max-width:640px){.postal-search-button{font-size:.8rem;padding:.875rem 1.25rem}}.original-design-requests{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #94a3b833;border-radius:16px;margin-top:2rem;padding:1.5rem}.requests-title{align-items:center;color:#1e293b;display:flex;font-family:Inter,sans-serif;font-size:1.1rem;font-weight:600;gap:.5rem;margin-bottom:1rem}.requests-textarea{background:#fff;border:2px solid #e2e8f0;border-radius:12px;box-sizing:border-box;font-family:Inter,sans-serif;font-size:.9rem;line-height:1.6;min-height:200px;padding:1rem;resize:vertical;transition:all .3s ease;width:100%}.requests-textarea:focus{background:#fefeff;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.requests-textarea::placeholder{color:#64748b;font-size:.85rem;white-space:pre-line}.requests-counter{color:#64748b;font-family:Inter,sans-serif;font-size:.8rem;margin-top:.5rem;text-align:right}.original-design-card.selected{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}@media (max-width:768px){.original-design-requests{margin-top:1.5rem;padding:1rem}.requests-title{font-size:1rem}.requests-textarea{font-size:.85rem;min-height:150px;padding:.875rem}.qr-card-description{width:100%}}.consent-info-card{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #0ea5e926;margin-bottom:2rem}.consent-info-content{margin-top:2rem}.privacy-policy-container{background:#fff;border:1px solid #0ea5e91a;border-radius:12px;overflow:hidden}.privacy-policy-scroll{max-height:400px;overflow-y:auto;padding:1.5rem;scrollbar-color:#0ea5e94d #0ea5e91a;scrollbar-width:thin}.privacy-policy-scroll::-webkit-scrollbar{width:6px}.privacy-policy-scroll::-webkit-scrollbar-track{background:#0ea5e91a;border-radius:3px}.privacy-policy-scroll::-webkit-scrollbar-thumb{background:#0ea5e94d;border-radius:3px}.privacy-policy-scroll::-webkit-scrollbar-thumb:hover{background:#0ea5e980}.privacy-policy-content{color:#374151;font-family:Inter,sans-serif;line-height:1.6}.privacy-policy-title{border-bottom:2px solid #0ea5e933;color:#0369a1;font-family:Playfair Display,serif;font-size:1.2rem;font-weight:600;margin-bottom:1rem;padding-bottom:.5rem;text-align:center}.privacy-policy-intro{background:#f0f9ff;border-left:4px solid #0369a1;border-radius:8px;font-size:.9rem;margin-bottom:1.5rem;padding:1rem}.privacy-section{border-bottom:1px solid #0ea5e91a;margin-bottom:1.5rem;padding-bottom:1rem}.privacy-section:last-child{border-bottom:none;margin-bottom:0}.privacy-section-title{color:#0369a1;font-family:Crimson Pro,serif;font-size:1rem;font-weight:600;margin-bottom:.75rem}.privacy-section-content{font-size:.85rem;line-height:1.6;margin-bottom:.75rem}.privacy-list{list-style:none;margin:0 0 .75rem;padding:0}.privacy-list li{font-size:.85rem;line-height:1.5;margin-bottom:.5rem;padding-left:1.5rem;position:relative}.privacy-list li:before{color:#0369a1;content:"•";font-weight:600;left:0;position:absolute}.privacy-sublist{list-style:none;margin:.5rem 0 0 1rem;padding:0}.privacy-sublist li{font-size:.8rem;margin-bottom:.3rem;padding-left:1.2rem;position:relative}.privacy-sublist li:before{color:#0369a1;content:"◦";font-weight:400;left:0;position:absolute}.contact-info{background:#f8fafc;border-left:4px solid #0369a1;border-radius:8px;margin-top:.5rem;padding:1rem}.contact-info p{color:#1e293b;font-size:.85rem;font-weight:500;margin:.25rem 0}.consent-form-card{background:linear-gradient(135deg,#fef7ff,#fdf2f8 50%,#fcf1f6);border:1px solid #e91e6326;margin-bottom:3rem}.consent-form{grid-gap:2rem;display:grid;gap:2rem;margin-top:2rem}.consent-group{background:#fff;border:1px solid #e91e631a;border-radius:12px;padding:1.5rem;transition:all .3s ease}.consent-group:hover{border-color:#e91e6333;box-shadow:0 4px 12px #e91e631a}.consent-checkbox-label{align-items:flex-start;cursor:pointer;display:flex;font-family:Inter,sans-serif;gap:1rem}.consent-checkbox{border:2px solid #d1d5db;border-radius:4px;cursor:pointer;flex-shrink:0;height:20px;margin-top:2px;transition:all .3s ease;width:20px}.consent-checkbox:checked{background:linear-gradient(135deg,#c7aa7a,#ad1457);border-color:#c7aa7a}.consent-checkbox:checked:after{align-items:center;color:#fff;content:"✓";display:flex;font-size:14px;font-weight:600;height:100%;justify-content:center}.consent-checkbox.error{border-color:#dc2626;box-shadow:0 0 0 3px #dc26261a}.checkbox-text{display:flex;flex:1 1;flex-direction:column;gap:.5rem}.checkbox-text strong{color:#4a1a3e;font-size:1rem;font-weight:600}.checkbox-description{color:#6b7280;font-size:.875rem;line-height:1.5}.progress-step:not(:last-child){margin-right:0}.progress-line+.progress-step{margin-left:0}.progress-line{background:#e5e7eb;height:2px;margin:0 1rem;width:80px}.progress-line.active{background:linear-gradient(90deg,#22c55e,#c7aa7a)}.wedding-button.disabled,.wedding-button:disabled{box-shadow:none!important;cursor:not-allowed;opacity:.5;transform:none!important}@media (max-width:768px){.consent-info-content{margin-top:1.5rem}.privacy-policy-scroll{max-height:300px;padding:1rem}.privacy-policy-title{font-size:1.1rem}.privacy-policy-intro{font-size:.85rem;padding:.875rem}.privacy-section-title{font-size:.9rem}.privacy-list li,.privacy-section-content{font-size:.8rem}.contact-info{padding:.875rem}.consent-form{gap:1.5rem}.consent-group{padding:1rem}.consent-checkbox-label{gap:.75rem}.progress-line{margin:0 .5rem;width:60px}}@media (max-width:640px){.consent-info-content{gap:1rem}.info-section{padding:.875rem}.checkbox-text strong,.info-section-title{font-size:.9rem}.checkbox-description{font-size:.8rem}.progress-line{width:40px}}.confirm-summary-card{background:linear-gradient(135deg,#f0fdf4,#ecfdf5);border:1px solid #22c55e26;margin-bottom:2rem}.confirm-content{grid-gap:2rem;display:grid;gap:2rem;margin-top:2rem}.confirm-section{background:#fff;border:1px solid #22c55e1a;border-radius:12px;padding:1.5rem}.confirm-section-title{align-items:center;border-bottom:1px solid #22c55e1a;color:#15803d;display:flex;font-family:Playfair Display,serif;font-size:1.1rem;font-weight:600;gap:.5rem;margin-bottom:1rem;padding-bottom:.5rem}.confirm-items{grid-gap:1rem;display:grid;gap:1rem}.confirm-item{align-items:flex-start;border-bottom:1px solid #22c55e0d;display:flex;justify-content:space-between;padding:.75rem 0}.confirm-item:last-child{border-bottom:none}.confirm-item.original-design-requests{align-items:stretch;flex-direction:column;gap:.75rem}.confirm-label{color:#15803d;flex-shrink:0;font-weight:500;margin:1rem;min-width:120px}.confirm-value{color:#166534;flex:1 1;font-weight:400;text-align:right}.original-requests-display{background:#f8fafc;border:1px solid #22c55e1a;border-radius:8px;font-family:Inter,sans-serif;font-size:.9rem;line-height:1.6;margin:.5rem;padding:1rem;white-space:pre-wrap}.consent-status{grid-gap:.75rem;display:grid;gap:.75rem}.consent-status-item{align-items:center;background:#f0fdf4;border:1px solid #22c55e33;border-radius:8px;color:#15803d;display:flex;font-size:.9rem;gap:.75rem;padding:.75rem 1rem}.consent-check-icon{color:#22c55e;flex-shrink:0}.important-notice-card{background:linear-gradient(135deg,#fffbeb,#fef3c7);border:1px solid #f59e0b33;margin-bottom:3rem}.important-notice-content{margin-top:1.5rem}.important-notice-list{grid-gap:1rem;display:grid;gap:1rem;list-style:none;margin:0;padding:0}.important-notice-list li{align-items:flex-start;background:#fff;border:1px solid #f59e0b1a;border-radius:8px;color:#92400e;display:flex;font-size:.9rem;gap:.75rem;line-height:1.6;padding:1rem;position:relative}.important-notice-list li:before{background:#fef3c7;border-radius:50%;color:#f59e0b;content:"!";flex-shrink:0;font-size:12px;font-weight:600;height:18px;left:1rem;position:absolute;top:1rem;width:18px}.important-notice-list li:before,.progress-indicator{align-items:center;display:flex;justify-content:center}.progress-indicator{background:linear-gradient(135deg,#fff,#fefcf9);border:1px solid #fbbf241a;border-radius:20px;box-shadow:0 4px 16px #4a1a3e14;flex-wrap:wrap;gap:0;margin-bottom:3rem;padding:2rem}@media (max-width:768px){.confirm-content{gap:1.5rem}.confirm-section{padding:1rem}.confirm-section-title{font-size:1rem}.confirm-item{align-items:flex-start;flex-direction:column;gap:.5rem}.confirm-label{min-width:auto}.confirm-value{text-align:left}.important-notice-list li{padding:.875rem .875rem .875rem 2.5rem}.important-notice-list li:before{left:.875rem;top:.875rem}.progress-indicator{flex-direction:row;gap:0;overflow-x:auto;padding:1rem}.progress-step{flex-shrink:0;margin:0}.step-number{font-size:.85rem;height:30px;width:30px}.step-label{font-size:.6rem}.progress-line{flex-shrink:0;height:2px;margin:0 .25rem;width:25px}}@media (max-width:640px){.confirm-content{gap:1rem}.confirm-section{padding:.875rem}.confirm-section-title{font-size:.9rem}.confirm-item{padding:.5rem 0}.important-notice-list li{font-size:.8rem;padding:.75rem .75rem .75rem 2.25rem}.important-notice-list li:before{font-size:10px;height:16px;left:.75rem;top:.75rem;width:16px}}.masonry-gallery-container{background:#f8f9fa;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6}.masonry-header{background:#fff;border-bottom:1px solid #e9ecef;padding:1rem 0;position:sticky;top:0;z-index:100}.masonry-header-content{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 1rem}.masonry-logo{color:#333;font-size:1.5rem;font-weight:700}.masonry-filters{align-items:center;display:flex;gap:1rem}.masonry-filter-group{align-items:center;display:flex;gap:.5rem}.masonry-filter-btn,.masonry-sort-btn{background:#fff;border:1px solid #dee2e6;border-radius:4px;cursor:pointer;font-size:.875rem;padding:.5rem 1rem;transition:all .2s}.masonry-filter-btn:hover,.masonry-sort-btn:hover{background:#f8f9fa}.masonry-filter-btn.active,.masonry-sort-btn.active{background:#007bff;border-color:#007bff;color:#fff}.masonry-container{margin:2rem auto;max-width:1200px;padding:0 1rem}.masonry-gallery{column-count:2;column-gap:1rem;margin-bottom:2rem}@media (min-width:480px){.masonry-gallery{column-count:3}}@media (min-width:768px){.masonry-gallery{column-count:4}}@media (min-width:1024px){.masonry-gallery{column-count:5}}@media (min-width:1200px){.masonry-gallery{column-count:6}}.masonry-card{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;break-inside:avoid;cursor:pointer;display:inline-block;margin-bottom:1rem;overflow:hidden;page-break-inside:avoid;position:relative;transition:transform .2s,box-shadow .2s;width:100%}.masonry-card:hover{box-shadow:0 4px 16px #00000026;transform:translateY(-2px)}.masonry-card:focus{outline:2px solid #007bff;outline-offset:2px}.masonry-card-image{align-items:center;background:#f0f0f0;display:flex;justify-content:center;position:relative;width:100%}.masonry-card-image img{display:block;height:auto;max-width:100%;object-fit:cover;object-position:center;position:relative;width:100%;z-index:2}.masonry-card-image{min-height:100px}.masonry-card-image.loading{background:#f0f0f0}.masonry-card-overlay{background:#000000b3;bottom:0;color:#fff;display:flex;flex-direction:column;justify-content:flex-end;left:0;opacity:0;padding:1rem;position:absolute;right:0;top:0;transition:opacity .3s;z-index:3}.masonry-card:hover .masonry-card-overlay{opacity:1}.masonry-card-title{font-size:.875rem;font-weight:600;margin-bottom:.25rem}.masonry-card-meta{align-items:center;display:flex;font-size:.75rem;justify-content:space-between}.masonry-card-rating{align-items:center;display:flex;gap:.25rem}.masonry-card-price{font-weight:600}.skeleton-image{background:#f0f0f0;min-height:200px;width:100%}.error-image{align-items:center;background:#f8f9fa;color:#6c757d;display:flex;flex-direction:column;font-size:.875rem;justify-content:center;min-height:150px;padding:2rem 1rem;text-align:center}.error-image small{font-size:.7rem;margin-top:.5rem;opacity:.7}.masonry-loading-message{color:#666;padding:2rem;text-align:center}@media (max-width:767px){.masonry-filters,.masonry-header-content{align-items:flex-start;flex-direction:column}.masonry-filters{gap:.5rem;width:100%}.masonry-filter-group{flex-wrap:wrap}}
/*# sourceMappingURL=main.a63a4e21.css.map*/