:root{--bg-dark:#0b0d12;--bg-elevated:#151923;--bg-card:#151923bf;--bg-card-hover:#1d2330f2;--bg-overlay:#0b0d12d9;--border-subtle:#ffffff14;--border-focus:#ff5a6e66;--border-glass:#ffffff1a;--accent-primary:#ff5a6e;--accent-primary-hover:#ff4158;--accent-primary-glow:#ff5a6e59;--accent-violet:#8b5cf6;--accent-violet-glow:#8b5cf64d;--status-success:#38c98b;--status-success-bg:#38c98b26;--status-warning:#f4b740;--status-warning-bg:#f4b74026;--status-error:#ff626e;--status-error-bg:#ff626e26;--seat-avail:#2a324b;--seat-avail-hover:#3e4b70;--seat-selected:#ff5a6e;--seat-held:#f4b740;--seat-booked:#1e2330;--seat-yours:#38c98b;--text-primary:#f7f8fc;--text-secondary:#a7adbc;--text-muted:#6b7280;--font-family:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--radius-xl:24px}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-dark);min-height:100vh;color:var(--text-primary);font-family:var(--font-family);background-image:radial-gradient(circle at 50% 0%, #8b5cf61f 0%, transparent 50%), radial-gradient(circle at 10% 20%, #ff5a6e14 0%, transparent 40%), radial-gradient(circle at 90% 80%, #151923 0%, var(--bg-dark) 100%);-webkit-font-smoothing:antialiased;background-attachment:fixed;line-height:1.5;overflow-x:hidden}.glass-panel{background:var(--bg-card);-webkit-backdrop-filter:blur(18px);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:0 16px 36px #00000073}.glass-panel-glow{box-shadow:0 0 35px var(--accent-primary-glow);border-color:#ff5a6e4d}h1,h2,h3,h4,h5,h6{color:var(--text-primary);letter-spacing:-.025em;font-weight:700}.btn{border-radius:var(--radius-md);cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-family:inherit;font-size:.92rem;font-weight:600;text-decoration:none;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex}.btn:active:not(:disabled){transform:scale(.98)}.btn-primary{color:#fff;box-shadow:0 4px 18px var(--accent-primary-glow);background:linear-gradient(135deg,#ff5a6e 0%,#e11d48 100%)}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #ff5a6e8c}.btn-secondary{color:#fff;box-shadow:0 4px 18px var(--accent-violet-glow);background:linear-gradient(135deg,#8b5cf6 0%,#6d28d9 100%)}.btn-secondary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #8b5cf680}.btn-success{color:#fff;background:linear-gradient(135deg,#38c98b 0%,#059669 100%);box-shadow:0 4px 16px #38c98b4d}.btn-outline{border:1px solid var(--border-subtle);color:var(--text-primary);background:#ffffff0a}.btn-outline:hover:not(:disabled){color:#fff;background:#ffffff14;border-color:#ffffff40}.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none!important;transform:none!important}.badge{border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:5px;padding:4px 10px;font-size:.75rem;font-weight:700;display:inline-flex}.badge-coral{color:#ff5a6e;background:#ff5a6e26;border:1px solid #ff5a6e4d}.badge-violet{color:#a78bfa;background:#8b5cf626;border:1px solid #8b5cf64d}.badge-emerald{background:var(--status-success-bg);color:var(--status-success);border:1px solid #38c98b4d}.seat-grid{flex-direction:column;gap:12px;width:100%;max-width:760px;margin:32px 0 20px;display:flex}.seat-row{justify-content:center;align-items:center;gap:14px;display:flex}.seat-row-label{text-align:center;width:24px;color:var(--text-secondary);font-size:.85rem;font-weight:800}.seat-btn{cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;width:38px;height:38px;font-size:.8rem;font-weight:700;transition:all .15s;display:flex}.seat-btn.available{background:var(--seat-avail);color:var(--text-primary);border-color:#ffffff0d}.seat-btn.available:hover{background:var(--seat-avail-hover);border-color:#ff5a6e66;transform:translateY(-2px)}.seat-btn.selected{background:var(--seat-selected);color:#fff;box-shadow:0 0 15px var(--accent-primary-glow);transform:scale(1.08)}.seat-btn.inspected{border-color:#8b5cf6;transform:scale(1.05);box-shadow:0 0 12px #8b5cf699}.seat-btn.held{background:var(--seat-held);color:#111827;cursor:not-allowed;opacity:.8}.seat-btn.held_by_you{background:var(--seat-yours);color:#fff;box-shadow:0 0 15px #38c98b66}.seat-btn.booked{background:var(--seat-booked);color:#4b5563;cursor:not-allowed;border-color:#ffffff0a}.cinema-screen-container{flex-direction:column;align-items:center;width:80%;max-width:600px;margin-bottom:24px;display:flex}.cinema-screen-arc{filter:drop-shadow(0 0 16px #f7f8fcb3);border-top:4px solid #f7f8fc;border-radius:50% 50% 0 0;width:100%;height:12px}.cinema-screen-label{text-transform:uppercase;letter-spacing:.25em;color:var(--text-secondary);margin-top:10px;font-size:.75rem;font-weight:700}.ticket-card{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);position:relative;overflow:hidden;box-shadow:0 16px 36px #00000080}.ticket-divider{align-items:center;height:24px;margin:10px 0;display:flex;position:relative}.ticket-divider:before{content:"";background:var(--bg-dark);border-radius:50%;width:24px;height:24px;position:absolute;left:-12px}.ticket-divider:after{content:"";background:var(--bg-dark);border-radius:50%;width:24px;height:24px;position:absolute;right:-12px}.ticket-divider-line{border-top:2px dashed #ffffff26;flex:1;margin:0 16px}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:.25s cubic-bezier(.16,1,.3,1) forwards fadeIn}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-dark)}::-webkit-scrollbar-thumb{background:#1e2330;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#2d3748}@media (width<=768px){.seat-btn{border-radius:6px;width:28px;height:28px;font-size:.7rem}.seat-row{gap:6px}.seat-row-label{width:16px;font-size:.75rem}}.modal-overlay{-webkit-backdrop-filter:blur(14px);z-index:1000;background-color:#05070ad9;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal-content{border:1px solid #ffffff24;width:100%;max-width:480px;animation:.25s cubic-bezier(.16,1,.3,1) forwards fadeIn;box-shadow:0 25px 60px #000c}
