:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark}html,body,#root{height:100%;width:100%}body{margin:0;background:#1a1a2e;color:#fff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button{font-family:inherit;cursor:pointer}input{font-family:inherit}.layout{min-height:100vh;background:#1a1a2e}.bottom-nav{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:space-around;background:#1a1a2ef2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid rgba(255,255,255,.1);padding:12px 0;padding-bottom:max(12px,env(safe-area-inset-bottom));z-index:100}.nav-item{display:flex;flex-direction:column;align-items:center;gap:4px;background:transparent;border:none;color:#ffffff80;cursor:pointer;padding:8px 20px;transition:color .2s ease}.nav-item span{font-size:.7rem}.nav-item.active{color:#e94560}.nav-item:active{opacity:.7}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1a1a2e,#16213e);padding:20px}.auth-card{background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:40px 30px;width:100%;max-width:400px}.auth-logo{text-align:center;color:#fff;margin-bottom:30px}.auth-logo h1{margin:0 0 8px}.auth-subtitle{color:#fff9;font-size:.95rem;margin:0}.auth-logo svg{color:#e94560;margin-bottom:10px}.auth-logo h1{font-size:1.8rem;margin:0;font-weight:600}.form-group{margin-bottom:20px}.form-group label{display:block;color:#fffc;font-size:.9rem;margin-bottom:8px}.form-group input{width:100%;padding:14px 16px;border:1px solid rgba(255,255,255,.2);border-radius:12px;background:#ffffff1a;color:#fff;font-size:1rem;transition:all .3s ease}.form-group input:focus{outline:none;border-color:#e94560;background:#ffffff26}.auth-btn{width:100%;padding:16px;border:none;border-radius:12px;background:linear-gradient(135deg,#e94560,#ff6b6b);color:#fff;font-size:1.1rem;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.auth-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #e9456066}.auth-btn:disabled{opacity:.7;cursor:not-allowed}.auth-link{text-align:center;color:#fff9;margin-top:20px}.auth-link span{color:#e94560;cursor:pointer;font-weight:500}.auth-link span:hover{text-decoration:underline}.success-message{text-align:center;color:#fff}.success-message svg{color:#4ade80;margin-bottom:15px}.success-message h2{margin-bottom:10px}.success-message p{color:#ffffffb3;margin-bottom:25px}.phone-format{font-size:.75rem;opacity:.6;font-weight:400}.field-error{display:block;color:#ff6b6b;font-size:.8rem;margin-top:6px}.consent-group{margin-bottom:20px}.consent-label{display:flex;align-items:flex-start;gap:10px;color:#fffc;font-size:.8rem;margin-bottom:12px;cursor:pointer;line-height:1.4}.consent-label input[type=checkbox]{width:18px;height:18px;margin-top:2px;flex-shrink:0;cursor:pointer}.consent-label span{-webkit-user-select:none;user-select:none}.success-verification,.error-verification{text-align:center;color:#fff;padding:20px 0}.success-icon{color:#4ade80}.error-icon{color:#ff6b6b}.success-verification h2,.error-verification h2{margin-bottom:10px}.success-verification p,.error-verification p{color:#ffffffb3;margin-bottom:15px}.redirect-text{font-size:.9rem;opacity:.6}.loading-state{text-align:center;color:#fff}.loading-state p{color:#ffffffb3;margin-top:15px}.success-message small-text{font-size:.85rem;opacity:.7;display:block;margin-top:15px}.resend-section{margin-top:25px;padding-top:20px;border-top:1px solid rgba(255,255,255,.1)}.resend-section p{color:#fff9;font-size:.9rem;margin-bottom:10px}.auth-btn.secondary{background:#ffffff1a;border:1px solid rgba(255,255,255,.3);color:#fff;font-size:.9rem;padding:12px 24px;width:auto;display:inline-block}.auth-btn.secondary:hover:not(:disabled){background:#ffffff26;transform:none;box-shadow:none}.auth-btn.secondary.disabled,.auth-btn.secondary:disabled{opacity:.5;cursor:not-allowed;background:#ffffff0d;border-color:#fff3}.auth-links{margin-top:30px}.auth-links p{margin:8px 0}.auth-links span{color:#e94560;cursor:pointer;font-weight:500}.auth-links span:hover{text-decoration:underline}.home-page{padding-bottom:100px}.home-header{padding:20px;background:linear-gradient(135deg,#1a1a2e,#16213e)}.home-header h1{color:#fff;font-size:1.8rem;margin:0 0 5px}.home-header p{color:#fff9;margin:0}.home-loading{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#1a1a2e;color:#fff}.home-loading .spin{animation:spin 1s linear infinite;color:#e94560}.home-loading p{margin-top:15px;color:#fff9}.error-message{display:flex;align-items:center;gap:10px;padding:15px 20px;background:#e9456033;border-bottom:1px solid #e94560;color:#ff6b6b}.error-message span{font-size:.9rem}.no-events{min-height:50vh;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff6}.no-events svg{margin-bottom:15px}.events-list{padding:15px}.event-thumbnail{width:100px;height:100px;border-radius:12px;overflow:hidden;flex-shrink:0;background:#000;position:relative}.event-thumbnail img{width:100%;height:100%;object-fit:cover}.no-thumbnail{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#ffffff4d}.event-info h3{color:#fff;font-size:1rem;margin:0 0 6px;font-weight:500}.event-date,.event-venue{display:flex;align-items:center;gap:6px;color:#fff9;font-size:.85rem;margin-bottom:4px}.photo-count{color:#ffffff80;font-size:.8rem;margin-top:4px}.venues-page{padding-bottom:100px}.venues-header{padding:20px;background:linear-gradient(135deg,#1a1a2e,#16213e);display:flex;flex-direction:column;gap:15px}.venues-header h1{color:#fff;font-size:1.8rem;margin:0}.sort-options{display:flex;align-items:center;gap:10px}.sort-options span{color:#fff9;font-size:.9rem}.sort-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;border:1px solid rgba(255,255,255,.2);border-radius:20px;background:transparent;color:#fff9;font-size:.85rem;cursor:pointer;transition:all .2s ease}.sort-btn:hover{background:#ffffff1a}.sort-btn.active{background:#00b4b433;border-color:#00b4b480;color:#00b4b4}.venues-loading{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#1a1a2e;color:#fff}.venues-loading .spin{animation:spin 1s linear infinite;color:#e94560}.venues-loading p{margin-top:15px;color:#fff9}.venues-list{padding:15px}.venue-card{display:flex;align-items:center;gap:15px;background:#ffffff0d;border-radius:16px;padding:18px;margin-bottom:12px;text-decoration:none;transition:background .2s ease}.venue-card:active{background:#ffffff14}.venue-icon{width:56px;height:56px;background:linear-gradient(135deg,#e94560,#ff6b6b);border-radius:14px;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.venue-info{flex:1;min-width:0}.venue-info h2{color:#fff;font-size:1.1rem;margin:0 0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.venue-count{color:#ffffff80;font-size:.85rem}.venue-preview{display:flex;flex-direction:column;gap:4px;align-items:flex-end}.preview-item{display:flex;align-items:center;gap:4px;color:#ffffff80;font-size:.75rem}.venue-detail-page{padding-bottom:100px}.back-button{display:flex;align-items:center;gap:8px;padding:15px 20px;color:#ffffffb3;text-decoration:none;font-size:.95rem}.back-button:hover{color:#fff}.venue-detail-header{padding:0 20px 20px;display:flex;align-items:center;gap:15px}.venue-detail-header svg{color:#e94560}.venue-detail-header h1{color:#fff;font-size:1.6rem;margin:0}.venue-detail-loading{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#1a1a2e}.venue-detail-loading .spin{animation:spin 1s linear infinite;color:#e94560}.venue-subscribe-section{padding:0 20px 20px}.venue-subscribed-box{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#4ade801a;border:1px solid rgba(74,222,128,.3);border-radius:12px;color:#4ade80;font-size:.85rem}.venue-notify-btn{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#e9456026;border:1px solid rgba(233,69,96,.3);border-radius:12px;color:#e94560;font-size:.85rem;cursor:pointer;transition:all .2s ease}.venue-notify-btn:hover:not(:disabled){background:#e9456040}.venue-notify-btn:disabled{opacity:.6;cursor:not-allowed}.events-list{padding:0 15px 15px}.event-card{display:flex;gap:15px;background:#ffffff0d;border-radius:16px;padding:12px;margin-bottom:12px;text-decoration:none;transition:background .2s ease}.event-card:active{background:#ffffff14}.event-card .event-thumbnail{width:100px;height:100px;border-radius:12px;overflow:hidden;flex-shrink:0;background:#000}.event-card .event-thumbnail img{width:100%;height:100%;object-fit:cover}.event-card .no-thumbnail{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#ffffff4d}.coming-soon-badge{position:absolute;top:4px;left:50%;transform:translate(-50%)}.coming-soon-badge span{background:#e94560;color:#fff;padding:4px 8px;border-radius:10px;font-size:.65rem;font-weight:600;white-space:nowrap}.notify-overlay{position:absolute;bottom:4px;left:50%;transform:translate(-50%)}.notify-overlay span{background:#00b4b4e6;color:#fff;padding:4px 8px;border-radius:10px;font-size:.65rem;font-weight:700;white-space:nowrap}.event-info{display:flex;flex-direction:column;justify-content:center;flex:1;min-width:0}.event-info h3{color:#fff;font-size:1rem;margin:0 0 8px;font-weight:500}.event-date{display:flex;align-items:center;gap:6px;color:#fff9;font-size:.85rem;margin-bottom:6px}.photo-count{color:#ffffff80;font-size:.8rem}.gallery-page{min-height:100vh;background:#1a1a2e}.gallery-loading{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#1a1a2e}.gallery-loading .spin{animation:spin 1s linear infinite;color:#e94560}.gallery-not-found{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#1a1a2e;color:#fff}.gallery-not-found a{color:#e94560;margin-top:15px}.gallery-page .back-button{display:flex;align-items:center;gap:8px;padding:15px 20px;color:#ffffffb3;text-decoration:none;font-size:.95rem;background:transparent}.gallery-page .back-button:hover{color:#fff}.gallery-header{padding:0 20px 20px}.gallery-header h1{color:#fff;font-size:1.5rem;margin:0 0 10px}.gallery-meta{display:flex;flex-direction:column;gap:6px}.gallery-meta span{display:flex;align-items:center;gap:8px;color:#fff9;font-size:.9rem}.gallery-meta svg{color:#e94560}.photos-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;padding:0 10px 100px}.photo-item{aspect-ratio:1;overflow:hidden;cursor:pointer;background:#ffffff0d}.photo-item img{width:100%;height:100%;object-fit:cover;transition:transform .2s ease}.photo-item:active img{transform:scale(.95)}.coming-soon{min-height:60vh;display:flex;align-items:center;justify-content:center;padding:20px}.coming-soon-content{text-align:center;background:#ffffff0d;border-radius:20px;padding:40px 30px}.coming-soon-content h2{color:#fff;font-size:1.5rem;margin:0 0 10px}.coming-soon-content>p{color:#fff9;margin:0 0 25px}.notify-btn{display:inline-flex;align-items:center;gap:10px;padding:16px 32px;background:linear-gradient(135deg,#e94560,#ff6b6b);border:none;border-radius:30px;color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.notify-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #e9456066}.notify-btn:disabled{opacity:.7;cursor:not-allowed}.subscribed-box{display:flex;flex-direction:column;align-items:center;gap:12px;background:#4ade8026;border:1px solid rgba(74,222,128,.3);border-radius:16px;padding:20px 30px}.subscribed-box svg{color:#4ade80}.subscribed-box p{color:#4ade80;margin:0;font-weight:500}.photo-viewer{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000f2;display:flex;align-items:center;justify-content:center;z-index:1000}.photo-wrapper{position:relative;display:flex;align-items:center;justify-content:center;max-width:100%;max-height:100%}.photo-viewer img{max-width:100%;max-height:100%;object-fit:contain}.close-viewer{position:absolute;top:20px;right:20px;width:44px;height:44px;background:#ffffff1a;border:none;border-radius:50%;color:#fff;font-size:28px;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:100}.nav-btn{position:absolute;top:50%;transform:translateY(-50%);width:50px;height:80px;background:#ffffff1a;border:none;color:#fff;font-size:40px;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:50}.nav-btn.prev{left:10px;border-radius:0 12px 12px 0}.nav-btn.next{right:10px;border-radius:12px 0 0 12px}.photo-counter{position:absolute;bottom:30px;left:50%;transform:translate(-50%);background:#0009;padding:10px 20px;border-radius:20px;color:#fff;font-size:.9rem;z-index:50}.nav-zone{position:absolute;top:0;bottom:0;width:40%;cursor:pointer;z-index:10;-webkit-tap-highlight-color:rgba(255,255,255,.1)}.nav-zone.prev{left:0}.nav-zone.next{right:0}.download-btn{position:fixed;bottom:30px;right:30px;background:#0009;color:#fff;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:1001;border:none;text-decoration:none;transition:background .2s}.download-btn:hover{background:#000000e6}.notifications-page{padding:20px 20px 100px;max-width:600px;margin:0 auto;min-height:100vh}.notifications-page h1{color:#fff;font-size:1.5rem;margin-bottom:20px;display:flex;align-items:center;gap:10px}.notifications-page h2{color:#fff;font-size:1.1rem;margin-bottom:15px;display:flex;align-items:center;gap:8px}.email-display{color:#ffffffb3;font-size:.9rem;margin-bottom:25px}.profile-section,.venue-subscriptions-section,.event-subscriptions-section{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:20px;margin-bottom:20px}.form-group{margin-bottom:15px}.form-group label{display:block;color:#fffc;font-size:.85rem;margin-bottom:6px}.form-group input{width:100%;padding:12px 14px;border:1px solid rgba(255,255,255,.2);border-radius:10px;background:#ffffff1a;color:#fff;font-size:.95rem}.form-group input:focus{outline:none;border-color:#e94560}.current-phone{padding:12px 14px;border:1px solid rgba(255,255,255,.2);border-radius:10px;background:#ffffff0d;color:#fff9;font-size:.95rem}.current-email{padding:12px 14px;border:1px solid rgba(255,255,255,.2);border-radius:10px;background:#ffffff0d;color:#fff;font-size:.95rem}.form-group input::placeholder{color:#fff6}.email-verifying{padding:15px;background:#ffffff0d;border-radius:10px}.resend-timer{color:#ffffff80;font-size:.85rem;font-style:italic}.resend-btn{padding:8px 16px;background:#ffffff1a;border:1px solid rgba(255,255,255,.3);border-radius:8px;color:#fff;cursor:pointer;margin-right:10px}.resend-btn:hover{background:#ffffff26}.save-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;background:#e94560;color:#fff;border:none;border-radius:10px;font-size:.95rem;font-weight:500;cursor:pointer;transition:opacity .2s}.save-btn:hover:not(:disabled){opacity:.9}.save-btn:disabled{opacity:.6;cursor:not-allowed}.subscription-list{list-style:none;padding:0;margin:0}.subscription-item{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.1)}.subscription-item:last-child{border-bottom:none}.subscription-item span{color:#fff;font-size:.95rem}.sub-details{display:flex;flex-direction:column;gap:4px}.sub-name{color:#fff;font-weight:500}.sub-venue{color:#ffffffb3;font-size:.85rem}.sub-date{color:#ffffff80;font-size:.8rem}.unsub-btn{background:none;border:none;color:#ffffff80;cursor:pointer;padding:8px;border-radius:8px;transition:all .2s}.unsub-btn:hover{color:#e94560;background:#e945601a}.unsub-all-section{margin-top:30px;text-align:center}.unsub-all-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;background:transparent;color:#e94560;border:1px solid #e94560;border-radius:10px;font-size:.9rem;cursor:pointer;transition:all .2s}.unsub-all-btn:hover{background:#e945601a}.empty-state{color:#ffffff80;font-size:.9rem;font-style:italic}.error-message{background:#e9456033;border:1px solid #e94560;border-radius:8px;padding:12px 16px;color:#ff6b6b;margin-bottom:20px;font-size:.9rem}.success-message{background:#4ade8033;border:1px solid #4ade80;border-radius:8px;padding:12px 16px;color:#4ade80;margin-bottom:20px;font-size:.9rem}.unsubscribed-success{text-align:center;padding:60px 20px}.success-icon{color:#4ade80;margin-bottom:20px}.unsubscribed-success h2{color:#fff;font-size:1.5rem;margin-bottom:10px;justify-content:center}.unsubscribed-success p{color:#ffffffb3;margin-bottom:30px}.back-link{display:inline-block;padding:12px 24px;background:#e94560;color:#fff;text-decoration:none;border-radius:10px;font-weight:500;transition:opacity .2s}.back-link:hover{opacity:.9}.loading-state{display:flex;justify-content:center;align-items:center;min-height:200px}.footer-note{margin-top:40px;padding-top:20px;border-top:1px solid rgba(255,255,255,.1);text-align:center}.footer-note p{color:#fff6;font-size:.8rem;margin:4px 0}.spin{animation:spin 1s linear infinite}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;background:#1a1a2e;color:#fff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{text-decoration:none;color:inherit}button{font-family:inherit}.loading-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#1a1a2e}.loader{width:40px;height:40px;border:3px solid rgba(233,69,96,.2);border-top-color:#e94560;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
