@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}:root{--bg-primary:#0c0b10;--bg-secondary:#131219;--bg-card:#17161e;--bg-card-hover:#1d1c27;--bg-input:#100f17;--border-color:#252336;--border-light:#312e42;--text-primary:#e8e5f0;--text-secondary:#9d98ab;--text-muted:#605b6e;--accent:#c9a24f;--accent-hover:#dab562;--accent-muted:#c9a24f1a;--danger:#c04848;--danger-hover:#d45858;--success:#4a9e62;--link:#8fa3c8;--link-hover:#aabdd8;--font-display:"Cormorant", Georgia, serif;--font-body:"Outfit", -apple-system, BlinkMacSystemFont, sans-serif;--radius:12px;--radius-sm:6px;--ease:cubic-bezier(.16, 1, .3, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font-body);background:var(--bg-primary);color:var(--text-primary);background-image:radial-gradient(at 50% 0,#c9a24f08 0%,#0000 60%);min-height:100vh;line-height:1.6}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.01em;font-weight:600;line-height:1.25}h1{font-size:2rem;font-weight:700}a{color:var(--link);text-decoration:none;transition:color .15s}a:hover{color:var(--link-hover)}button{font-family:var(--font-body);cursor:pointer;border-radius:var(--radius-sm);border:none;padding:.5rem 1rem;font-size:.875rem;transition:all .2s}input[type=text],input[type=number],input[type=date],input[type=time],select{font-family:var(--font-body);background:var(--bg-input);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);outline:none;padding:.5rem .75rem;font-size:.875rem;transition:border-color .2s,box-shadow .2s}input:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-muted)}.main-nav{z-index:100;-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border-color);background:#0c0b10d9;position:sticky;top:0}.main-nav:before{content:"";background:linear-gradient(90deg, transparent, var(--accent), transparent);opacity:.4;height:2px;position:absolute;top:0;left:0;right:0}.nav-inner{align-items:center;gap:2rem;max-width:1200px;height:56px;margin:0 auto;padding:0 1.5rem;display:flex;position:relative}.nav-logo{font-family:var(--font-display);color:var(--accent);letter-spacing:.01em;font-size:1.35rem;font-weight:700;text-decoration:none}.nav-logo:hover{color:var(--accent-hover)}.nav-links{gap:.25rem;margin-left:auto;display:flex}.nav-links a{color:var(--text-secondary);border-radius:var(--radius-sm);padding:.375rem .75rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:color .15s,background .15s}.nav-links a:hover{color:var(--text-primary);background:#ffffff0a}.nav-links a.active{color:var(--accent)}.nav-toggle{background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:32px;height:32px;margin-left:auto;padding:0;display:none}.nav-toggle span{background:var(--text-secondary);width:20px;height:1.5px;transition:transform .25s var(--ease), opacity .2s;border-radius:1px;display:block}.nav-toggle.open span:first-child{transform:translateY(6.5px)rotate(45deg)}.nav-toggle.open span:nth-child(2){opacity:0}.nav-toggle.open span:last-child{transform:translateY(-6.5px)rotate(-45deg)}.home{max-width:1200px;animation:fadeUp .4s var(--ease);margin:0 auto;padding:2.5rem 1.5rem}.home h1{margin-bottom:.5rem}.subtitle{color:var(--text-secondary);margin-bottom:2.5rem;font-size:1.05rem}.grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.25rem;display:grid}.card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius);color:var(--text-primary);transition:transform .3s var(--ease), border-color .3s, box-shadow .3s;animation:fadeUp .5s var(--ease) both;animation-delay:calc(var(--i,0) * 60ms);text-decoration:none;display:block;overflow:hidden}.card:hover{color:var(--text-primary);border-color:#c9a24f4d;transform:translateY(-4px);box-shadow:0 12px 32px #00000040,0 0 0 1px #c9a24f1a}.card-image{aspect-ratio:16/9;object-fit:cover;width:100%;transition:transform .4s var(--ease);display:block}.card:hover .card-image{transform:scale(1.04)}.card-image.placeholder{background:var(--bg-secondary)}.card-body{padding:1rem 1.25rem}.card-body h2{margin-bottom:.25rem;font-size:1.15rem;line-height:1.3}.dates{color:var(--text-secondary);letter-spacing:.02em;font-size:.8rem}.show-detail{max-width:900px;animation:fadeUp .4s var(--ease);margin:0 auto;padding:2.5rem 1.5rem}.back-link{color:var(--text-muted);margin-bottom:1.5rem;font-size:.875rem;transition:color .15s;display:inline-block}.back-link:hover{color:var(--text-primary)}.show-detail h1{margin-bottom:1rem}.summary{color:var(--text-secondary);margin-bottom:.25rem}.fetched{color:var(--text-muted);margin-bottom:2rem;font-size:.8rem}.performances{flex-direction:column;gap:.5rem;display:flex}.performance{border:1px solid var(--border-color);border-radius:var(--radius);background:var(--bg-card);overflow:hidden}.performance summary{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.75rem;padding:.875rem 1.25rem;list-style:none;transition:background .15s;display:flex}.performance summary::-webkit-details-marker{display:none}.performance summary:hover{background:var(--bg-card-hover)}.performance summary:before{content:"";border-right:1.5px solid var(--text-muted);border-bottom:1.5px solid var(--text-muted);width:6px;height:6px;transition:transform .2s var(--ease);flex-shrink:0;display:inline-block;transform:rotate(-45deg)}.performance[open] summary:before{transform:rotate(45deg)}.performance summary h2{border:none;flex:1;margin:0;padding:0;font-size:1rem}.perf-book-link{color:var(--link);flex-shrink:0;font-size:.8rem}.perf-book-link:hover{color:var(--link-hover)}.perf-seat-count{color:var(--text-muted);flex-shrink:0;font-size:.8rem}.zones{background:var(--border-color);border-top:1px solid var(--border-color);flex-direction:column;gap:1px;display:flex}.zone{background:var(--bg-primary);padding:.75rem 1.25rem}.zone-header{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.2rem;display:flex}.zone-name{font-size:.9rem;font-weight:600}.zone-price{color:var(--accent);font-size:.85rem;font-weight:500}.zone-count{color:var(--text-muted);font-size:.8rem}.zone-seats{color:var(--text-secondary);word-break:break-word;letter-spacing:.02em;font-family:SF Mono,Fira Code,ui-monospace,monospace;font-size:.8rem}.connect-page{text-align:center;max-width:460px;animation:fadeUp .4s var(--ease);margin:0 auto;padding:4rem 1.5rem}.connect-page h1{margin-bottom:.75rem;font-size:2.25rem}.connect-page p{color:var(--text-secondary);margin-bottom:1.5rem;line-height:1.7}.connect-btn{background:var(--accent);color:#0c0b10;border-radius:var(--radius);align-items:center;gap:.5rem;padding:.875rem 2rem;font-size:1rem;font-weight:600;transition:background .2s,transform .2s;display:inline-flex}.connect-btn:hover{background:var(--accent-hover);transform:translateY(-1px)}.connect-btn:active{transform:translateY(0)}.waiting{margin-top:1.5rem}.telegram-link{background:var(--accent-muted);color:var(--accent);border-radius:var(--radius);border:1px solid #c9a24f33;margin-bottom:1rem;padding:.75rem 1.75rem;font-weight:500;transition:border-color .2s,background .2s;display:inline-block}.telegram-link:hover{color:var(--accent-hover);background:#c9a24f26;border-color:#c9a24f66}.polling-status{color:var(--text-muted);font-size:.875rem}.error-block{margin-top:1.5rem}.error-message{color:var(--danger);margin-bottom:1rem}.dashboard{max-width:900px;animation:fadeUp .4s var(--ease);margin:0 auto;padding:2.5rem 1.5rem}.dashboard h1{margin-bottom:2rem}.dashboard h2{margin-bottom:1rem;font-size:1.2rem}.subscriptions-section{margin-bottom:3rem}.subscription-list{flex-direction:column;gap:.75rem;display:flex}.subscription-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius);padding:1.25rem;transition:border-color .15s}.subscription-card:hover{border-color:var(--border-light)}.sub-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem;display:flex}.sub-title{font-family:var(--font-display);font-size:1.1rem;font-weight:600}.sub-actions{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.btn-link{color:var(--link);background:0 0;padding:.3rem .5rem;font-size:.8rem}.btn-link:hover{color:var(--link-hover)}.btn-edit{background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border-color);padding:.35rem .75rem;font-size:.8rem}.btn-edit:hover{border-color:var(--accent);color:var(--text-primary)}.btn-remove{color:var(--danger);background:0 0;border:1px solid #c048484d;padding:.35rem .75rem;font-size:.8rem}.btn-remove:hover{background:var(--danger);color:var(--text-primary);border-color:var(--danger)}button:disabled{opacity:.4;cursor:not-allowed}.filter-tags{flex-wrap:wrap;gap:.4rem;display:flex}.filter-tags.muted{color:var(--text-muted);font-size:.85rem}.tag{background:var(--accent-muted);color:var(--accent);letter-spacing:.03em;text-transform:uppercase;border-radius:100px;padding:.2rem .6rem;font-size:.7rem;font-weight:500}.filter-form{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius);margin-top:1rem;padding:1.25rem}.filter-row{flex-wrap:wrap;align-items:flex-end;gap:1rem;margin-bottom:1.25rem;display:flex}.filter-row label{color:var(--text-secondary);flex-direction:column;gap:.35rem;font-size:.8rem;font-weight:500;display:flex}.filter-row input[type=number],.filter-row input[type=date],.filter-row input[type=time]{width:140px}.seat-meta-summary{color:var(--text-secondary);min-height:1.2rem;margin-bottom:1rem;font-size:.8rem}.seat-types{border:1px solid var(--border-color);border-radius:var(--radius-sm);margin-bottom:1.25rem;padding:.875rem}.seat-types legend{color:var(--text-secondary);padding:0 .3rem;font-size:.8rem;font-weight:500}.seat-type-grid{flex-wrap:wrap;gap:.75rem;margin-top:.5rem;display:flex}.seat-type-option{color:var(--text-primary);cursor:pointer;align-items:center;gap:.4rem;font-size:.85rem;display:flex}.seat-type-option input[type=checkbox]{width:14px;height:14px;accent-color:var(--accent)}.filter-actions{gap:.5rem;display:flex}.btn-save{background:var(--accent);color:#0c0b10;padding:.45rem 1.25rem;font-size:.85rem;font-weight:600}.btn-save:hover{background:var(--accent-hover)}.btn-cancel{color:var(--text-secondary);border:1px solid var(--border-color);background:0 0;padding:.45rem 1.25rem;font-size:.85rem}.btn-cancel:hover{color:var(--text-primary);border-color:var(--border-light)}.add-section{margin-bottom:2rem}.add-row{margin-bottom:1rem}.add-row select{min-width:300px;max-width:100%}.muted{color:var(--text-muted);font-size:.9rem}.status{color:var(--text-secondary);font-size:.95rem;animation:.3s fadeIn}.status.error{color:var(--danger)}@media (width<=640px){.nav-toggle{display:flex}.nav-links{-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border-color);background:#131219f2;flex-direction:column;margin-left:0;padding:.5rem 1.5rem 1rem;display:none;position:absolute;top:100%;left:0;right:0}.nav-links.open{display:flex}.nav-links a{padding:.625rem .75rem}h1{font-size:1.6rem}.grid{grid-template-columns:1fr}.home,.show-detail,.dashboard,.connect-page{padding-left:1rem;padding-right:1rem}.filter-row{flex-direction:column;align-items:stretch}.filter-row input[type=number],.filter-row input[type=date],.filter-row input[type=time]{width:100%}.add-row select{width:100%;min-width:0}.sub-header{flex-direction:column;align-items:flex-start}.sub-actions{width:100%}.connect-page h1{font-size:1.75rem}}
