.venue-list__container{padding:24px 16px 100px;min-height:100vh;height:100%;overflow-y:auto;background:var(--bg-primary)}.venue-list__title{font-size:24px;font-weight:700;color:var(--text-primary);margin:0 0 8px}.venue-list__subtitle{font-size:15px;color:var(--text-secondary);margin:0 0 24px}.venue-list__grid{display:flex;flex-direction:column;gap:24px;padding-bottom:32px;position:relative}.venue-card{position:sticky;top:80px;border-radius:24px;overflow:hidden;cursor:pointer;background:var(--bg-card);border:1px solid var(--border-subtle);transform:translateZ(0);box-shadow:0 -10px 30px #0006}.venue-card__image-container{position:relative;width:100%;height:240px;background:var(--bg-primary)}.venue-card__image{width:100%;height:100%;object-fit:cover}.venue-card__image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#2c3e50,#3498db)}.venue-card__image-icon{font-size:48px}.venue-card__overlay{position:absolute;bottom:0;left:0;right:0;padding:40px 16px 16px;background:linear-gradient(to top,#000000e6,#0000)}.venue-card__name{margin:0;font-size:20px;font-weight:700;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.5)}.venue-card__info{padding:16px;background:var(--bg-card)}.venue-card__info-row{display:flex;justify-content:space-between;align-items:center;font-size:14px;color:var(--text-secondary)}.venue-card__seats{background:#6c5ce726;color:var(--accent-secondary);padding:4px 10px;border-radius:12px;font-weight:600;font-size:12px}.event-list{padding:var(--space-md);padding-bottom:calc(var(--space-2xl) + env(safe-area-inset-bottom,0px));height:100%;overflow-y:auto}.event-list__header{text-align:center;padding:var(--space-lg) 0}.event-list__title{font-size:var(--font-2xl);font-weight:800;letter-spacing:-.02em}.event-list__subtitle{color:var(--text-secondary);font-size:var(--font-sm);margin-top:var(--space-xs)}.event-list__search{margin-bottom:var(--space-lg)}.search-input{display:flex;align-items:center;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-lg);gap:var(--space-sm)}.search-input__icon{font-size:var(--font-md);flex-shrink:0}.search-input__field{flex:1;background:none;border:none;outline:none;color:var(--text-primary);font-size:var(--font-base);font-family:var(--font-family)}.search-input__field::placeholder{color:var(--text-muted)}.search-input__clear{color:var(--text-muted);font-size:var(--font-sm);padding:var(--space-xs);transition:color var(--transition-fast)}.search-input__clear:hover{color:var(--text-primary)}.event-list__grid{display:flex;flex-direction:column;gap:var(--space-md)}.event-card{display:flex;align-items:center;background:var(--bg-card);border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border-subtle);transition:all var(--transition-normal);cursor:pointer}.event-card:hover,.event-card:active{background:var(--bg-card-hover);border-color:var(--border-accent);box-shadow:var(--accent-glow)}.event-card__poster{position:relative;width:100px;min-height:100px;flex-shrink:0;overflow:hidden}.event-card__poster img{width:100%;height:100%;object-fit:cover}.event-card__poster-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--accent-primary) 0%,#3a2d8a 100%);font-size:2rem}.event-card__price-badge{position:absolute;bottom:4px;left:4px;background:#000000bf;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:var(--success);font-size:var(--font-xs);font-weight:600;padding:2px 6px;border-radius:var(--radius-sm);white-space:nowrap}.event-card__price-range{color:var(--text-muted);font-weight:400}.event-card__info{flex:1;padding:var(--space-md);min-width:0}.event-card__title{font-size:var(--font-base);font-weight:600;color:var(--text-primary);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.event-card__meta{display:flex;flex-direction:column;gap:2px;margin-top:var(--space-xs)}.event-card__date,.event-card__venue{font-size:var(--font-xs);color:var(--text-secondary)}.event-card__arrow{font-size:var(--font-xl);color:var(--text-muted);padding-right:var(--space-md);flex-shrink:0}.event-list__skeletons{display:flex;flex-direction:column;gap:var(--space-md)}.event-card-skeleton{height:100px;border-radius:var(--radius-lg)}.event-list__filters{display:flex;gap:8px;overflow-x:auto;padding-bottom:8px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.event-list__filters::-webkit-scrollbar{display:none}.filter-chip{background:var(--bg-card);border:1px solid var(--border-subtle);color:var(--text-secondary);border-radius:20px;padding:8px 16px;font-size:13px;font-weight:500;white-space:nowrap;transition:all .2s;cursor:pointer}.filter-chip.active,.filter-chip:active{background:var(--accent-gradient);color:#fff;border-color:transparent;box-shadow:0 4px 12px #5865f24d}.event-list__error,.event-list__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 20px;color:var(--text-secondary);animation:fadeIn .4s ease-out forwards}.empty-state__icon{font-size:4rem;margin-bottom:16px;opacity:.8;filter:drop-shadow(0 8px 16px rgba(0,0,0,.2))}.event-list__empty h3{color:var(--text-primary);font-size:18px;margin-bottom:8px}.event-list__empty p{font-size:14px;max-width:80%;margin-bottom:24px}.event-list__error span{font-size:3rem;display:block;margin-bottom:var(--space-md)}.retry-btn{margin-top:var(--space-md);padding:var(--space-sm) var(--space-lg);background:var(--accent-gradient);color:#fff;font-weight:600;border-radius:var(--radius-full);font-size:var(--font-sm);transition:opacity var(--transition-fast)}.retry-btn:hover{opacity:.9}.event-card-container{display:flex;flex-direction:column;background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border-subtle);overflow:hidden;transition:all var(--transition-normal)}.event-card-container:hover{border-color:var(--border-accent)}.event-card-container .event-card{border:none;background:transparent;border-radius:0}.event-card-container.expanded{background:var(--bg-card-hover);border-color:var(--border-accent);box-shadow:var(--accent-glow)}.event-card__arrow{transition:transform .3s cubic-bezier(.25,1,.5,1)}.event-card__arrow.rotated{transform:rotate(180deg);color:var(--accent-color)}.event-card__accordion{border-top:1px solid var(--border-subtle);background:var(--bg-primary)}.event-card__dates-list{padding:var(--space-md);display:flex;flex-direction:column;gap:var(--space-sm)}.event-card__date-item{display:flex;align-items:center;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:12px;cursor:pointer;transition:all .2s ease}.event-card__date-item:hover,.event-card__date-item:active{transform:scale(.98);background:var(--bg-card-hover);border-color:var(--border-accent);box-shadow:var(--accent-glow)}.date-item__calendar{display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg-secondary);padding:8px 12px;border-radius:8px;margin-right:16px;min-width:50px}.date-item__day{font-size:18px;font-weight:800;color:var(--text-primary);line-height:1}.date-item__month{font-size:11px;text-transform:uppercase;color:var(--accent-color);font-weight:600;margin-top:4px}.date-item__details{display:flex;flex-direction:column;flex:1;gap:4px}.date-item__time{font-size:14px;color:var(--text-primary);font-weight:600}.date-item__buy{font-size:12px;color:var(--accent-color);font-weight:500}.seat-map{width:100vw!important;height:100vh!important;position:relative;overflow:hidden;background:var(--bg-primary);touch-action:none!important}.seat-map__viewport{position:relative;flex:1;width:100%;height:100%;overflow:hidden;touch-action:none;cursor:grab;background:#f0f2f5}.seat-map__viewport:active{cursor:grabbing}.seat-map__header{position:absolute;top:16px;left:16px;right:16px;z-index:10;display:flex;justify-content:space-between;align-items:center;padding:12px 20px;border-radius:12px}.seat-map__price-filter-container{position:absolute;top:76px;left:16px;right:16px;z-index:10;display:flex;flex-direction:column;gap:8px;pointer-events:none}.price-filter-toggle{align-self:flex-start;padding:8px 16px;border-radius:20px;font-size:13px;font-weight:600;cursor:pointer;border:1px solid rgba(0,0,0,.1);color:#333;pointer-events:auto;box-shadow:0 4px 12px #00000014;background:#fffffff2;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.price-filter-toggle:active{transform:scale(.95)}.seat-map__price-filter{display:flex;flex-wrap:wrap;gap:8px;max-height:180px;overflow-y:auto;pointer-events:auto;scrollbar-width:none;background:#ffffff80;padding:8px;border-radius:16px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.6)}.seat-map__price-filter::-webkit-scrollbar{display:none}.price-pill{display:flex;align-items:center;gap:6px;background:#fffffff2;border:1px solid rgba(0,0,0,.05);padding:8px 14px;border-radius:20px;font-size:13px;font-weight:600;white-space:nowrap;color:#333;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #00000014}.price-pill:active{transform:scale(.95)}.price-pill.active{background:#1e272e;color:#fff;border-color:#1e272e}.price-pill__color{width:12px;height:12px;border-radius:50%;display:inline-block}.seat-map__title{margin:0;font-size:var(--font-base);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:50%}.seat-map__legend{display:flex;gap:var(--space-md);font-size:var(--font-xs);color:var(--text-secondary)}.legend-item{display:flex;align-items:center;gap:4px;white-space:nowrap}.legend-dot{width:10px;height:10px;border-radius:50%}.legend-dot--available{background:var(--seat-available)}.legend-dot--sold{background:var(--seat-sold);border:1px solid rgba(255,255,255,.1)}.legend-dot--selected{background:var(--seat-selected);box-shadow:0 0 6px var(--seat-selected)}.seat-map__zoom-controls{position:absolute;right:var(--space-md);bottom:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-xs);z-index:20}.zoom-btn{width:40px;height:40px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:var(--font-lg);font-weight:600;color:var(--text-primary);transition:all var(--transition-fast);box-shadow:var(--shadow-md)}.zoom-btn:hover{background:var(--bg-card-hover)}.zoom-btn--reset{font-size:var(--font-md)}.stage-view{position:relative;width:100%;aspect-ratio:16 / 9;border-radius:var(--radius-md);overflow:hidden;margin-bottom:var(--space-md);background:var(--bg-card)}.stage-view__skeleton{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-sm);z-index:1}.stage-view__skeleton-icon{font-size:2rem;animation:pulse 2s infinite}.stage-view__skeleton-text{font-size:var(--font-xs);color:var(--text-muted)}.stage-view__image{width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity var(--transition-slow)}.stage-view__image--loaded{opacity:1}.stage-view__error{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-sm);color:var(--text-muted)}.stage-view__error span{font-size:2rem}.stage-view__error p{font-size:var(--font-xs)}.bottom-sheet__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:90}.bottom-sheet{position:fixed;bottom:0;left:0;right:0;z-index:100;background:var(--bg-bottom-sheet);border-top-left-radius:var(--radius-xl);border-top-right-radius:var(--radius-xl);max-height:85vh;display:flex;flex-direction:column;padding-bottom:env(safe-area-inset-bottom,0px)}.bottom-sheet__scrollable{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;touch-action:pan-y}.bottom-sheet__handle{display:flex;justify-content:center;padding:var(--space-sm) 0;cursor:grab}.bottom-sheet__handle-bar{width:40px;height:4px;background:var(--text-muted);border-radius:var(--radius-full);opacity:.5}.bottom-sheet__content{padding:0 var(--space-md) var(--space-md)}.bottom-sheet__seat-info{margin-bottom:var(--space-md)}.seat-info__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-sm);margin-bottom:var(--space-md)}.seat-info__item{background:var(--bg-card);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md);text-align:center;border:1px solid var(--border-subtle)}.seat-info__label{display:block;font-size:var(--font-xs);color:var(--text-muted);margin-bottom:2px}.seat-info__value{display:block;font-size:var(--font-md);font-weight:700;color:var(--text-primary)}.seat-info__price-row{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md);background:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--border-accent)}.seat-info__price-label{display:block;font-size:var(--font-xs);color:var(--text-secondary);margin-bottom:2px}.seat-info__price-value{font-size:var(--font-lg);font-weight:800;color:var(--success)}.seat-info__donor{display:flex;align-items:center}.seat-info__donor-logo{height:24px;width:auto;border-radius:4px}.seat-info__donor-name{font-size:var(--font-sm);color:var(--text-secondary);font-weight:500}.bottom-sheet__buy-btn{width:100%;padding:var(--space-md);background:var(--accent-gradient);color:#fff;font-size:var(--font-md);font-weight:700;border-radius:var(--radius-lg);margin-top:var(--space-md);display:flex;align-items:center;justify-content:center;gap:var(--space-sm);flex-wrap:nowrap;white-space:nowrap;transition:all var(--transition-normal);box-shadow:var(--accent-glow)}.bottom-sheet__buy-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 0 30px #6c5ce780}.bottom-sheet__buy-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.buy-btn__source{font-size:var(--font-xs);font-weight:400;opacity:.8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px}.buy-btn__loading{display:flex;align-items:center;gap:var(--space-sm)}.buy-btn__spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.admin-fab{position:fixed;bottom:24px;left:24px;width:56px;height:56px;background:var(--accent-primary);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px;box-shadow:0 4px 12px #6c5ce766;cursor:pointer;z-index:999;transition:transform .2s}.admin-fab:active{transform:scale(.9)}.admin-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000}.admin-sheet{position:fixed;bottom:0;left:0;right:0;background:var(--bg-card);border-radius:24px 24px 0 0;padding:24px 16px;z-index:1001;max-height:90vh;overflow-y:auto;box-shadow:0 -4px 20px #0000004d}.admin-sheet--standalone{border-radius:0;max-height:100vh;height:100vh;top:0;padding:env(safe-area-inset-top,24px) 16px env(safe-area-inset-bottom,24px)}.admin-sheet__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.admin-sheet__header h3{margin:0;font-size:20px;color:var(--text-primary)}.admin-sheet__close{background:none;border:none;color:var(--text-secondary);font-size:24px;cursor:pointer;padding:0}.admin-tabs{display:flex;background:var(--bg-primary);border-radius:12px;padding:4px;margin-bottom:20px}.admin-tab{flex:1;padding:10px;text-align:center;background:none;border:none;color:var(--text-secondary);font-weight:600;border-radius:8px;cursor:pointer}.admin-tab.active{background:var(--bg-card);color:var(--text-primary);box-shadow:0 2px 4px #0000001a}.admin-form{display:flex;flex-direction:column;gap:12px}.admin-form label{font-size:13px;color:var(--text-secondary);margin-bottom:-4px}.admin-form input,.admin-form select{padding:12px 16px;border-radius:12px;background:var(--bg-primary);border:1px solid var(--border-subtle);color:var(--text-primary);font-size:15px;-webkit-appearance:none;-moz-appearance:none;appearance:none}.admin-form input:focus,.admin-form select:focus{outline:none;border-color:var(--accent-primary)}.admin-submit{margin-top:16px;padding:14px;background:var(--accent-primary);color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer}.admin-list{display:flex;flex-direction:column;gap:12px}.admin-list-item{display:flex;justify-content:space-between;align-items:center;background:var(--bg-primary);padding:12px 16px;border-radius:12px;border:1px solid var(--border-subtle)}.admin-list-actions{display:flex;gap:8px}.admin-list-actions button{background:none;border:none;font-size:18px;cursor:pointer;padding:4px;border-radius:6px;transition:background .2s}.admin-list-actions button:hover{background:var(--bg-card)}.admin-add-btn{background:var(--accent-primary);color:#fff;border:none;padding:12px;border-radius:12px;font-weight:700;cursor:pointer;margin-bottom:8px}.admin-back-btn{background:none;border:none;color:var(--text-secondary);text-align:left;padding:8px 0;font-weight:700;cursor:pointer;margin-bottom:8px}:root{--bg-primary: var(--tg-theme-bg-color, #0a0a0f);--bg-secondary: var(--tg-theme-secondary-bg-color, #12121a);--bg-card: var(--tg-theme-bg-color, #1a1a2e);--bg-card-hover: var(--tg-theme-secondary-bg-color, #22223a);--bg-glass: var(--tg-theme-bg-color, rgba(26, 26, 46, .85));--bg-bottom-sheet: var(--tg-theme-secondary-bg-color, #16162a);--text-primary: var(--tg-theme-text-color, #f0f0f5);--text-secondary: var(--tg-theme-hint-color, #9898b0);--text-muted: var(--tg-theme-hint-color, #606080);--accent-primary: var(--tg-theme-button-color, #6c5ce7);--accent-secondary: var(--tg-theme-link-color, #a29bfe);--accent-gradient: linear-gradient(135deg, var(--tg-theme-button-color, #6c5ce7) 0%, var(--tg-theme-link-color, #a29bfe) 100%);--accent-glow: 0 0 20px rgba(108, 92, 231, .3);--seat-available: var(--tg-theme-hint-color, #e0e0e8);--seat-available-hover: var(--tg-theme-text-color, #ffffff);--seat-sold: var(--tg-theme-secondary-bg-color, #2a2a3a);--seat-selected: #00d2a0;--seat-selected-glow: 0 0 12px rgba(0, 210, 160, .5);--success: #00d2a0;--warning: #ffd93d;--error: #ff6b6b;--border-subtle: rgba(255, 255, 255, .06);--border-accent: rgba(108, 92, 231, .3);--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-xs: .6875rem;--font-sm: .8125rem;--font-base: .9375rem;--font-md: 1.0625rem;--font-lg: 1.25rem;--font-xl: 1.5rem;--font-2xl: 1.875rem;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .4s cubic-bezier(.4, 0, .2, 1);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .2);--shadow-md: 0 4px 16px rgba(0, 0, 0, .3);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .4);--shadow-xl: 0 16px 64px rgba(0, 0, 0, .5)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{font-family:var(--font-family);font-size:var(--font-base);line-height:1.5;color:var(--text-primary);background:var(--bg-primary);overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}.app{width:100%;height:100vh;height:100dvh;display:flex;flex-direction:column;background:var(--bg-primary);color:var(--text-primary);overflow:hidden}a{color:var(--accent-secondary);text-decoration:none}button{font-family:var(--font-family);cursor:pointer;border:none;background:none;color:inherit}img{max-width:100%;height:auto}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:var(--radius-full)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes slideDown{0%{transform:translateY(0)}to{transform:translateY(100%)}}@keyframes pulse{0%,to{opacity:.4}50%{opacity:.8}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes scaleIn{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}@keyframes glow{0%,to{box-shadow:0 0 8px #6c5ce74d}50%{box-shadow:0 0 20px #6c5ce799}}.skeleton{background:linear-gradient(90deg,var(--bg-card) 25%,var(--bg-card-hover) 50%,var(--bg-card) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-sm)}.glass{background:var(--bg-glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-subtle)}.gradient-text{background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.page-enter{animation:fadeIn var(--transition-normal) forwards}.haptic-tap{transition:transform var(--transition-fast)}.haptic-tap:active{transform:scale(.97)}
