@media (max-width:639px){body{font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Helvetica Neue,Segoe UI,Roboto,Open Sans,system-ui,sans-serif!important;-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important;text-rendering:optimizeLegibility!important}.desktop-sidebar,[data-desktop-only=true],aside.hidden-mobile,nav.desktop-nav{display:none!important}.mobile-bottom-nav,.mobile-header,.mobile-nav,[data-mobile-only=true]{display:flex!important}[role=button],a,button,input,select,textarea{min-height:44px!important;font-size:16px!important}.card,[class*=card]{border-radius:16px!important;overflow:hidden!important}.btn,button:not([class*=icon]){border-radius:12px!important;font-weight:600!important;letter-spacing:-.01em!important}.mobile-safe-area{padding:env(safe-area-inset-top,0) env(safe-area-inset-right,0) env(safe-area-inset-bottom,0) env(safe-area-inset-left,0)!important}}@media (max-width:374px){body{font-size:14px!important}h1{font-size:1.5rem!important}h2{font-size:1.25rem!important}.container,.content-wrapper{padding-left:12px!important;padding-right:12px!important}.gap-4{gap:.75rem!important}.p-4{padding:.75rem!important}}@media (min-width:375px) and (max-width:414px){body{font-size:15px!important}h1{font-size:1.75rem!important}h2{font-size:1.375rem!important}.container,.content-wrapper{padding-left:16px!important;padding-right:16px!important}}@media (min-width:415px) and (max-width:639px){body{font-size:16px!important}h1{font-size:2rem!important}h2{font-size:1.5rem!important}.container,.content-wrapper{padding-left:20px!important;padding-right:20px!important}[role=button],a,button{min-height:48px!important}}@media (width:360px) and (height:800px){.desktop-sidebar,aside:not(.mobile-sidebar){display:none!important}.mobile-bottom-nav,.mobile-nav{display:flex!important}}@media (min-width:410px) and (max-width:420px){.card{border-radius:20px!important;box-shadow:0 2px 12px rgba(0,0,0,.08)!important}.btn-primary,button.primary{border-radius:14px!important}}@media (width:375px) and (max-height:680px){.mobile-header{padding-top:8px!important}.mobile-bottom-nav,.mobile-header{padding-bottom:8px!important}}@media (min-width:428px) and (max-width:440px){.card{border-radius:22px!important;box-shadow:0 4px 16px rgba(0,0,0,.1)!important}h1{font-size:2.125rem!important;font-weight:700!important;letter-spacing:-.02em!important}}@media (min-width:393px) and (max-width:422px){.card{border-radius:16px!important}.btn-primary,button.primary{border-radius:20px!important}}@media (min-width:768px) and (max-width:1023px){.desktop-sidebar{display:none!important}.mobile-nav{display:flex!important}.container,.content-wrapper{max-width:720px!important;margin:0 auto!important}}@media (max-height:500px) and (orientation:landscape){.mobile-header{padding-top:4px!important;padding-bottom:4px!important}.mobile-bottom-nav{padding:4px 0!important}.landscape-hide{display:none!important}}@media (hover:none) and (pointer:coarse){[role=button]:hover,a:hover,button:hover{transform:none!important}[role=button]:active,a:active,button:active{transform:scale(.98)!important;opacity:.9!important}*{-webkit-overflow-scrolling:touch!important}[role=button],a,button{-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}}@media (min-resolution:192dpi){.card,button,input{border-width:.5px!important}}@media (max-width:639px){.dark{--background:0 0% 0%;--foreground:0 0% 95%;--card:0 0% 8%}}@supports (padding-top:env(safe-area-inset-top)){.mobile-header{padding-top:max(12px,env(safe-area-inset-top))!important}.mobile-bottom-nav{padding-bottom:max(8px,env(safe-area-inset-bottom))!important}}@media (max-width:639px){.performance-badge,[class*=Performance],[data-performance-badge]{display:none!important}}@media (max-width:767px){body{overflow-x:hidden!important}.w-60.fixed,.w-64.fixed,aside.w-60,aside.w-64,nav.w-60,nav.w-64{display:none!important}}@supports (-webkit-touch-callout:none){html{height:100%;height:-webkit-fill-available}body{min-height:100%;min-height:-webkit-fill-available;-webkit-overflow-scrolling:touch;overflow-y:auto;overflow-x:hidden}body:after{content:"";display:block;height:calc(160px + env(safe-area-inset-bottom, 34px));width:100%;pointer-events:none}.dashboard-content,.page-content,[role=main],main{-webkit-overflow-scrolling:touch;overflow-y:auto;min-height:auto!important;height:auto!important}.grid.grid-cols-7{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;width:100%!important;overflow:visible!important}.calendar-day-cell,.grid.grid-cols-7>div,[class*=calendar-day]{min-width:0!important;overflow:visible!important}.profile-icon,a[href*="/account"],a[href*="/profile"],button[aria-label*=account],button[aria-label*=profile]{pointer-events:auto!important;touch-action:manipulation;-webkit-tap-highlight-color:rgba(0,0,0,.1);z-index:100}}@supports (-webkit-touch-callout:none){@media (max-width:768px){body:after{height:calc(180px + env(safe-area-inset-bottom, 34px))}.main-content,.page-content,[role=main],main{padding-bottom:calc(160px + env(safe-area-inset-bottom, 34px))!important}[role=button],a,button{touch-action:manipulation}}}@supports (-webkit-touch-callout:none){@media (min-width:769px) and (max-width:1366px){.grid.grid-cols-7{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;width:100%!important}body:after{height:calc(80px + env(safe-area-inset-bottom, 10px))}}}@supports (-webkit-touch-callout:none){.min-h-screen.bg-gray-50:has(.sticky.top-0){min-height:auto!important;height:auto!important;padding-bottom:calc(180px + env(safe-area-inset-bottom, 34px))!important;-webkit-overflow-scrolling:touch}.sticky.top-0.z-50.bg-white.border-b{position:sticky!important;top:0!important;z-index:40!important;transform:translateZ(0);will-change:transform}.max-w-7xl.mx-auto.py-6.px-4{overflow-y:visible!important;overflow-x:hidden!important;height:auto!important;min-height:auto!important}.grid.grid-cols-7{width:100%!important}.grid.grid-cols-7,.mb-6 .rounded-lg,.mb-6 [class*=Card]{overflow:visible!important}}@supports (-webkit-touch-callout:none){@media (max-width:768px){body:has(.min-h-screen.bg-gray-50){padding-bottom:env(safe-area-inset-bottom,34px)!important}.min-h-screen.bg-gray-50{min-height:unset!important;height:auto!important;padding-bottom:calc(200px + env(safe-area-inset-bottom, 34px))!important}.sticky.top-0.z-50.bg-white.border-b.border-gray-200.shadow-sm,[class*=EnhancedMobileCalendarHeader]{transform:translateZ(0);backface-visibility:hidden}.calendar-container,[data-testid=calendar-container]{-webkit-overflow-scrolling:touch;overflow-y:auto!important}.flex.items-center.bg-gray-100.rounded-xl{position:relative;z-index:10}}}@supports (-webkit-touch-callout:none){@media (min-width:769px) and (max-width:1366px){.min-h-screen.bg-gray-50{min-height:auto!important;padding-bottom:calc(100px + env(safe-area-inset-bottom, 10px))!important}}}@supports (-webkit-touch-callout:none){.min-h-screen.bg-gradient-to-br.dark\:from-gray-900,.min-h-screen.bg-gradient-to-br.from-gray-50{min-height:auto!important;height:auto!important;padding-bottom:calc(180px + env(safe-area-inset-bottom, 34px))!important;-webkit-overflow-scrolling:touch}.sticky.top-0.z-40.shadow-sm{position:sticky!important;top:0!important;transform:translateZ(0);will-change:transform;z-index:35!important}.container.mx-auto.px-4.py-6.max-w-7xl{overflow-y:visible!important;overflow-x:hidden!important;height:auto!important;min-height:auto!important}.grid.grid-cols-1.md\:grid-cols-3.gap-6,.mb-8 .flex.flex-col.md\:flex-row,[data-component=stats-overview],[data-component=your-events-section],[data-protected=true]{overflow:visible!important}}@supports (-webkit-touch-callout:none){@media (max-width:768px){.min-h-screen.bg-gradient-to-br{min-height:unset!important;height:auto!important;padding-bottom:calc(220px + env(safe-area-inset-bottom, 34px))!important}.sticky.top-0.z-40,[class*=MobileDashboardHeader]{transform:translateZ(0);backface-visibility:hidden}.container.mx-auto.px-4.py-6{-webkit-overflow-scrolling:touch;overflow-y:auto!important;touch-action:pan-y}.grid.grid-cols-1{overflow:visible!important}.tabs-container,[role=tablist]{-webkit-overflow-scrolling:touch;overflow-x:auto!important}.space-y-4>a,.space-y-4>div{overflow:visible!important}}}@supports (-webkit-touch-callout:none){@media (min-width:769px) and (max-width:1366px){.min-h-screen.bg-gradient-to-br{min-height:auto!important;padding-bottom:calc(100px + env(safe-area-inset-bottom, 10px))!important}}}@media screen and (max-width:768px){input[type=email],input[type=number],input[type=password],input[type=text],select,textarea{font-size:16px!important}}.mobile-nav-container,.touch-manipulation{-webkit-tap-highlight-color:transparent;touch-action:manipulation}.calendar-scroll{-webkit-overflow-scrolling:touch;scroll-behavior:smooth;overscroll-behavior:contain}@supports (padding-bottom:env(safe-area-inset-bottom)){.mobile-calendar-container{padding-bottom:calc(env(safe-area-inset-bottom) + 100px)}.safe-area-inset-top{padding-top:env(safe-area-inset-top)}.safe-area-inset-bottom{padding-bottom:env(safe-area-inset-bottom)}}.mobile-calendar-btn{min-height:44px;min-width:44px;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:all .15s ease;display:flex;align-items:center;justify-content:center}.mobile-calendar-btn:active{transform:scale(.96);opacity:.9}.calendar-day-mobile{min-height:88px;touch-action:manipulation;-webkit-tap-highlight-color:transparent;position:relative;overflow:hidden;transition:background-color .15s ease}.calendar-day-mobile:active{background-color:rgba(59,130,246,.1)}.calendar-day-selected{background-color:rgba(59,130,246,.08);box-shadow:inset 0 0 0 2px rgba(59,130,246,.3)}.calendar-day-today .day-number{background-color:#2563eb;color:#fff;border-radius:50%;font-weight:600}.event-chip{min-height:24px;padding:4px 8px;border-radius:6px;font-size:11px;font-weight:500;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:transform .1s ease,opacity .15s ease}.event-chip:active{transform:scale(.98)}.event-chip-past{opacity:.6;text-decoration:line-through}.event-chip-upcoming{box-shadow:0 2px 4px rgba(0,0,0,.15);ring:2px solid hsla(0,0%,100%,.3)}.event-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;transition:transform .15s ease}.event-dot-past{opacity:.5}.event-card{min-height:72px;padding:16px;border-radius:12px;background:#fff;border:1px solid #e5e7eb;transition:all .15s ease;touch-action:manipulation}.event-card:active{transform:scale(.99);background-color:#f9fafb}.event-card-upcoming{border-color:#bfdbfe;box-shadow:0 4px 6px -1px rgba(59,130,246,.1)}.event-card-past{opacity:.75;background-color:#f9fafb}.event-color-bar{width:4px;border-radius:4px;min-height:40px}.calendar-view-tabs{display:flex;border-top:1px solid #f3f4f6;background:#fff}.calendar-view-tab{flex:1;min-height:48px;padding:12px 8px;font-size:13px;font-weight:600;color:#6b7280;transition:all .15s ease;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.calendar-view-tab:active{background-color:#f3f4f6}.calendar-view-tab-active{color:#2563eb;border-bottom:2px solid #2563eb;background-color:rgba(59,130,246,.05)}.time-grid-row{min-height:52px;border-bottom:1px solid #f3f4f6}.time-label{width:56px;padding:8px;font-size:11px;font-weight:500;color:#9ca3af;text-align:right;background-color:#fafafa;border-right:1px solid #f3f4f6}.calendar-view-transition{transition:all .3s cubic-bezier(.4,0,.2,1)}.mobile-calendar-text{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.mobile-calendar-focus:focus{outline:2px solid #3b82f6;outline-offset:2px;border-radius:4px}.mobile-calendar-focus:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}@media screen and (max-width:480px){.calendar-container{overflow-x:hidden;width:100%}.event-chip{font-size:10px;padding:3px 6px;min-height:22px}}@media screen and (max-width:375px){.calendar-day-mobile{min-height:80px}.time-label{width:48px;font-size:10px}}@media (prefers-color-scheme:dark){.mobile-calendar-container{background-color:#1f2937}.calendar-day-mobile:active{background-color:rgba(59,130,246,.2)}.event-card{background-color:#374151;border-color:#4b5563}.calendar-view-tab{color:#9ca3af}.calendar-view-tab-active{color:#60a5fa;border-color:#60a5fa}}@media (prefers-contrast:high){.event-dot,.mobile-calendar-btn{border:1px solid}.event-chip{border:1px solid hsla(0,0%,100%,.5)}}@media (prefers-reduced-motion:reduce){.calendar-view-tab,.calendar-view-transition,.event-card,.event-chip,.event-dot,.mobile-calendar-btn{transition:none}.event-card:active,.event-chip:active,.mobile-calendar-btn:active{transform:none}}.swipe-hint{position:absolute;top:50%;transform:translateY(-50%);opacity:0;transition:opacity .2s ease;pointer-events:none}.swipe-hint-left{left:8px}.swipe-hint-right{right:8px}.calendar-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;color:#9ca3af}.calendar-loading-spinner{animation:spin 1s linear infinite}.calendar-empty{flex-direction:column;padding:48px 24px;text-align:center}.calendar-empty,.calendar-empty-icon{display:flex;align-items:center;justify-content:center}.calendar-empty-icon{width:64px;height:64px;margin-bottom:16px;border-radius:50%;background-color:#f3f4f6}.calendar-day-event,.calendar-hour-event{position:relative;z-index:20!important;pointer-events:auto!important;cursor:pointer;-webkit-tap-highlight-color:rgba(59,130,246,.3)}.calendar-day-event:hover,.calendar-hour-event:hover{z-index:25!important}.calendar-day-event:active,.calendar-hour-event:active{z-index:30!important}.calendar-time-grid-cell{position:relative}.calendar-sticky-header{z-index:15;pointer-events:auto}.calendar-week-cell{position:relative;pointer-events:auto}.calendar-day-slot button[type=button],.calendar-time-slot button[type=button]{position:relative;z-index:20!important;pointer-events:auto!important}@media screen and (max-width:768px){.friend-search-input{font-size:16px!important;-webkit-appearance:none;border-radius:12px}}.mobile-friend-card{min-height:80px;min-width:44px;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:all .2s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.mobile-friend-card:active{transform:scale(.98)}.mobile-friend-card[data-testid^=friend-item],.mobile-friend-card[data-testid^=group-item]{min-height:88px;padding:16px}.mobile-friend-card .mobile-checkbox,.mobile-friend-card input[type=checkbox]{min-width:44px;min-height:44px}.mobile-checkbox{width:24px;height:24px;border-radius:8px;border:2px solid #d1d5db;transition:all .2s ease;touch-action:manipulation}.mobile-checkbox:checked{background-color:#3b82f6;border-color:#3b82f6}.mobile-checkbox-orange:checked{background-color:#ea580c;border-color:#ea580c}.mobile-friend-sheet{border-top-left-radius:24px;border-top-right-radius:24px;box-shadow:0 -10px 40px rgba(0,0,0,.15);max-height:90vh;overflow:hidden}@media (max-width:768px){.mobile-friend-sheet{position:fixed;bottom:0;left:0;right:0;top:10%;transform:translateY(0);margin:0;border-radius:24px 24px 0 0;max-width:100vw;width:100vw}}.mobile-tab-trigger{min-height:44px;font-size:16px;font-weight:600;border-radius:12px;touch-action:manipulation;transition:all .2s ease}.mobile-tab-trigger[data-state=active]{background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.1)}.mobile-action-button{min-height:56px;font-size:16px;font-weight:600;border-radius:16px;touch-action:manipulation;transition:all .2s cubic-bezier(.4,0,.2,1)}.mobile-action-button:active{transform:scale(.98)}.mobile-action-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.mobile-avatar{width:56px;height:56px;border:3px solid #fff;box-shadow:0 4px 12px rgba(0,0,0,.1)}.mobile-search-container{position:relative}.mobile-search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:20px;height:20px;color:#9ca3af}.mobile-selection-card{background:linear-gradient(135deg,#e0f2fe,#f0f9ff);border:1px solid #bae6fd;border-radius:16px;padding:16px 20px}.mobile-selection-card.orange{background:linear-gradient(135deg,#fed7aa,#fef3c7);border-color:#fdba74}.mobile-friend-list{-webkit-overflow-scrolling:touch;scroll-behavior:smooth}.mobile-focusable:focus{outline:2px solid #3b82f6;outline-offset:2px;border-radius:12px}@supports (padding-bottom:env(safe-area-inset-bottom)){.mobile-sheet-content{padding-bottom:calc(env(safe-area-inset-bottom) + 24px)}}@media (prefers-contrast:high){.mobile-friend-card{border-width:2px}.mobile-checkbox{border-width:3px}}@media (prefers-color-scheme:dark){.mobile-friend-sheet{background-color:#111827;border-color:#374151}.mobile-friend-card{background-color:#1f2937;border-color:#374151}.mobile-friend-card:hover{background-color:#374151}}@media (prefers-reduced-motion:reduce){.mobile-action-button,.mobile-friend-card,.mobile-tab-trigger{transition:none}.mobile-action-button:active,.mobile-friend-card:active{transform:none}}.mobile-loading-spinner{animation:spin 1s linear infinite}.mobile-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.mobile-touch-feedback{position:relative;overflow:hidden}.mobile-touch-feedback:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:hsla(0,0%,100%,.5);border-radius:50%;transform:translate(-50%,-50%);transition:width .3s ease,height .3s ease}.mobile-touch-feedback:active:after{width:200px;height:200px}.mobile-tab-content{padding-top:16px;height:100%}.mobile-friend-list-item{margin-bottom:8px}.mobile-friend-list-item:last-child{margin-bottom:16px}.mobile-notification-bell{min-width:44px!important;min-height:44px!important;display:flex!important;visibility:visible!important;opacity:1!important;transition:all .2s ease;-webkit-tap-highlight-color:transparent}.mobile-notification-bell:active{transform:scale(.95)}.notification-bell-wrapper{position:relative;z-index:50}.notification-popover{max-width:95vw!important;width:min(384px,95vw)!important;max-height:80vh!important;z-index:9999!important}@media (max-width:640px){.notification-popover{width:90vw!important;max-width:90vw!important;left:5vw!important;right:5vw!important;transform:none!important}.notification-popover .scroll-area{max-height:60vh}.notification-popover .action-buttons button{min-height:44px;padding:8px 16px;font-size:14px}}.mobile-notification-bell .badge{position:absolute;top:-2px;right:-2px;min-width:20px;min-height:20px;font-size:11px;font-weight:600;pointer-events:none}@media (prefers-color-scheme:dark){.mobile-notification-bell{border-color:#4b5563!important;background-color:#1f2937!important}.mobile-notification-bell:hover{background-color:#374151!important}}@media (prefers-contrast:high){.mobile-notification-bell{border:2px solid}.mobile-notification-bell .badge{border:2px solid #fff}}@media (prefers-reduced-motion:reduce){.mobile-notification-bell{transition:none}.mobile-notification-bell:active{transform:none}}[data-sonner-toaster]{z-index:99999!important}[data-sonner-toaster][data-x-position=right]{right:12px}@media (max-width:640px){[data-sonner-toaster]{left:12px!important;right:12px!important;width:calc(100% - 24px)!important}[data-sonner-toast]{width:100%!important;max-width:none!important;border-radius:8px!important;margin-bottom:8px!important}}.actionable-notification{padding:16px!important;border-bottom:1px solid var(--border)!important}.actionable-notification:hover{background-color:var(--accent)!important}@media (max-width:640px){.actionable-notification{padding:12px!important}.actionable-notification .action-buttons{flex-direction:column!important;gap:8px!important;margin-top:12px!important}.actionable-notification .action-buttons button{width:100%!important;justify-content:center!important}}.notification-loading{display:flex;align-items:center;justify-content:center;padding:32px;color:var(--muted-foreground)}.notification-loading:after{content:"";width:20px;height:20px;border:2px solid var(--muted-foreground);border-top:2px solid transparent;border-radius:50%;animation:spin 1s linear infinite;margin-left:8px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.mobile-notification-bell:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.notification-bell-container{display:flex;align-items:center;justify-content:center;width:44px;height:44px}@keyframes notification-bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-4px)}60%{transform:translateY(-2px)}}.notification-new{animation:notification-bounce .6s ease-in-out}