@import"https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=DM+Sans:wght@300;400;500;600&display=swap";:root{--bg: #0a0a0f;--surface: #13131a;--surface2: #1c1c26;--border: #2a2a38;--text: #f0eff8;--text-muted: #8888a8;--accent: #e8b86d;--accent2: #7c6af7;--green: #34d399;--red: #f87171;--yellow: #fbbf24;--blue: #60a5fa;--radius: 10px;--radius-lg: 16px;--shadow: 0 4px 24px rgba(0,0,0,.4)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:DM Sans,sans-serif;background:var(--bg);color:var(--text);min-height:100vh;font-size:15px;line-height:1.6}button{font-family:inherit;cursor:pointer;border:none;background:none}input,select,textarea{font-family:inherit;font-size:14px;background:var(--surface2);border:1px solid var(--border);color:var(--text);border-radius:var(--radius);padding:10px 14px;width:100%;outline:none;transition:border-color .2s}input:focus,select:focus,textarea:focus{border-color:var(--accent2)}textarea{resize:vertical}select option{background:var(--surface2)}a{color:inherit;text-decoration:none}code{font-family:monospace;font-size:12px;color:var(--text-muted)}.app{display:flex;flex-direction:column;min-height:100vh}.page-content{flex:1}.site-header{position:sticky;top:0;z-index:100;background:#0a0a0feb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}.header-inner{max-width:1200px;margin:0 auto;padding:14px 24px;display:flex;align-items:center;justify-content:space-between}.site-logo{font-family:"DM Serif Display",serif;font-size:22px;color:var(--accent);letter-spacing:.02em}nav{display:flex;gap:8px}.nav-link{padding:8px 16px;border-radius:8px;color:var(--text-muted);font-size:14px;font-weight:500;transition:all .15s}.nav-link:hover{color:var(--text);background:var(--surface2)}.admin-link{color:var(--text-muted)}.site-footer{text-align:center;padding:32px;color:var(--text-muted);font-size:13px;border-top:1px solid var(--border)}.loading{display:flex;align-items:center;justify-content:center;min-height:300px;color:var(--text-muted);font-size:15px;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}.event-list{max-width:1100px;margin:0 auto;padding:48px 24px}.page-header{text-align:center;margin-bottom:48px}.page-header h1{font-family:"DM Serif Display",serif;font-size:48px;color:var(--text);line-height:1.1}.page-header .subtitle{color:var(--text-muted);margin-top:8px;font-size:16px}.event-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px}.event-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;cursor:pointer;transition:transform .2s,border-color .2s,box-shadow .2s}.event-card:hover{transform:translateY(-3px);border-color:var(--accent2);box-shadow:0 8px 32px #7c6af726}.event-card-img{width:100%;height:180px;object-fit:cover;display:block}.placeholder-img{width:100%;height:180px;background:linear-gradient(135deg,var(--surface2),#1a1a2e);display:flex;align-items:center;justify-content:center;font-size:48px}.event-card-body{padding:20px;display:flex;flex-direction:column;gap:12px}.event-date-badge{display:flex;align-items:center;gap:10px}.event-date-badge .month{font-size:10px;font-weight:700;color:var(--accent);letter-spacing:.12em}.event-date-badge .day{font-size:28px;font-weight:600;line-height:1}.event-info h2{font-size:18px;font-weight:600;line-height:1.3}.event-venue{font-size:13px;color:var(--text-muted);margin-top:4px}.event-time{font-size:13px;color:var(--accent);margin-top:2px}.btn-tickets{display:block;width:100%;padding:12px;background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:14px;font-weight:500;text-align:center;cursor:pointer;transition:all .15s}.btn-tickets:hover{background:var(--accent2);border-color:var(--accent2);color:#fff}.empty-state{text-align:center;padding:80px 0;color:var(--text-muted);font-size:16px}.event-detail{max-width:1200px;margin:0 auto;padding:32px 24px}.back-btn{color:var(--text-muted);font-size:14px;padding:8px 0;margin-bottom:24px;display:inline-flex;align-items:center;gap:6px;transition:color .15s}.back-btn:hover{color:var(--text)}.event-hero{display:flex;gap:40px;margin-bottom:48px;align-items:flex-start;flex-wrap:wrap}.hero-img{width:360px;height:240px;object-fit:cover;border-radius:var(--radius-lg);flex-shrink:0}.hero-content{flex:1;min-width:280px}.hero-content h1{font-family:"DM Serif Display",serif;font-size:36px;line-height:1.2;margin-bottom:12px}.hero-date{font-size:16px;color:var(--accent);font-weight:500}.hero-doors{font-size:14px;color:var(--text-muted);margin-top:4px}.hero-venue{font-size:14px;color:var(--text-muted);margin-top:8px}.hero-desc{margin-top:16px;color:var(--text-muted);line-height:1.7;max-width:560px}.ticket-layout{display:grid;grid-template-columns:1fr 320px;gap:32px;align-items:start}@media (max-width: 820px){.ticket-layout{grid-template-columns:1fr}}.ticket-selector{min-width:0}.tier-list h2,.seat-chart-area h2{font-size:20px;font-weight:600;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border)}.tier-row{display:flex;align-items:center;justify-content:space-between;padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:10px}.tier-row.sold-out{opacity:.5}.tier-info{display:flex;flex-direction:column;gap:2px}.tier-name{font-weight:600}.tier-price{color:var(--accent);font-size:18px;font-weight:600}.tier-avail{font-size:12px;color:var(--text-muted)}.qty-control{display:flex;align-items:center;gap:12px}.qty-control button{width:36px;height:36px;border-radius:50%;background:var(--surface2);border:1px solid var(--border);color:var(--text);font-size:20px;line-height:1;transition:all .15s}.qty-control button:hover{background:var(--accent2);border-color:var(--accent2)}.qty-control span{font-size:20px;font-weight:600;min-width:24px;text-align:center}.order-summary{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;position:sticky;top:80px}.order-summary h2{font-size:18px;margin-bottom:16px}.empty-cart{color:var(--text-muted);font-size:14px}.cart-item{display:flex;justify-content:space-between;font-size:14px;padding:8px 0;border-bottom:1px solid var(--border)}.cart-divider{height:1px;background:var(--border);margin:12px 0}.cart-line{display:flex;justify-content:space-between;font-size:14px;padding:4px 0}.cart-line.fees{color:var(--text-muted)}.cart-line.total{font-size:17px;font-weight:700;margin-top:8px;padding-top:12px;border-top:1px solid var(--border)}.btn-checkout{display:block;width:100%;margin-top:16px;padding:14px;border-radius:var(--radius);background:var(--accent);color:#0a0a0f;font-size:15px;font-weight:700;transition:all .15s}.btn-checkout:hover:not(:disabled){background:#f0c97a;transform:translateY(-1px)}.btn-checkout:disabled{opacity:.6;cursor:not-allowed}.secure-note{text-align:center;font-size:12px;color:var(--text-muted);margin-top:10px}.chart-container{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px}.stage-label{text-align:center;margin-bottom:24px}.stage{display:inline-block;padding:10px 60px;background:var(--surface2);border:1px solid var(--border);border-radius:4px;font-size:12px;letter-spacing:.2em;color:var(--text-muted)}.seat-legend{display:flex;gap:16px;flex-wrap:wrap;font-size:12px;color:var(--text-muted);margin-bottom:20px;justify-content:center}.dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:4px}.section-block{margin-bottom:24px}.section-name{font-size:12px;font-weight:600;letter-spacing:.08em;color:var(--text-muted);margin-bottom:8px;text-transform:uppercase}.seat-row{display:flex;align-items:center;gap:6px;margin-bottom:4px}.row-label{width:16px;font-size:11px;color:var(--text-muted);text-align:center;flex-shrink:0}.seats{display:flex;gap:4px;flex-wrap:wrap}.seat-btn{width:20px;height:20px;border-radius:4px;padding:0;transition:transform .1s,opacity .1s}.seat-btn:hover:not(:disabled){transform:scale(1.3);z-index:1;position:relative}.seat-btn:disabled{cursor:not-allowed;opacity:.6}.chart-placeholder{text-align:center;padding:48px;color:var(--text-muted);font-size:14px}.chart-note{margin-top:8px;font-size:12px}.success-page{min-height:80vh;display:flex;align-items:center;justify-content:center;padding:32px}.success-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:48px;max-width:480px;width:100%;text-align:center}.success-icon{width:64px;height:64px;border-radius:50%;background:var(--green);color:#0a0a0f;font-size:28px;font-weight:700;display:flex;align-items:center;justify-content:center;margin:0 auto 24px}.success-card h1{font-family:"DM Serif Display",serif;font-size:32px;margin-bottom:8px}.success-event{font-size:18px;font-weight:600}.success-date{color:var(--text-muted);margin-top:4px}.success-email{color:var(--text-muted);font-size:14px;margin:16px 0}.success-items{margin:20px 0;text-align:left}.success-item{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--border);font-size:14px}.success-total{font-weight:700;margin:12px 0}.btn-back{margin-top:24px;padding:12px 24px;background:var(--surface2);border:1px solid var(--border);color:var(--text);border-radius:var(--radius);font-size:14px;transition:all .15s}.btn-back:hover{border-color:var(--accent2);background:var(--accent2);color:#fff}.admin-login{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg)}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:48px;width:100%;max-width:360px;text-align:center}.login-card h1{font-family:"DM Serif Display",serif;font-size:28px;margin-bottom:24px}.login-card input{margin-bottom:16px}.login-card button{width:100%;padding:12px;background:var(--accent2);color:#fff;border-radius:var(--radius);font-size:15px;font-weight:600}.admin-shell{display:flex;min-height:100vh}.admin-nav{width:220px;flex-shrink:0;background:var(--surface);border-right:1px solid var(--border);padding:24px 16px;display:flex;flex-direction:column;gap:4px;position:sticky;top:0;height:100vh;overflow-y:auto}.admin-logo{font-family:"DM Serif Display",serif;font-size:20px;color:var(--accent);padding:8px 12px 20px;border-bottom:1px solid var(--border);margin-bottom:8px}.nav-item{width:100%;text-align:left;padding:10px 14px;border-radius:var(--radius);color:var(--text-muted);font-size:14px;font-weight:500;transition:all .15s}.nav-item:hover{color:var(--text);background:var(--surface2)}.nav-item.active{color:var(--text);background:var(--surface2);border-left:2px solid var(--accent2)}.admin-main{flex:1;padding:40px;overflow-y:auto}.admin-section{max-width:1000px}.admin-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.admin-header h1{font-family:"DM Serif Display",serif;font-size:30px}.admin-section h1{font-family:"DM Serif Display",serif;font-size:30px;margin-bottom:28px}.admin-section h2{font-size:18px;margin:24px 0 12px}.admin-section h3{font-size:16px;margin:28px 0 12px;color:var(--text-muted)}.btn-primary{padding:10px 20px;border-radius:var(--radius);background:var(--accent2);color:#fff;font-size:14px;font-weight:600;transition:all .15s}.btn-primary:hover{opacity:.85;transform:translateY(-1px)}.btn-secondary{padding:10px 20px;border-radius:var(--radius);background:var(--surface2);border:1px solid var(--border);color:var(--text);font-size:14px;font-weight:500}.btn-sm{padding:6px 12px;border-radius:6px;font-size:12px;font-weight:600;background:var(--surface2);border:1px solid var(--border);color:var(--text);transition:all .15s}.btn-sm:hover{border-color:var(--text-muted)}.btn-sm.green{background:#34d39926;border-color:var(--green);color:var(--green)}.btn-sm.yellow{background:#fbbf2426;border-color:var(--yellow);color:var(--yellow)}.btn-sm.red{background:#f8717126;border-color:var(--red);color:var(--red)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:24px}.form-grid .full-width{grid-column:1 / -1}label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;color:var(--text-muted)}label input,label select,label textarea{color:var(--text)}.form-actions{display:flex;gap:12px;margin-top:24px}.hint{font-size:13px;color:var(--text-muted);margin-bottom:12px}.admin-table{width:100%;border-collapse:collapse;font-size:14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.admin-table th{background:var(--surface2);padding:12px 16px;text-align:left;font-size:12px;font-weight:700;letter-spacing:.06em;color:var(--text-muted);text-transform:uppercase}.admin-table td{padding:12px 16px;border-top:1px solid var(--border);vertical-align:middle}.admin-table tr:hover td{background:#ffffff05}.actions{display:flex;gap:6px}.tag{display:inline-block;padding:3px 10px;border-radius:20px;background:var(--surface2);border:1px solid var(--border);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px}.tier-editor{margin:24px 0}.tier-editor h2{font-size:18px;margin-bottom:12px}.tier-row-edit{display:flex;gap:10px;align-items:center;margin-bottom:8px}.tier-row-edit input{flex:1}.seat-gen{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;margin:24px 0}.inline-form{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;margin-bottom:28px}.report-selector{margin-bottom:28px}.report-selector select{max-width:400px}.report h2{font-family:"DM Serif Display",serif;font-size:26px;margin-bottom:4px}.report-date{color:var(--text-muted);margin-bottom:24px}.report-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px 24px;min-width:140px;display:flex;flex-direction:column;gap:4px;flex:1}.card-val{font-size:26px;font-weight:700;color:var(--accent)}.card-lbl{font-size:12px;color:var(--text-muted);font-weight:600;letter-spacing:.06em;text-transform:uppercase}.seat-summary strong{color:var(--text)}.skip-link{position:absolute;top:-100%;left:8px;z-index:9999;padding:10px 18px;background:var(--accent);color:#0a0a0f;font-weight:700;font-size:14px;border-radius:0 0 var(--radius) var(--radius);text-decoration:none;transition:top .15s}.skip-link:focus{top:0;outline:3px solid #0a0a0f;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}:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:4px}#main-content:focus{outline:none}.event-grid,.cart-items{list-style:none;padding:0;margin:0}.cart-totals{margin:0}.cart-totals .cart-line{display:flex;justify-content:space-between}.cart-totals dt,.cart-totals dd{margin:0;padding:4px 0;font-size:14px}.cart-totals .total dt,.cart-totals .total dd{font-size:17px;font-weight:700;padding-top:12px;border-top:1px solid var(--border)}.cart-totals .fees dt,.cart-totals .fees dd{color:var(--text-muted)}.cart-count{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--accent2);color:#fff;font-size:11px;font-weight:700;margin-left:8px;vertical-align:middle}.chart-view-toggle{display:flex;gap:8px;margin-bottom:20px}.toggle-btn{padding:8px 16px;border-radius:var(--radius);font-size:13px;font-weight:600;background:var(--surface2);border:1px solid var(--border);color:var(--text-muted);transition:all .15s}.toggle-btn.active,.toggle-btn[aria-pressed=true]{background:var(--accent2);border-color:var(--accent2);color:#fff}.toggle-btn:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.seat-btn{position:relative}.seat-btn.seat-selected,.seat-btn[aria-pressed=true]{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--accent)}.seat-btn.seat-sold:after,.seat-btn:disabled:not(.seat-blocked):after{content:"";position:absolute;top:2px;right:2px;bottom:2px;left:2px;background:repeating-linear-gradient(45deg,transparent,transparent 3px,rgba(0,0,0,.4) 3px,rgba(0,0,0,.4) 4px);border-radius:2px;pointer-events:none}.seat-table-view{margin-top:16px}.section-table{margin-bottom:32px}.section-table h3{font-size:15px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px}.section-table table{width:100%;border-collapse:collapse;font-size:13px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.section-table th{background:var(--surface2);padding:10px 14px;text-align:left;font-size:11px;font-weight:700;letter-spacing:.06em;color:var(--text-muted);text-transform:uppercase}.section-table td{padding:10px 14px;border-top:1px solid var(--border)}.section-table tr.row-selected td{background:#f59e0b14}.status-pill{display:inline-block;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.status-pill.status-available{background:#10b98126;color:var(--green)}.status-pill.status-selected{background:#f59e0b26;color:var(--yellow)}.status-pill.status-held{background:#6b728033;color:#9ca3af}.status-pill.status-sold{background:#37415166;color:#6b7280}.status-pill.status-blocked{background:#1f293799;color:#4b5563}.btn-seat-action{padding:5px 12px;border-radius:6px;font-size:12px;font-weight:600;border:1px solid;transition:all .15s}.btn-seat-action.select{background:#10b98126;border-color:var(--green);color:var(--green)}.btn-seat-action.select:hover{background:var(--green);color:#0a0a0f}.btn-seat-action.deselect{background:#f59e0b26;border-color:var(--yellow);color:var(--yellow)}.btn-seat-action.deselect:hover{background:var(--yellow);color:#0a0a0f}.legend-item{display:flex;align-items:center;gap:4px}.error-summary{background:#f871711a;border:1px solid var(--red);border-radius:var(--radius);padding:16px 20px;margin-bottom:24px;color:var(--red)}.error-summary ul{margin-top:8px;padding-left:20px}.error-summary a{color:var(--red);text-decoration:underline}.field-error{color:var(--red);font-size:12px;margin-top:4px}.login-error{background:#f871711a;border:1px solid var(--red);border-radius:var(--radius);padding:10px 14px;color:var(--red);font-size:14px;margin-bottom:12px;text-align:left}input[aria-invalid=true],select[aria-invalid=true]{border-color:var(--red)}.seat-summary{display:flex;gap:24px;font-size:14px;color:var(--text-muted);margin-bottom:8px}.seat-summary div{display:flex;gap:6px;align-items:center}.seat-summary dt:after{content:":"}.seat-summary dd{margin:0;color:var(--text);font-weight:700}.report-cards{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:32px}.report-cards .report-card{display:flex;flex-direction:column-reverse;gap:4px}.report-cards dt,.report-cards dd{margin:0}.admin-nav ul{list-style:none;padding:0;margin:0}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.order-form{margin-top:16px;display:flex;flex-direction:column;gap:14px}.order-form h3{font-size:15px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}.order-field{display:flex;flex-direction:column;gap:5px}.order-field label{font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.order-field input{font-size:14px;padding:9px 12px}.payment-fieldset{border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px;display:flex;gap:20px}.payment-fieldset legend{font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;padding:0 6px}.radio-label{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:var(--text);cursor:pointer;text-transform:none;letter-spacing:normal}.radio-label input[type=radio]{width:16px;height:16px;accent-color:var(--accent2);cursor:pointer}.payment-note{font-size:12px;color:var(--text-muted);line-height:1.5;padding:8px 0 0}.btn-back-form{font-size:13px;color:var(--text-muted);padding:6px 0;text-align:center;transition:color .15s}.btn-back-form:hover{color:var(--text)}.pending-notice{background:#fbbf241a;border:1px solid var(--yellow);border-radius:var(--radius);padding:12px 16px;font-size:14px;color:var(--yellow);margin:12px 0;line-height:1.5}.ticket-qr-list{display:flex;flex-direction:column;gap:20px;margin:24px 0;width:100%}.ticket-qr-card{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);padding:20px;display:flex;flex-direction:column;align-items:center;gap:12px}.ticket-qr-label{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}.ticket-num{font-size:11px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em}.ticket-type{font-size:16px;font-weight:600}.ticket-price{font-size:14px;color:var(--accent)}.qr-wrapper{display:flex;flex-direction:column;align-items:center;gap:8px;background:#fff;padding:12px;border-radius:var(--radius)}.qr-hint{font-size:12px;color:#6b7280;text-align:center}.scanner-login{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg);padding:24px}.scanner-login-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:40px;width:100%;max-width:340px;text-align:center;display:flex;flex-direction:column;gap:16px}.scanner-logo{font-size:40px}.scanner-login-card h1{font-family:"DM Serif Display",serif;font-size:26px}.scanner-login-card p{color:var(--text-muted);font-size:14px}.scanner-login-card button{width:100%;padding:12px;border-radius:var(--radius)}.scanner-page{min-height:100vh;background:#0a0a0f;display:flex;flex-direction:column}.scanner-header{padding:16px 20px;font-family:"DM Serif Display",serif;font-size:20px;color:var(--accent);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:8px}.scanner-body{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;padding:32px 24px}.btn-start-scan{display:flex;align-items:center;gap:10px;padding:18px 32px;background:var(--accent2);color:#fff;border-radius:var(--radius-lg);font-size:18px;font-weight:600;transition:all .15s}.btn-start-scan:hover{opacity:.85;transform:translateY(-2px)}.camera-view{width:100%;max-width:400px;display:flex;flex-direction:column;align-items:center;gap:12px;position:relative}.scanner-video{width:100%;border-radius:var(--radius-lg);display:block}.scan-overlay{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.scan-frame{width:200px;height:200px;border:3px solid var(--accent);border-radius:12px;box-shadow:0 0 0 2000px #0006}.scan-hint{font-size:14px;color:var(--text-muted)}.btn-stop-scan{padding:8px 20px;background:var(--surface2);border:1px solid var(--border);color:var(--text-muted);border-radius:var(--radius);font-size:14px}.manual-entry{width:100%;max-width:400px;text-align:center}.manual-entry p{font-size:13px;color:var(--text-muted);margin-bottom:10px}.manual-input-row{display:flex;gap:8px}.manual-input-row input{flex:1}.manual-input-row button{flex-shrink:0;padding:10px 16px;border-radius:var(--radius)}.scan-result{margin:20px;border-radius:var(--radius-lg);padding:32px 24px;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}.result-icon{font-size:56px;font-weight:700;line-height:1}.result-message{font-size:20px;font-weight:700}.result-ticket-info{font-size:14px;color:var(--text-muted);display:flex;flex-direction:column;gap:4px}.result-ticket-info strong{color:var(--text);font-size:16px}.redeemed-time{color:#d97706;font-size:13px;margin-top:4px}.btn-scan-again{margin-top:8px;padding:12px 28px;background:var(--surface2);border:1px solid var(--border);color:var(--text);border-radius:var(--radius);font-size:15px;font-weight:600;transition:all .15s}.btn-scan-again:hover{border-color:var(--accent2);background:var(--accent2);color:#fff}.ft-chart{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;overflow-x:auto}.ft-section-tabs{display:flex;gap:8px;margin-bottom:16px}.ft-tab{padding:8px 20px;border-radius:var(--radius);font-size:14px;font-weight:600;background:var(--surface2);border:1px solid var(--border);color:var(--text-muted);transition:all .15s}.ft-tab.active,.ft-tab[aria-selected=true]{background:var(--accent2);border-color:var(--accent2);color:#fff}.ft-tier-legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--text-muted);margin-bottom:16px}.ada-legend{font-size:12px;margin-right:4px}.ft-stage{text-align:center;font-size:11px;font-weight:700;letter-spacing:.2em;color:var(--text-muted);background:var(--surface2);border:1px solid var(--border);border-radius:4px;padding:8px 0;margin-bottom:20px;max-width:300px;margin-left:auto;margin-right:auto}.ft-balcony-note{text-align:center;font-size:11px;letter-spacing:.12em;color:var(--text-muted);margin-bottom:16px}.ft-section-divider{text-align:center;font-size:11px;color:var(--text-muted);letter-spacing:.08em;padding:10px 0;border-top:1px dashed var(--border);border-bottom:1px dashed var(--border);margin:8px 0}.ft-rows{display:flex;flex-direction:column;gap:3px;min-width:600px}.ft-row{display:flex;align-items:center;gap:4px}.ft-row-label{font-size:10px;font-weight:700;color:var(--text-muted);min-width:24px;text-align:right;flex-shrink:0}.ft-row-label-right{font-size:10px;font-weight:700;color:var(--text-muted);min-width:24px;text-align:left;flex-shrink:0}.ft-seat-block{display:flex;gap:2px}.ft-aisle{width:20px;flex-shrink:0}.ft-seat{width:18px;height:18px;border-radius:3px;padding:0;position:relative;transition:transform .1s;border:none;cursor:pointer;flex-shrink:0}.ft-seat:hover:not(:disabled){transform:scale(1.4);z-index:10;position:relative}.ft-seat:disabled{cursor:not-allowed}.ft-seat[aria-pressed=true],.ft-seat.ft-seat-selected{box-shadow:0 0 0 2px #fff,0 0 0 3px #f59e0b}.ft-seat.ft-seat-sold{opacity:.5}.ft-seat-ada{display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.3)!important}.ada-icon{font-size:9px;line-height:1;color:#fff;pointer-events:none}@media (max-width: 700px){.ft-chart{padding:12px 8px}.ft-seat{width:14px;height:14px}.ft-aisle{width:12px}}.admin-seat-manager{max-width:100%}.admin-subtitle{color:var(--text-muted);font-size:14px;margin-top:4px}.seat-stats{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}.stat-chip{padding:6px 14px;background:var(--surface2);border:1px solid var(--border);border-radius:20px;font-size:13px;display:flex;align-items:center;gap:6px}.stat-chip.total{font-weight:700}.seat-manager-instructions{font-size:13px;color:var(--text-muted);background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);padding:10px 14px;margin-bottom:12px}.bulk-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:#7c6af71a;border:1px solid var(--accent2);border-radius:var(--radius);padding:10px 14px;margin-bottom:12px}.bulk-count{font-size:13px;font-weight:600;color:var(--accent2);margin-right:4px}.ft-row-label-btn{font-size:10px;font-weight:700;color:var(--text-muted);min-width:24px;text-align:right;flex-shrink:0;background:none;border:none;cursor:pointer;padding:2px 4px;border-radius:3px;transition:all .1s}.ft-row-label-btn:hover{background:var(--surface2);color:var(--text)}.ft-row-label-btn.row-label-selected{background:var(--accent2);color:#fff}.admin-seat{cursor:pointer}.admin-seat:hover:not(:disabled){transform:scale(1.4);z-index:10}.admin-seat-selected{box-shadow:0 0 0 2px #fff,0 0 0 3px #7c6af7!important}.ft-seat-empty{background:transparent!important;cursor:default;pointer-events:none}.csv-import-section{margin-top:24px}.csv-import-form{margin-top:12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.csv-import-form textarea{font-family:monospace;font-size:13px}.csv-import-form code{background:var(--surface2);padding:1px 5px;border-radius:3px;font-size:12px}.fargo-notice{display:flex;align-items:flex-start;gap:12px;background:#7c6af714;border:1px solid var(--accent2);border-radius:var(--radius);padding:14px 16px;font-size:14px;margin-bottom:16px}.fargo-notice span{font-size:24px;flex-shrink:0}.generate-seats-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;margin-bottom:24px}.generate-seats-form{display:flex;align-items:flex-end;gap:16px;margin:16px 0;flex-wrap:wrap}.generate-seats-form label{font-size:12px;font-weight:600;color:var(--text-muted);display:flex;flex-direction:column;gap:6px}.price-tier-editor{margin-bottom:20px}.tier-editor-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px}.tier-zone{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin-bottom:12px}.tier-zone-header{display:flex;gap:10px;align-items:center;margin-bottom:12px}.tier-row-label{font-size:12px;font-weight:600;color:var(--text-muted);margin-bottom:8px;text-transform:uppercase;letter-spacing:.06em}.row-chips{display:flex;flex-wrap:wrap;gap:4px}.row-chip{padding:4px 10px;border-radius:6px;font-size:12px;font-weight:600;background:var(--surface);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;transition:all .1s}.row-chip:hover:not(:disabled){border-color:var(--accent2);color:var(--text)}.row-chip-active{background:var(--accent2);border-color:var(--accent2);color:#fff}.row-chip-taken{opacity:.3;cursor:not-allowed}.ft-rows .ft-row .ft-seat-block:first-of-type{min-width:266px}.ft-chart .ft-rows .ft-row{align-items:center}.ft-row{justify-content:flex-start}.ft-seat-block-left{display:flex;justify-content:flex-end;min-width:280px}.ft-seat-block-right{display:flex;justify-content:flex-start;min-width:280px}.ft-seat-spacer{background:transparent!important;border:none!important;pointer-events:none;cursor:default}.ft-stage-bottom{text-align:center;font-size:11px;font-weight:700;letter-spacing:.2em;color:var(--text-muted);background:var(--surface2);border:1px solid var(--border);border-radius:4px;padding:8px 0;margin-top:12px;width:200px;margin-left:auto;margin-right:auto}.ft-seat-block-left,.ft-seat-block-right{min-width:unset;justify-content:unset}.ft-stage-bottom{text-align:center;font-size:13px;font-weight:700;letter-spacing:.3em;color:#0a0a0f;background:#4ade80;border-radius:6px;padding:12px 0;margin-top:14px;width:100%;display:block}.ft-stage-bottom{width:unset!important;align-self:stretch;margin-left:30px;margin-right:30px;letter-spacing:.3em;background:#4ade80;color:#0a0a0f;font-weight:700;font-size:13px;text-align:center;padding:12px 0;border-radius:6px;margin-top:10px}.ft-rows-wrap{display:flex;flex-direction:column}.ft-stage-bottom{display:block;width:auto!important;min-width:unset!important;margin-left:28px;margin-right:28px;margin-top:8px;padding:10px 0;background:#4ade80;color:#0a0a0f;font-weight:700;font-size:13px;letter-spacing:.3em;text-align:center;border-radius:6px}.ft-rows .ft-stage-bottom{width:100%;box-sizing:border-box;margin-left:0;margin-right:0}.ft-rows .ft-stage-bottom{width:660px!important;margin-left:28px!important;box-sizing:border-box}.hold-timer{display:flex;align-items:center;gap:8px;background:#34d3991a;border:1px solid var(--green);border-radius:var(--radius);padding:10px 14px;font-size:14px;color:var(--green);margin-bottom:14px;transition:all .3s}.hold-timer-warning{background:#f871711a;border-color:var(--red);color:var(--red);animation:pulse-timer 1s ease-in-out infinite}.timer-icon{font-size:16px}@keyframes pulse-timer{0%,to{opacity:1}50%{opacity:.6}}
