.app{min-height:100vh;display:flex;flex-direction:column}.app-header{background:var(--glass-bg);color:var(--gray-900);padding:2rem 0;text-align:center;box-shadow:var(--shadow);border-bottom:1px solid var(--glass-border);backdrop-filter:var(--backdrop-blur-lg);-webkit-backdrop-filter:var(--backdrop-blur-lg);position:relative;overflow:hidden}.app-header:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:var(--gradient-glass);opacity:.5}.app-header h1{font-size:2.25rem;font-weight:800;margin-bottom:.75rem;position:relative;z-index:1;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:0 2px 4px rgba(0,0,0,.1)}.app-header p{font-size:1.125rem;opacity:.8;margin:0;position:relative;z-index:1;color:var(--gray-700);font-weight:500}.error-state{text-align:center;padding:3rem 1rem}.error-state h3{color:var(--gray-700);margin-bottom:1rem}.error-state p{color:var(--gray-600);margin-bottom:1.5rem}@media (min-width: 768px){.app-header{padding:2.5rem 0}.app-header h1{font-size:2.75rem}.app-header p{font-size:1.25rem}}:root{--primary: #007AFF;--primary-dark: #0056CC;--primary-light: #4DA3FF;--secondary: #FF6B35;--success: #34C759;--danger: #FF3B30;--warning: #FF9500;--glass-bg: rgba(255, 255, 255, .25);--glass-bg-dark: rgba(0, 0, 0, .1);--glass-border: rgba(255, 255, 255, .3);--glass-border-dark: rgba(0, 0, 0, .1);--gray-50: #F8F9FA;--gray-100: #F1F3F4;--gray-200: #E8EAED;--gray-300: #DADCE0;--gray-400: #BDC1C6;--gray-500: #9AA0A6;--gray-600: #80868B;--gray-700: #5F6368;--gray-800: #3C4043;--gray-900: #202124;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .12), 0 1px 2px rgba(0, 0, 0, .24);--shadow: 0 3px 6px rgba(0, 0, 0, .16), 0 3px 6px rgba(0, 0, 0, .23);--shadow-md: 0 10px 20px rgba(0, 0, 0, .19), 0 6px 6px rgba(0, 0, 0, .23);--shadow-lg: 0 14px 28px rgba(0, 0, 0, .25), 0 10px 10px rgba(0, 0, 0, .22);--shadow-xl: 0 19px 38px rgba(0, 0, 0, .3), 0 15px 12px rgba(0, 0, 0, .22);--backdrop-blur: blur(20px);--backdrop-blur-sm: blur(10px);--backdrop-blur-lg: blur(30px);--gradient-primary: linear-gradient(135deg, #007AFF 0%, #4DA3FF 100%);--gradient-secondary: linear-gradient(135deg, #FF6B35 0%, #FF9500 100%);--gradient-success: linear-gradient(135deg, #34C759 0%, #30D158 100%);--gradient-danger: linear-gradient(135deg, #FF3B30 0%, #FF453A 100%);--gradient-glass: linear-gradient(135deg, rgba(255, 255, 255, .4) 0%, rgba(255, 255, 255, .1) 100%);--gradient-glass-dark: linear-gradient(135deg, rgba(0, 0, 0, .1) 0%, rgba(0, 0, 0, .05) 100%)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);background-attachment:fixed;color:var(--gray-900);line-height:1.6;overflow-x:hidden;min-height:100vh}#root{min-height:100vh;display:flex;flex-direction:column}.container{max-width:100%;margin:0 auto;padding:0 1rem}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.5rem;border:none;border-radius:1rem;font-weight:600;font-size:.875rem;line-height:1.25rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);text-decoration:none;min-height:44px;position:relative;overflow:hidden;backdrop-filter:var(--backdrop-blur);-webkit-backdrop-filter:var(--backdrop-blur)}.btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.btn:hover:before{left:100%}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:var(--shadow);border:1px solid var(--glass-border)}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-secondary{background:var(--gradient-secondary);color:#fff;box-shadow:var(--shadow);border:1px solid var(--glass-border)}.btn-secondary:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-success{background:var(--gradient-success);color:#fff;box-shadow:var(--shadow);border:1px solid var(--glass-border)}.btn-success:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-danger{background:var(--gradient-danger);color:#fff;box-shadow:var(--shadow);border:1px solid var(--glass-border)}.btn-danger:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-outline{background:var(--glass-bg);color:var(--gray-800);border:1px solid var(--glass-border);backdrop-filter:var(--backdrop-blur);-webkit-backdrop-filter:var(--backdrop-blur)}.btn-outline:hover:not(:disabled){background:var(--glass-bg-dark);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-sm{padding:.5rem 1rem;font-size:.75rem;min-height:36px}.btn-lg{padding:1rem 2rem;font-size:1rem;min-height:52px}.card{background:var(--glass-bg);border-radius:1.5rem;box-shadow:var(--shadow);overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1);border:1px solid var(--glass-border);backdrop-filter:var(--backdrop-blur);-webkit-backdrop-filter:var(--backdrop-blur)}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--glass-border)}.loading{display:flex;align-items:center;justify-content:center;padding:3rem;background:var(--glass-bg);border-radius:1.5rem;border:1px solid var(--glass-border);backdrop-filter:var(--backdrop-blur);-webkit-backdrop-filter:var(--backdrop-blur);margin:2rem 0;box-shadow:var(--shadow)}.spinner{width:3rem;height:3rem;border:3px solid var(--glass-bg-dark);border-top:3px solid var(--primary);border-radius:50%;animation:spin 1s linear infinite;box-shadow:var(--shadow-sm)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading span{margin-left:1rem;font-weight:600;color:var(--gray-700);font-size:1.1rem}.swipe-card{position:relative;width:100%;max-width:400px;height:500px;margin:0 auto;border-radius:2rem;overflow:hidden;box-shadow:var(--shadow-xl);cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;background:var(--glass-bg);border:1px solid var(--glass-border);backdrop-filter:var(--backdrop-blur-lg);-webkit-backdrop-filter:var(--backdrop-blur-lg);transition:all .3s cubic-bezier(.4,0,.2,1)}.swipe-card:active{cursor:grabbing;transform:scale(.98)}.swipe-card.swiping{transition:none}.swipe-card.swiped-left{transform:translate(-100%) rotate(-20deg);opacity:0;transition:all .4s cubic-bezier(.4,0,.2,1)}.swipe-card.swiped-right{transform:translate(100%) rotate(20deg);opacity:0;transition:all .4s cubic-bezier(.4,0,.2,1)}.swipe-overlay{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;font-size:2.5rem;font-weight:700;color:#fff;text-shadow:2px 2px 8px rgba(0,0,0,.3);opacity:0;transition:all .3s cubic-bezier(.4,0,.2,1);backdrop-filter:var(--backdrop-blur);-webkit-backdrop-filter:var(--backdrop-blur);border-radius:2rem}.swipe-overlay.like{background:var(--gradient-success);opacity:1;transform:scale(1.05)}.swipe-overlay.dislike{background:var(--gradient-danger);opacity:1;transform:scale(1.05)}.swipe-buttons{display:flex;gap:1rem;justify-content:center;margin-top:1rem}.load-more-container{display:flex;justify-content:center;margin-top:1.5rem}.load-more-btn{min-width:200px;font-weight:600}.swipe-btn{width:70px;height:70px;border-radius:50%;border:none;display:flex;align-items:center;justify-content:center;font-size:1.75rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow);backdrop-filter:var(--backdrop-blur);-webkit-backdrop-filter:var(--backdrop-blur);position:relative;overflow:hidden}.swipe-btn:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:var(--gradient-glass);border-radius:50%;opacity:0;transition:opacity .3s ease}.swipe-btn:hover:before{opacity:1}.swipe-btn:hover{transform:scale(1.15) translateY(-2px);box-shadow:var(--shadow-lg)}.swipe-btn:active{transform:scale(.95)}.swipe-btn.dislike{background:var(--gradient-danger);color:#fff;border:2px solid var(--glass-border)}.swipe-btn.like{background:var(--gradient-success);color:#fff;border:2px solid var(--glass-border)}.calendar-event{background-color:#fff;border-radius:.5rem;padding:1rem;margin-bottom:1rem;box-shadow:var(--shadow-sm);border-left:4px solid var(--primary)}.calendar-event h3{margin-bottom:.5rem;color:var(--gray-900)}.calendar-event .date{color:var(--gray-600);font-size:.875rem;margin-bottom:.5rem}.calendar-event .location{color:var(--gray-500);font-size:.875rem}.event-card{height:100%;display:flex;flex-direction:column;background:var(--glass-bg);border-radius:1.5rem;overflow:hidden;border:1px solid var(--glass-border);backdrop-filter:var(--backdrop-blur);-webkit-backdrop-filter:var(--backdrop-blur);transition:all .3s cubic-bezier(.4,0,.2,1)}.event-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.event-image{height:200px;background:var(--gradient-primary);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.event-image:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:var(--gradient-glass);opacity:.3}.image-placeholder{font-size:4rem;color:#fff;opacity:.9;position:relative;z-index:1;text-shadow:2px 2px 8px rgba(0,0,0,.3)}.event-content{flex:1;padding:1.5rem;display:flex;flex-direction:column;background:var(--glass-bg);backdrop-filter:var(--backdrop-blur-sm);-webkit-backdrop-filter:var(--backdrop-blur-sm)}.event-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;gap:1rem}.event-title{font-size:1.25rem;font-weight:700;color:var(--gray-900);line-height:1.3;margin:0;flex:1}.event-badge{padding:.5rem 1rem;border-radius:1.5rem;font-size:.75rem;font-weight:700;white-space:nowrap;backdrop-filter:var(--backdrop-blur);-webkit-backdrop-filter:var(--backdrop-blur);border:1px solid var(--glass-border);box-shadow:var(--shadow-sm)}.event-badge.upcoming{background:var(--gradient-success);color:#fff}.event-badge.past{background:var(--gradient-glass-dark);color:var(--gray-700)}.event-details{margin-bottom:1rem}.event-date,.event-location{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;color:var(--gray-600);font-size:.875rem}.event-date .icon,.event-location .icon{font-size:1rem}.event-date .time{color:var(--gray-500);font-style:italic}.event-description{flex:1;margin-bottom:1rem}.event-description p{color:var(--gray-700);line-height:1.6;margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.event-link{position:relative;z-index:10;pointer-events:auto}.event-swiper{padding:1rem 0}.swipe-container{display:flex;justify-content:center;margin-bottom:2rem}.swipe-progress{text-align:center;margin-top:1rem}.progress-text{font-size:.875rem;color:var(--gray-600);margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem}.loading-indicator{color:var(--primary);font-weight:600;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.progress-bar{width:100%;height:6px;background:var(--glass-bg-dark);border-radius:3px;overflow:hidden;border:1px solid var(--glass-border-dark);backdrop-filter:var(--backdrop-blur-sm);-webkit-backdrop-filter:var(--backdrop-blur-sm)}.progress-fill{height:100%;background:var(--gradient-primary);transition:width .4s cubic-bezier(.4,0,.2,1);border-radius:3px;position:relative;overflow:hidden}.progress-fill:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:shimmer 2s infinite}@keyframes shimmer{0%{left:-100%}to{left:100%}}.calendar{padding:1rem 0}.calendar-header{text-align:center;margin-bottom:2rem}.calendar-header h2{color:var(--gray-900);margin-bottom:.5rem}.calendar-header p{color:var(--gray-600);margin:0}.calendar-day{margin-bottom:1rem;border-radius:.5rem;overflow:hidden;box-shadow:var(--shadow-sm)}.day-header{background:var(--glass-bg);padding:1.25rem;display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);border:1px solid var(--glass-border);backdrop-filter:var(--backdrop-blur);-webkit-backdrop-filter:var(--backdrop-blur);position:relative;overflow:hidden}.day-header:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:var(--gradient-glass);transition:left .3s ease}.day-header:hover:before{left:0}.day-header:hover{background:var(--glass-bg-dark);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.day-header.selected{background:var(--gradient-primary);color:#fff;transform:translateY(-2px);box-shadow:var(--shadow);border-color:var(--glass-border)}.day-date{display:flex;flex-direction:column;gap:.25rem}.day-name{font-weight:600;font-size:1rem}.event-count{font-size:.875rem;opacity:.8}.day-toggle{font-size:1.5rem;font-weight:700;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.day-events{background:var(--glass-bg-dark);padding:1.25rem;backdrop-filter:var(--backdrop-blur-sm);-webkit-backdrop-filter:var(--backdrop-blur-sm);border-top:1px solid var(--glass-border-dark)}.calendar-event{background:var(--glass-bg);border-radius:1rem;padding:1.25rem;margin-bottom:1rem;box-shadow:var(--shadow);border:1px solid var(--glass-border);backdrop-filter:var(--backdrop-blur);-webkit-backdrop-filter:var(--backdrop-blur);transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.calendar-event:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:var(--gradient-primary);border-radius:0 2px 2px 0}.calendar-event:last-child{margin-bottom:0}.calendar-event:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.calendar-event .event-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.calendar-event h3{margin:0;font-size:1.1rem;color:var(--gray-900);flex:1;font-weight:600}.remove-btn{background:var(--glass-bg-dark);border:1px solid var(--glass-border-dark);color:var(--gray-500);font-size:1.25rem;cursor:pointer;padding:.5rem;border-radius:.75rem;transition:all .3s cubic-bezier(.4,0,.2,1);backdrop-filter:var(--backdrop-blur-sm);-webkit-backdrop-filter:var(--backdrop-blur-sm);width:36px;height:36px;display:flex;align-items:center;justify-content:center}.remove-btn:hover{color:var(--danger);background:var(--gradient-danger);transform:scale(1.1);box-shadow:var(--shadow-sm)}.event-time{color:var(--gray-600);font-size:.875rem;margin-bottom:.5rem;font-weight:500}.event-location{color:var(--gray-600);font-size:.875rem;margin-bottom:.5rem}.event-description p{color:var(--gray-700);font-size:.875rem;line-height:1.5;margin:0}.calendar-actions{text-align:center;margin-top:2rem;padding-top:2rem;border-top:1px solid var(--gray-200)}.storage-stats{margin-bottom:2rem;background:var(--glass-bg);border-radius:1.5rem;border:1px solid var(--glass-border);backdrop-filter:var(--backdrop-blur);-webkit-backdrop-filter:var(--backdrop-blur);overflow:hidden;box-shadow:var(--shadow)}.stats-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem;border-bottom:1px solid var(--glass-border-dark)}.stats-toggle{display:flex;align-items:center;gap:.75rem;background:none;border:none;color:var(--gray-800);font-size:1rem;font-weight:600;cursor:pointer;padding:.5rem;border-radius:.75rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.stats-toggle:hover{background:var(--glass-bg-dark);transform:translateY(-1px)}.stats-summary{display:flex;gap:1rem}.stat-item{display:flex;align-items:center;gap:.25rem;font-size:.875rem;font-weight:600;color:var(--gray-700);padding:.25rem .5rem;background:var(--glass-bg-dark);border-radius:.5rem;border:1px solid var(--glass-border-dark)}.stats-content{padding:1.5rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem;margin-bottom:1.5rem}.stat-card{background:var(--glass-bg-dark);border:1px solid var(--glass-border-dark);border-radius:1rem;padding:1rem;text-align:center;backdrop-filter:var(--backdrop-blur-sm);-webkit-backdrop-filter:var(--backdrop-blur-sm);transition:all .3s cubic-bezier(.4,0,.2,1)}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}.stat-card h4{margin:0 0 .5rem;font-size:.875rem;font-weight:600;color:var(--gray-700)}.stat-value{font-size:1.5rem;font-weight:700;color:var(--primary);margin-bottom:.25rem}.stat-label{font-size:.75rem;color:var(--gray-600);font-weight:500}.stats-details{margin-bottom:1.5rem}.detail-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid var(--glass-border-dark)}.detail-item:last-child{border-bottom:none}.detail-label{font-size:.875rem;color:var(--gray-700);font-weight:500}.detail-value{font-size:.875rem;color:var(--gray-800);font-weight:600}.stats-actions{text-align:center}@media (max-width: 768px){.stats-header{flex-direction:column;gap:1rem;align-items:flex-start}.stats-summary{width:100%;justify-content:space-between}.stats-grid{grid-template-columns:repeat(2,1fr)}.detail-item{flex-direction:column;align-items:flex-start;gap:.25rem}}.event-filters{margin-bottom:2rem;background:var(--glass-bg);border-radius:1.5rem;border:1px solid var(--glass-border);backdrop-filter:var(--backdrop-blur);-webkit-backdrop-filter:var(--backdrop-blur);overflow:hidden;box-shadow:var(--shadow)}.filters-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem;border-bottom:1px solid var(--glass-border-dark)}.filters-toggle{display:flex;align-items:center;gap:.75rem;background:none;border:none;color:var(--gray-800);font-size:1rem;font-weight:600;cursor:pointer;padding:.5rem;border-radius:.75rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.filters-toggle:hover{background:var(--glass-bg-dark);transform:translateY(-1px)}.toggle-icon{font-size:1.25rem;font-weight:700;transition:transform .3s ease}.toggle-icon.expanded{transform:rotate(180deg)}.clear-filters{background:var(--gradient-danger);color:#fff;border:none;padding:.5rem 1rem;border-radius:.75rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);backdrop-filter:var(--backdrop-blur);-webkit-backdrop-filter:var(--backdrop-blur)}.clear-filters:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.filters-content{padding:1.5rem}.filter-section{margin-bottom:2rem}.filter-section:last-child{margin-bottom:0}.filter-section h3{margin-bottom:1rem;color:var(--gray-800);font-weight:700;font-size:1.1rem}.filter-options{display:flex;flex-wrap:wrap;gap:.75rem}.filter-option{background:var(--glass-bg-dark);border:1px solid var(--glass-border-dark);color:var(--gray-700);padding:.75rem 1.25rem;border-radius:1rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);backdrop-filter:var(--backdrop-blur-sm);-webkit-backdrop-filter:var(--backdrop-blur-sm);position:relative;overflow:hidden}.filter-option:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:var(--gradient-glass);transition:left .3s ease}.filter-option:hover:before{left:0}.filter-option:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm);border-color:var(--glass-border)}.filter-option.active{background:var(--gradient-primary);color:#fff;border-color:var(--glass-border);transform:translateY(-2px);box-shadow:var(--shadow)}.filter-option.active:before{background:var(--gradient-glass);opacity:.3}.active-filters{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--glass-border-dark)}.active-filters h4{margin-bottom:1rem;color:var(--gray-800);font-weight:600;font-size:1rem}.active-filter-tags{display:flex;flex-wrap:wrap;gap:.75rem}.filter-tag{display:flex;align-items:center;gap:.5rem;background:var(--gradient-primary);color:#fff;padding:.5rem 1rem;border-radius:1rem;font-size:.875rem;font-weight:600;backdrop-filter:var(--backdrop-blur);-webkit-backdrop-filter:var(--backdrop-blur);border:1px solid var(--glass-border)}.filter-tag button{background:none;border:none;color:#fff;font-size:1.25rem;cursor:pointer;padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.filter-tag button:hover{background:rgba(255,255,255,.2);transform:scale(1.1)}@media (max-width: 768px){.filter-options{gap:.5rem}.filter-option{padding:.5rem 1rem;font-size:.8rem}.active-filter-tags{gap:.5rem}.filter-tag{padding:.4rem .8rem;font-size:.8rem}}.empty-state{text-align:center;padding:4rem 1rem;color:var(--gray-600);background:var(--glass-bg);border-radius:1.5rem;border:1px solid var(--glass-border);backdrop-filter:var(--backdrop-blur);-webkit-backdrop-filter:var(--backdrop-blur);margin:2rem 0;box-shadow:var(--shadow);position:relative;overflow:hidden}.empty-state:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:var(--gradient-glass);opacity:.3}.empty-state h3{margin-bottom:1rem;color:var(--gray-800);font-weight:700;font-size:1.5rem;position:relative;z-index:1}.empty-state p{position:relative;z-index:1;font-size:1.1rem;line-height:1.6}.tab-bar{position:fixed;bottom:0;left:0;right:0;background:var(--glass-bg);border-top:1px solid var(--glass-border);display:flex;padding:1rem;gap:.75rem;z-index:100;backdrop-filter:var(--backdrop-blur-lg);-webkit-backdrop-filter:var(--backdrop-blur-lg);box-shadow:0 -4px 20px #0000001a}.tab-btn{flex:1;padding:1rem;border:none;background:var(--glass-bg-dark);color:var(--gray-600);font-size:.875rem;font-weight:600;cursor:pointer;border-radius:1rem;transition:all .3s cubic-bezier(.4,0,.2,1);border:1px solid var(--glass-border-dark);backdrop-filter:var(--backdrop-blur);-webkit-backdrop-filter:var(--backdrop-blur);position:relative;overflow:hidden}.tab-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:var(--gradient-glass);transition:left .3s ease}.tab-btn:hover:before{left:0}.tab-btn.active{background:var(--gradient-primary);color:#fff;border-color:var(--glass-border);transform:translateY(-2px);box-shadow:var(--shadow)}.tab-btn:hover:not(.active){background:var(--glass-bg);color:var(--gray-800);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.main-content{padding-top:96px;padding-bottom:100px}@media (min-width: 600px){.main-content{padding-top:112px;padding-bottom:0}}@media (min-width: 768px){.tab-bar{position:static;border-top:none;border-bottom:1px solid var(--glass-border);margin-bottom:1rem;border-radius:1rem;margin:0 1rem 1rem}.main-content{padding-bottom:0}}.top-bar-glass{position:sticky;top:0;z-index:100;width:100%;background:var(--glass-bg);backdrop-filter:var(--backdrop-blur-lg);-webkit-backdrop-filter:var(--backdrop-blur-lg);border-bottom:1px solid var(--glass-border);box-shadow:0 4px 24px #00000014;padding:.5rem 0;margin-bottom:1.5rem}.top-bar-tabs{display:flex;justify-content:center;gap:1rem;margin-bottom:.5rem}.top-bar-tab{background:var(--glass-bg-dark);border:1px solid var(--glass-border-dark);color:var(--gray-700);font-size:1rem;font-weight:600;padding:.5rem 1.5rem;border-radius:1.5rem;cursor:pointer;transition:all .2s;outline:none}.top-bar-tab.active{background:var(--gradient-primary);color:#fff;border-color:var(--primary);box-shadow:var(--shadow-sm)}.top-bar-tab:hover:not(.active){background:var(--glass-bg);color:var(--primary)}.top-bar-content{padding:0 .5rem}@media (max-width: 600px){.top-bar-glass{padding:.25rem 0;margin-bottom:1rem}.top-bar-tabs{gap:.5rem}.top-bar-tab{font-size:.95rem;padding:.4rem 1rem}.top-bar-content{padding:0 .25rem}}.event-card{box-shadow:0 8px 32px #0000001f;border-radius:2rem;border:1.5px solid var(--glass-border);background:var(--glass-bg);transition:box-shadow .2s,transform .2s}.event-card:hover{box-shadow:0 16px 48px #00000029;transform:translateY(-2px) scale(1.01)}.event-link{position:relative;z-index:10;pointer-events:auto;margin-top:1.5rem;display:flex;justify-content:flex-end}.btn{border-radius:1.5rem;font-weight:700;font-size:1rem;padding:.75rem 2rem;box-shadow:0 2px 8px #0000000f}.btn-sm{font-size:.95rem;padding:.5rem 1.25rem}.swipe-card{border-radius:2rem;box-shadow:0 12px 40px #00000024;background:var(--glass-bg);border:1.5px solid var(--glass-border)}.swipe-btn{border-radius:50%;font-size:2rem;width:64px;height:64px;box-shadow:0 2px 8px #00000014}.swipe-btn.like{background:var(--gradient-success)}.swipe-btn.dislike{background:var(--gradient-danger)}.top-bar-glass.compact{position:fixed;top:1.5rem;left:50%;transform:translate(-50%);z-index:200;display:flex;gap:1.25rem;background:var(--glass-bg);border-radius:2rem;box-shadow:0 4px 24px #0000001a;padding:.5rem 1.5rem;border:1.5px solid var(--glass-border);backdrop-filter:var(--backdrop-blur-lg);-webkit-backdrop-filter:var(--backdrop-blur-lg);align-items:center}.top-bar-icon-btn{background:var(--glass-bg-dark);border:1px solid var(--glass-border-dark);color:var(--gray-700);font-size:1.5rem;border-radius:50%;width:48px;height:48px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s,color .2s,box-shadow .2s;box-shadow:0 2px 8px #00000014}.top-bar-icon-btn:hover{background:var(--gradient-primary);color:#fff;box-shadow:0 4px 16px #0000001f}.topbar-modal-overlay{position:fixed;left:0;right:0;top:80px;bottom:0;z-index:300;background:rgba(30,41,59,.25);display:flex;align-items:flex-start;justify-content:center;animation:fadeIn .2s}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.topbar-modal{background:var(--glass-bg);border-radius:2rem;box-shadow:0 8px 40px #0000002e;border:1.5px solid var(--glass-border);padding:2rem 1.5rem 1.5rem;min-width:320px;max-width:95vw;max-height:90vh;overflow-y:auto;position:relative;animation:popIn .2s}@keyframes popIn{0%{transform:scale(.96);opacity:0}to{transform:scale(1);opacity:1}}.topbar-modal-close{position:absolute;top:1rem;right:1rem;background:var(--glass-bg-dark);border:1px solid var(--glass-border-dark);color:var(--gray-700);font-size:1.5rem;border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s,color .2s;z-index:10}.topbar-modal-close:hover{background:var(--gradient-danger);color:#fff}@media (max-width: 600px){.top-bar-glass.compact{top:.5rem;padding:.25rem .75rem;gap:.5rem}.topbar-modal{min-width:100vw;border-radius:0 0 2rem 2rem;padding-top:1.5rem}}
