: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:#a0a0a0;--accent:#d4af37;--glass:#1a1a1ae0;--glass-border:#d4af3740;--shadow:0 8px 32px #d4af3726;--nav-bg:#0a0a0af7;--color-success:#10b981;--color-warning:#f59e0b;--color-error:#ef4444;--color-info:#3b82f6;--color-love:#ec4899}body.light-mode{--background:#f8f6f1;--surface:#fff;--surface-hover:#f0ede6;--text:#1a1a1a;--text-secondary:#6b7280;--glass:#ffffffeb;--glass-border:#d4af374d;--shadow:0 8px 32px #0000001a;--nav-bg:#f8f6f1f7}*,: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(120px + env(safe-area-inset-bottom));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}.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:max(24px,50% - 450px);padding-right:max(24px,50% - 450px)}}.header-event-tabs::-webkit-scrollbar{display:none}.premium-card{background:var(--glass);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);box-shadow:var(--shadow), inset 0 1px 0 rgba(var(--primary-rgb), .05);border-radius:28px;margin-bottom:24px;padding:24px;transition:transform .2s,border-color .2s;position:relative;overflow:hidden}@media (hover:hover){.premium-card:hover{border-color:rgba(var(--primary-rgb), .5);box-shadow:var(--shadow), 0 0 28px rgba(var(--primary-rgb), .1), inset 0 1px 0 rgba(var(--primary-rgb), .08)}.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), .12);pointer-events:none;font-size:14px;animation:4s ease-in-out infinite sparkleRotate;position:absolute;top:12px;right:16px}.premium-card:before{content:"";background:linear-gradient(90deg, transparent, rgba(var(--primary-rgb), .03), transparent);pointer-events:none;width:60%;height:100%;animation:6s ease-in-out infinite cardShimmer;position:absolute;top:0;left:-100%}@keyframes sparkleRotate{0%,to{opacity:.12;transform:rotate(0)scale(1)}50%{opacity:.25;transform:rotate(180deg)scale(1.2)}}@keyframes cardShimmer{0%{left:-100%}50%{left:150%}to{left:150%}}.premium-card:active{transform:scale(.98)}.bottom-nav{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);box-shadow:0 -4px 24px rgba(var(--primary-rgb), .07);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;bottom:0;left:50%;transform:translate(-50%)}.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);width:4px;height:4px;box-shadow:0 0 8px var(--primary), 0 0 16px rgba(var(--primary-rgb), .3);border-radius:50%;animation:2s ease-in-out infinite navGlow;position:absolute;bottom:-6px}@keyframes navGlow{0%,to{box-shadow:0 0 6px var(--primary), 0 0 12px rgba(var(--primary-rgb), .2)}50%{box-shadow:0 0 10px var(--primary), 0 0 20px rgba(var(--primary-rgb), .4)}}.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));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, #b8860b 0%, var(--primary) 38%, #f0c548 68%, var(--primary) 100%);color:var(--primary-text);cursor:pointer;width:100%;box-shadow:0 4px 12px rgba(var(--primary-rgb), .25);border:none;border-radius:18px;padding:18px;font-size:16px;font-weight:700;transition:all .2s;position:relative;overflow:hidden}.gold-button:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#ffffff40,#0000);width:50%;height:100%;animation:3s ease-in-out infinite btnShimmer;position:absolute;top:0;left:-100%}@keyframes btnShimmer{0%{left:-100%}60%{left:150%}to{left:150%}}.gold-button:active{opacity:.9;transform:scale(.97)}.gold-button:disabled{background:var(--surface);color:var(--text-secondary);cursor:not-allowed;box-shadow:none}.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%,#8b5cf629 0%,#0000 38%),radial-gradient(at 72% 10%,#3b82f61f 0%,#0000 32%),radial-gradient(at 28% 90%,#ec48991a 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%,#8b5cf61f 0%,#0000 38%),radial-gradient(at 72% 10%,#3b82f61a 0%,#0000 32%),radial-gradient(at 28% 90%,#ec489914 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(135deg,#f9e2af 0%,#d4af37 50%,#f9e2af 100%) 0 0/200% 100%;-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 18px #d4af3740);-webkit-background-clip:text;background-clip:text;margin-bottom:8px;font-size:32px;animation:3.5s linear infinite shimmerText}@keyframes floatSparkle{0%,to{opacity:.15;transform:translateY(0)scale(1)}50%{opacity:.35;transform:translateY(-8px)scale(1.3)}}@keyframes authFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmerText{0%{background-position:-200%}to{background-position:200%}}h1{color:var(--text);margin:0;font-size:24px;font-weight:800;line-height:1.2;position:relative}h2{color:var(--text);margin:0;font-size:20px;font-weight:700;line-height:1.25}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;animation:3s ease-in-out infinite floatSparkle;position:absolute;top:8px;right:14px}.wedding-ticket:after{content:"✧";color:var(--primary);opacity:.15;pointer-events:none;font-size:10px;animation:4s ease-in-out 1s infinite floatSparkle;position:absolute;bottom:10px;left:14px}.progress-container:after{content:"✦";color:var(--primary);opacity:.2;pointer-events:none;font-size:8px;animation:2.5s ease-in-out infinite floatSparkle;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;border-radius:16px;padding:12px;font-size:12px;transition:all .2s}.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) 45%, #c8960a 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}
