:root{--background:#0a0a0a;--surface:#1a1a1a;--surface-hover:#222;--primary:#d4af37;--primary-light:#f9e2af;--primary-text:#000;--primary-rgb:212, 175, 55;--text:#fff;--text-secondary:#b0b0b0;--accent:#d4af37;--glass:#1a1a1a80;--glass-border:#d4af3724;--shadow:0 10px 28px #00000059, 0 2px 10px #d4af3714;--nav-bg:#0a0a0af7;--banner-ad-height:0px;--color-success:#6fa287;--color-warning:#d4a24c;--color-error:#c56b5c;--color-info:#7c93c4;--color-love:#c4849c}body.light-mode{--background:#faf6ee;--surface:#fffdf9;--surface-hover:#f5efe4;--primary:#967520;--primary-light:#d4af37;--primary-rgb:150, 117, 32;--primary-text:#fffdf9;--accent:#967520;--text:#1f1a14;--text-secondary:#6b6355;--glass:#fffdf9d9;--glass-border:#96752029;--shadow:0 8px 30px #5a461e0f, 0 2px 8px #9675200a;--nav-bg:#faf6eef5}*,:before,:after{transition:background-color .3s,color .25s,border-color .3s,box-shadow .3s}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;touch-action:manipulation;margin:0;padding:0;font-family:Outfit,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}button,.nav-item,.bottom-nav,.desktop-sidebar{-webkit-user-select:none;user-select:none}body{background-color:var(--background);color:var(--text);width:100vw;height:100dvh;margin:0;padding:0;overflow:hidden}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:#ffffff08;border-radius:10px}::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:10px;transition:background .2s}::-webkit-scrollbar-thumb:hover{background:#d4af3759}::-webkit-scrollbar-corner{background:0 0}*{scrollbar-width:thin;scrollbar-color:#ffffff1f #ffffff08}body.light-mode ::-webkit-scrollbar-track{background:#0000000a}body.light-mode ::-webkit-scrollbar-thumb{background:#0000002e}body.light-mode ::-webkit-scrollbar-thumb:hover{background:#d4af378c}body.light-mode *{scrollbar-color:#0000002e #0000000a}@media (display-mode:standalone){body{height:100dvh}}#root{height:100%}.app-container{background:radial-gradient(circle at top right, var(--surface), var(--background));flex-direction:column;width:100vw;max-width:500px;height:100dvh;margin:0 auto;display:flex;position:relative;overflow:hidden;box-shadow:0 0 40px #000c}.app-container:before{content:"";background:radial-gradient(ellipse at 28% -15%, #b4641424, transparent 52%), radial-gradient(ellipse at 72% -15%, rgba(var(--primary-rgb), .24), transparent 65%);pointer-events:none;z-index:1;height:240px;position:absolute;top:0;left:0;right:0}.app-container:after{content:"";background:radial-gradient(ellipse at 50% 120%, rgba(var(--primary-rgb), .08), transparent 65%);pointer-events:none;z-index:1;height:200px;position:absolute;bottom:0;left:0;right:0}.scroll-content{min-height:0;padding:24px;padding-bottom:calc(84px + env(safe-area-inset-bottom) + var(--banner-ad-height));z-index:2;background-color:var(--background);background-image:repeating-linear-gradient(45deg, transparent 0, transparent 28px, rgba(var(--primary-rgb), .025) 28px, rgba(var(--primary-rgb), .025) 29px), repeating-linear-gradient(-45deg, transparent 0, transparent 28px, rgba(var(--primary-rgb), .025) 28px, rgba(var(--primary-rgb), .025) 29px);flex:auto;overflow-y:auto}.desktop-sidebar{display:none}.desktop-main{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow-y:auto}.desktop-ad-rail{display:none}.sidebar-nav-item{color:var(--text-secondary);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:12px;align-items:center;gap:12px;width:100%;margin-bottom:2px;padding:11px 14px;font-size:13px;font-weight:600;transition:background .18s,color .18s;display:flex}.sidebar-nav-item:hover{color:var(--text);background:#ffffff0d}.sidebar-nav-item.active{color:var(--primary);background:#d4af3721}@media (width>=768px){.app-container{max-width:100%;box-shadow:none;flex-direction:row}.desktop-sidebar{background-color:var(--surface);background-image:repeating-linear-gradient(45deg, transparent 0, transparent 20px, rgba(var(--primary-rgb), .015) 20px, rgba(var(--primary-rgb), .015) 21px), repeating-linear-gradient(-45deg, transparent 0, transparent 20px, rgba(var(--primary-rgb), .015) 20px, rgba(var(--primary-rgb), .015) 21px);border-right:1px solid var(--glass-border);z-index:50;flex-direction:column;flex-shrink:0;width:220px;min-width:220px;height:100dvh;padding:24px 10px 16px;display:flex;overflow-y:auto}.desktop-sidebar nav::-webkit-scrollbar{width:3px}.desktop-sidebar nav::-webkit-scrollbar-track{background:0 0}.desktop-sidebar nav::-webkit-scrollbar-thumb{background:#d4af372e;border-radius:2px}.desktop-sidebar nav::-webkit-scrollbar-thumb:hover{background:#d4af3761}.desktop-sidebar nav{scrollbar-width:thin;scrollbar-color:#d4af372e transparent}.sidebar-section-label{color:var(--text-secondary);letter-spacing:1.2px;text-transform:uppercase;opacity:.45;margin:0;padding:14px 8px 4px;font-size:10px;font-weight:700}.sidebar-section-label:before{content:"✦ ";color:var(--primary);vertical-align:middle;opacity:.8;font-size:6px}.bottom-nav{display:none!important}.scroll-content{padding-bottom:32px;padding-left:32px;padding-right:32px}.cal-day-cell{aspect-ratio:unset!important;height:72px!important}.premium-card{margin-bottom:16px;padding:16px}.premium-card:active,.gold-button:active,.icon-btn:active,.task-action-btn:active,.close-btn:active,button:active{transform:none!important}.desk-2col{grid-template-columns:1fr 1fr;gap:12px;display:grid!important}.desk-3col{grid-template-columns:1fr 1fr 1fr;gap:8px;display:grid!important}.desk-gap-12{gap:12px!important}.desk-mb-8{margin-bottom:8px!important}.desk-hero-compact{padding:14px 18px!important}.desk-hero-compact .desk-countdown-num{font-size:36px!important}}@media (width>=1400px){.desktop-ad-rail{border-left:1px solid var(--glass-border);flex-shrink:0;justify-content:center;align-items:flex-start;width:332px;min-width:332px;height:100dvh;padding:24px 16px;display:flex;position:sticky;top:0;overflow:hidden}}.header-event-tabs::-webkit-scrollbar{display:none}.premium-card{background:var(--glass);-webkit-backdrop-filter:blur(20px)saturate(180%);border:1px solid var(--glass-border);box-shadow:var(--shadow), inset 0 1px 0 #ffffff0a;border-radius:28px;margin-bottom:24px;padding:28px;transition:transform .25s cubic-bezier(.16,1,.3,1),border-color .25s,box-shadow .25s,background-color .25s;position:relative;overflow:hidden}@media (hover:hover){.premium-card:hover{border-color:rgba(var(--primary-rgb), .32);box-shadow:0 14px 32px #0006,inset 0 1px #ffffff0f}.task-action-btn:hover{filter:brightness(1.25)}.task-check-btn:hover svg circle{fill:#ffffff14}}.premium-card:after{content:"۞";color:rgba(var(--primary-rgb), .16);pointer-events:none;font-size:14px;position:absolute;top:12px;right:16px}.premium-card:active{background:linear-gradient(135deg, rgba(var(--primary-rgb), .05) 0%, var(--surface) 100%);transform:scale(.975)}.bottom-nav{bottom:var(--banner-ad-height,0px);backface-visibility:hidden;width:100%;max-width:500px;height:calc(60px + env(safe-area-inset-bottom));background:var(--nav-bg);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--glass-border);padding-top:8px;padding-bottom:env(safe-area-inset-bottom);z-index:100;justify-content:space-around;align-items:flex-start;display:flex;position:fixed;left:50%;transform:translate(-50%)translateZ(0);box-shadow:0 -4px 20px #0000004d}.nav-item{color:var(--text-secondary);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-width:44px;min-height:44px;padding:0 4px;font-size:11px;font-weight:600;transition:color .3s;display:flex;position:relative}.nav-item.active{color:var(--primary)}.nav-item.active:after{content:"";background:var(--primary);border-radius:50%;width:4px;height:4px;position:absolute;bottom:-6px}.close-btn{background:rgba(var(--primary-rgb), .08);border:1px solid rgba(var(--primary-rgb), .2);width:36px;min-width:36px;height:36px;min-height:36px;color:var(--text-secondary);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:18px;line-height:1;transition:background .18s,color .18s,border-color .18s,transform .15s;display:flex}@media (hover:hover){.close-btn:hover{background:rgba(var(--primary-rgb), .18);border-color:rgba(var(--primary-rgb), .4);color:var(--text)}}.close-btn:active{transform:scale(.9)}@media (pointer:fine){button{min-width:32px;min-height:32px}.gold-button,button[style*="width: 100%"]{min-height:unset;min-width:unset}}button:not(.gold-button):not(.close-btn):not(.luxury-input):not([class*=nav]):not([class*=sidebar]):not([class*=role]){color:inherit}.icon-btn{cursor:pointer;min-width:36px;min-height:36px;color:inherit;background:0 0;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;padding:max(0px,18px - .5em);transition:background .15s,opacity .15s;display:inline-flex}.icon-btn:hover{background:#ffffff12}.icon-btn:active{opacity:.7;transform:scale(.92)}.task-action-btn{min-height:36px;transition:opacity .15s,filter .15s;padding-top:9px!important;padding-bottom:9px!important}.task-action-btn:hover{filter:brightness(1.15)}.task-action-btn:active{opacity:.8;transform:scale(.97)}@media (width>=768px){button{min-height:32px}.icon-btn,.close-btn{min-width:40px;min-height:40px}.task-action-btn{min-width:38px;min-height:38px;padding:7px}.sidebar-nav-item{min-height:38px}}.wedding-ticket{background:linear-gradient(135deg, rgba(var(--primary-rgb), .2), rgba(var(--primary-rgb), .05));border:2px solid var(--primary);border-radius:20px;align-items:center;gap:20px;margin-bottom:24px;padding:24px;display:flex;position:relative;overflow:hidden}.ticket-number{color:var(--primary);border-right:2px dashed var(--glass-border);padding-right:20px;font-size:48px;font-weight:800;line-height:1}.ticket-label{flex-direction:column;display:flex}.progress-container{background:var(--surface);border:1px solid var(--glass-border);border-radius:6px;height:12px;margin:12px 0;overflow:hidden}.progress-bar{background:linear-gradient(90deg, var(--primary), var(--primary-light));height:100%;box-shadow:0 0 10px rgba(var(--primary-rgb), .5);border-radius:6px;transition:width .5s}.onboarding-sheet{background:var(--background);-webkit-overflow-scrolling:touch;height:100vh;min-height:100vh;padding:calc(env(safe-area-inset-top) + 40px) 24px 80px;z-index:2000;position:relative;overflow-y:auto}.fade-in{animation:.4s ease-out fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.luxury-loader-container{color:var(--primary);flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:60px 20px;display:flex}.luxury-spinner{border:3px solid rgba(var(--primary-rgb), .15);border-top-color:var(--primary);border-radius:50%;width:44px;height:44px;animation:1s cubic-bezier(.4,0,.2,1) infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.luxury-loader-text{letter-spacing:2px;text-transform:uppercase;color:var(--primary);font-size:13px;font-weight:700;animation:1.5s ease-in-out infinite pulseOpacity}@keyframes pulseOpacity{0%,to{opacity:.5}50%{opacity:1}}.modal-overlay{-webkit-backdrop-filter:blur(12px);z-index:15000;background:#000000a6;justify-content:center;align-items:flex-end;padding:0;animation:.3s ease-out overlayFadeIn;display:flex;position:fixed;inset:0}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}.bottom-sheet{background:var(--surface);width:100%;max-width:540px;padding:24px 24px calc(44px + env(safe-area-inset-bottom) + var(--banner-ad-height));border:1px solid var(--glass-border);background-image:linear-gradient(#ffffff0a 0%,#0000 60px);border-bottom:none;border-radius:36px 36px 0 0;flex-direction:column;max-height:92vh;animation:.4s cubic-bezier(.16,1,.3,1) slideUpSheet;display:flex;position:relative;overflow-y:auto;box-shadow:0 -12px 64px #000c,inset 0 1px #ffffff1f}.bottom-sheet-handle{background:var(--glass-border);opacity:.8;border-radius:3px;width:48px;height:5px;margin:0 auto 24px}@keyframes slideUpSheet{0%{transform:translateY(100%)}to{transform:translateY(0)}}.centered-modal{-webkit-backdrop-filter:blur(12px);z-index:15000;background:#000000bf;justify-content:center;align-items:center;padding:24px;animation:.3s ease-out overlayFadeIn;display:flex;position:fixed;inset:0}.centered-modal-content{background:var(--surface);border:1px solid var(--glass-border);background-image:linear-gradient(#ffffff0a 0%,#0000 60px);border-radius:32px;width:100%;max-width:540px;max-height:90vh;padding:32px;animation:.3s cubic-bezier(.16,1,.3,1) zoomInModal;overflow-y:auto;box-shadow:0 16px 64px #000c,inset 0 1px #ffffff1f}@media (width>=768px){.modal-overlay{align-items:center;padding:24px}.bottom-sheet{border-bottom:1px solid var(--glass-border);border-radius:32px;max-height:85vh;padding:32px;animation:.3s cubic-bezier(.16,1,.3,1) zoomInModal;box-shadow:0 16px 64px #000c,inset 0 1px #ffffff1f}.bottom-sheet-handle{display:none}}@keyframes zoomInModal{0%{opacity:0;transform:scale(.95)translateY(15px)}to{opacity:1;transform:scale(1)translateY(0)}}.gold-button{background:linear-gradient(135deg, var(--primary) 0%, var(--primary-light) 50%, var(--primary) 100%);color:var(--primary-text);cursor:pointer;border:none;border-radius:18px;width:100%;padding:18px;font-size:16px;font-weight:700;transition:all .2s;position:relative;overflow:hidden;box-shadow:0 4px 14px #00000040}.gold-button:active{opacity:.9;transform:scale(.97)}.gold-button:disabled{background:var(--surface);color:var(--text-secondary);cursor:not-allowed;box-shadow:none}.outline-button{color:var(--primary);border:1px solid rgba(var(--primary-rgb), .45);cursor:pointer;background:0 0;border-radius:14px;padding:14px 18px;font-size:14px;font-weight:600;transition:background .18s,border-color .18s}.outline-button:hover{background:rgba(var(--primary-rgb), .08);border-color:rgba(var(--primary-rgb), .7)}.outline-button:active{transform:scale(.98)}.ghost-button{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:12px;padding:12px 16px;font-size:14px;font-weight:600;transition:background .18s,color .18s}.ghost-button:hover{color:var(--text);background:#ffffff0f}body.light-mode .ghost-button:hover{background:#0000000d}body.light-mode .bottom-sheet,body.light-mode .centered-modal-content{box-shadow:0 -12px 48px #0000002e,inset 0 1px #fffc}.lucide{stroke-width:1.5px}.editorial-number{letter-spacing:-.5px;font-family:Cormorant Garamond,Georgia,serif;font-weight:400;line-height:1}.luxury-input{border:1px solid rgba(var(--primary-rgb), .3);color:var(--text);background:#ffffff09;border-radius:16px;width:100%;margin-bottom:16px;padding:16px 20px;font-size:15px;transition:all .3s cubic-bezier(.16,1,.3,1);box-shadow:inset 0 2px 6px #00000026}select.luxury-input,select.luxury-input option{background:var(--surface);color:var(--text)}body.light-mode .luxury-input{background:#00000005;box-shadow:inset 0 2px 6px #0000000a}.luxury-input:hover{border-color:rgba(var(--primary-rgb), .5);background:#ffffff0d}body.light-mode .luxury-input:hover{background:#0000000a}.luxury-input:focus{border-color:var(--primary);background:rgba(var(--primary-rgb), .05);box-shadow:inset 0 2px 4px #0000001a, 0 0 0 4px rgba(var(--primary-rgb), .15);outline:none;transform:translateY(-1px)}.luxury-label{color:var(--primary);margin-bottom:8px;margin-left:4px;font-size:14px;font-weight:600;display:block}.auth-container{width:100vw;max-width:500px;padding:calc(env(safe-area-inset-top) + 20px) 24px 60px;z-index:5000;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;background:radial-gradient(at 12% 20%,#d4af3738 0%,#0000 42%),radial-gradient(at 88% 78%,#9585c029 0%,#0000 38%),radial-gradient(at 72% 10%,#7c93c41f 0%,#0000 32%),radial-gradient(at 28% 90%,#c4849c1a 0%,#0000 32%),#060608;margin:0 auto;animation:.4s both authFadeIn;position:fixed;inset:0;overflow:hidden auto}.auth-container .premium-card{-webkit-backdrop-filter:blur(28px)saturate(160%);background:#ffffff0b;border:1px solid #ffffff1a;box-shadow:0 24px 64px #0000008c,inset 0 1px #ffffff12,0 0 0 .5px #d4af371a}.auth-container .luxury-input{-webkit-backdrop-filter:blur(8px);box-shadow:none;background:#ffffff0f;border:1px solid #ffffff1a}.auth-container .luxury-input:hover{background:#ffffff17;border-color:#d4af3759;transform:none}.auth-container .luxury-input:focus{background:#ffffff1c;border-color:#d4af3799;transform:none;box-shadow:0 0 0 3px #d4af3724}.auth-container .role-option{-webkit-backdrop-filter:blur(10px);background:#ffffff0a;border:1px solid #ffffff14;transition:all .2s}.auth-container .role-option:hover{background:#ffffff14;border-color:#d4af3747}.auth-container .role-option.selected{background:#d4af3724;border-color:#d4af378c;box-shadow:0 0 18px #d4af3724,inset 0 1px #d4af371a}.auth-container .gold-button{transition:box-shadow .2s,opacity .2s;box-shadow:0 4px 22px #d4af374d}.auth-container .gold-button:hover:not(:disabled){box-shadow:0 6px 32px #d4af377a}body.light-mode .auth-container{background:radial-gradient(at 12% 20%,#d4af372e 0%,#0000 42%),radial-gradient(at 88% 78%,#9585c01f 0%,#0000 38%),radial-gradient(at 72% 10%,#7c93c41a 0%,#0000 32%),radial-gradient(at 28% 90%,#c4849c14 0%,#0000 32%),#f0ede8}body.light-mode .auth-container .premium-card{background:#ffffff8c;border:1px solid #ffffffb3;box-shadow:0 20px 60px #0000001f,inset 0 1px #ffffffe6}body.light-mode .auth-container .luxury-input{background:#fff9;border:1px solid #0000001a}body.light-mode .auth-container .luxury-input:hover{background:#ffffffbf;border-color:#d4af3766}body.light-mode .auth-container .luxury-input:focus{background:#ffffffd9;border-color:#d4af37a6}body.light-mode .auth-container .role-option{background:#ffffff73;border:1px solid #00000014}body.light-mode .auth-container .role-option.selected{background:#d4af371f;border-color:#d4af3780}.auth-header{text-align:center;margin-bottom:20px}.auth-header h1{background:linear-gradient(160deg,#f4e3b2 0%,#d4af37 55%,#a8842c 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:8px;font-size:32px}@keyframes authFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}h1{letter-spacing:.2px;color:var(--text);margin:0;font-family:Cinzel,Georgia,serif;font-size:24px;font-weight:600;line-height:1.3;position:relative}h2{color:var(--text);margin:0;font-family:Cinzel,Georgia,serif;font-size:19px;font-weight:600;line-height:1.3}h3{color:var(--text);margin:0;font-size:16px;font-weight:700;line-height:1.3}h4{color:var(--text);margin:0;font-size:14px;font-weight:600;line-height:1.4}p{margin:0;line-height:1.5}.wedding-ticket:before{content:"✦";color:var(--primary);opacity:.2;pointer-events:none;font-size:12px;position:absolute;top:8px;right:14px}.wedding-ticket:after{content:"✧";color:var(--primary);opacity:.15;pointer-events:none;font-size:10px;position:absolute;bottom:10px;left:14px}.progress-container:after{content:"✦";color:var(--primary);opacity:.2;pointer-events:none;font-size:8px;position:absolute;top:50%;right:-18px;transform:translateY(-50%)}.role-selector{grid-template-columns:1fr 1fr 1fr;gap:12px;margin-bottom:24px;display:grid}.role-option{background:var(--surface);border:1px solid var(--glass-border);text-align:center;cursor:pointer;color:var(--text);border-radius:16px;width:100%;padding:12px;font-family:inherit;font-size:12px;transition:all .2s;display:block}.role-option.selected{border-color:var(--primary);background:rgba(var(--primary-rgb), .12);color:var(--primary)}.spinner{border:2px solid #ffffff1a;border-top-color:var(--primary);border-radius:50%;animation:.7s linear infinite spin;display:inline-block}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes shrink-width{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.15)}}@keyframes ping{75%,to{opacity:0;transform:scale(2.5)}}@keyframes shimmer{0%{transform:translate(-100%)skew(-20deg)}to{transform:translate(200%)skew(-20deg)}}button:disabled{cursor:not-allowed;opacity:.5}.gold-button:disabled{opacity:1}.modal-scroll-wrap{position:relative}.modal-scroll-wrap:after{content:"";background:linear-gradient(to bottom, transparent, var(--surface));pointer-events:none;border-radius:0 0 20px 20px;height:48px;position:absolute;bottom:0;left:0;right:0}.arab-divider{color:rgba(var(--primary-rgb), .45);letter-spacing:.5px;align-items:center;gap:10px;margin:12px 0;font-size:10px;display:flex}.arab-divider:before,.arab-divider:after{content:"";background:linear-gradient(90deg, transparent, rgba(var(--primary-rgb), .3), transparent);flex:1;height:1px}.gold-heading{background:linear-gradient(135deg, var(--primary-light) 0%, var(--primary) 60%, var(--primary) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.geometric-frame{text-align:center;padding:0 20px;position:relative}.geometric-frame:before,.geometric-frame:after{content:"✦";color:rgba(var(--primary-rgb), .35);font-size:8px;position:absolute;top:50%;transform:translateY(-50%)}.geometric-frame:before{left:0}.geometric-frame:after{right:0}.luxury-title{letter-spacing:3px;text-transform:uppercase;font-family:Cinzel,Georgia,serif}.luxury-header{font-family:Cormorant Garamond,Georgia,serif}.view-transition{animation:.35s cubic-bezier(.16,1,.3,1) backwards slideFadeIn}@keyframes slideFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
