:root{--bg:#eef3fa;--bg-deep:#0b1f3a;--surface:#fff;--surface-soft:#e6eef8;--text:#0f1c2e;--muted:#5a6b80;--line:#c9d7e8;--primary:#1a56db;--primary-dark:#1344b0;--accent:#0b8fd9;--accent-soft:#d8effb;--ink:#0c2340;--gold:#c58a1d;--sold:#94a3b8;--success:#0f766e;--success-bg:#e6f7f3;--danger:#c53030;--danger-bg:#fdebec;--shadow:0 18px 48px #0c23401f;--shadow-sm:0 8px 24px #0c234014;--radius:12px;--radius-sm:8px;--header-h:72px;--ease:cubic-bezier(.22, 1, .36, 1)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--font-sans), "Be Vietnam Pro", system-ui, sans-serif;-webkit-font-smoothing:antialiased;margin:0;line-height:1.6}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.site-header{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);min-height:var(--header-h);z-index:40;background:#ffffffe6;border-bottom:1px solid #c9d7e8cc;justify-content:space-between;align-items:center;gap:20px;padding:0 5vw;display:flex;position:sticky;top:0}.brand{color:var(--ink);letter-spacing:-.02em;white-space:nowrap;font-size:1.05rem;font-weight:800;text-decoration:none}.brand span,.brand:hover{color:var(--primary)}.main-tabs{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;justify-content:flex-end;gap:4px;display:flex;overflow-x:auto}.main-tabs::-webkit-scrollbar{display:none}.main-tabs a{color:var(--muted);cursor:pointer;font:inherit;min-height:40px;transition:background .18s var(--ease), color .18s var(--ease), border-color .18s var(--ease);white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:999px;padding:8px 14px;font-size:.9rem;font-weight:600;text-decoration:none}.main-tabs a:hover{background:var(--surface-soft);color:var(--ink)}.main-tabs a.active{background:var(--ink);color:#fff}.main-tabs a:focus-visible{outline-offset:2px;outline:3px solid #1a56db59}.button{border-radius:var(--radius-sm);cursor:pointer;font:inherit;min-height:48px;transition:background .18s var(--ease), border-color .18s var(--ease), color .18s var(--ease), transform .18s var(--ease), box-shadow .18s var(--ease);border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-weight:700;display:inline-flex}.button:hover{transform:translateY(-1px)}.button:focus-visible{outline-offset:2px;outline:3px solid #1a56db59}.button.primary{background:var(--primary);color:#fff;box-shadow:0 8px 20px #1a56db47}.button.primary:hover{background:var(--primary-dark)}.button.primary:disabled{box-shadow:none;color:#eef2f6;cursor:not-allowed;background:#b6c3d4;transform:none}.button.secondary{color:var(--ink);background:#ffffffeb;border-color:#ffffff80}.button.secondary:hover{border-color:var(--accent);color:var(--primary)}.button.ghost{border-color:var(--line);color:var(--text);background:0 0}.button.ghost:hover{border-color:var(--primary);color:var(--primary)}.button.full{width:100%}.button.danger{border-color:var(--danger);color:var(--danger);background:#fff}.button.danger:hover{background:var(--danger);color:#fff}.button.small{min-height:34px;padding:6px 10px}.hero{background-color:var(--bg-deep);isolation:isolate;min-height:calc(100svh - var(--header-h));background-position:50%;background-size:cover;align-items:end;padding:72px 5vw 64px;display:flex;position:relative}.hero:before{content:"";z-index:0;background:linear-gradient(115deg,#0b1f3ae0 0%,#0b1f3ab8 42%,#1a56db59 100%);position:absolute;inset:0}.hero:after{content:"";pointer-events:none;z-index:0;background:radial-gradient(50% 40% at 80% 20%,#0b8fd959,#0000 70%);animation:8s ease-in-out infinite alternate heroGlow;position:absolute;inset:0}.hero-copy{animation:riseIn .7s var(--ease) both;color:#fff;z-index:1;max-width:720px;position:relative}.hero-copy .eyebrow{color:#9fd0f5}.hero-copy h1{letter-spacing:-.04em;margin:0 0 18px;font-size:clamp(2.8rem,8vw,5.4rem);font-weight:800;line-height:.98}.hero-copy>p{color:#e8f1fae6;max-width:520px;margin:0 0 28px;font-size:1.12rem;font-weight:400;line-height:1.65}.hero-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.eyebrow{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin:0 0 10px;font-size:.78rem;font-weight:700}.info-section,.round-intro,.ticket-section,.rounds-section{padding:72px 5vw}.info-section{background:var(--surface)}.info-section-inner{gap:20px;max-width:720px;display:grid}.info-section h2,.rounds-section h2,.section-heading h2{letter-spacing:-.03em;margin:0 0 12px;font-size:clamp(1.7rem,3.5vw,2.6rem);font-weight:800;line-height:1.15}.info-section p,.rounds-section>p{color:var(--muted);max-width:640px;margin:0;font-size:1.05rem}.rounds-section{background:var(--bg)}.rounds-section-head{max-width:560px;margin-bottom:36px}.rounds-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.round-link{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);color:inherit;cursor:pointer;transition:border-color .2s var(--ease), transform .2s var(--ease), box-shadow .2s var(--ease);gap:8px;padding:22px 20px;text-decoration:none;display:grid;position:relative}.round-link:before{background:var(--primary);border-radius:var(--radius) 0 0 var(--radius);content:"";opacity:0;transition:opacity .2s var(--ease);width:4px;position:absolute;inset:0 auto 0 0}.round-link:hover{box-shadow:var(--shadow-sm);border-color:#9eb6d8;transform:translateY(-3px)}.round-link:hover:before{opacity:1}.round-link:focus-visible{outline-offset:2px;outline:3px solid #1a56db59}.round-link-index{color:var(--primary);letter-spacing:.06em;font-size:.78rem;font-weight:800}.round-link strong{letter-spacing:-.02em;font-size:1.15rem;font-weight:800}.round-link span{color:var(--muted);font-size:.92rem}.round-intro{background-color:var(--bg-deep);isolation:isolate;background-position:50%;background-size:cover;grid-template-columns:minmax(0,1.2fr) minmax(260px,.55fr);align-items:start;gap:36px;display:grid;position:relative}.round-intro:before{content:"";z-index:0;background:linear-gradient(105deg,#0b1f3ae6 0%,#0b1f3ac7 55%,#1a56db66 100%);position:absolute;inset:0}.round-intro-copy,.event-panel{z-index:1;position:relative}.round-intro-copy{animation:riseIn .55s var(--ease) both;color:#fff}.round-intro-copy .eyebrow{color:#9fd0f5}.round-intro h2{letter-spacing:-.03em;margin:0 0 14px;font-size:clamp(1.8rem,4vw,2.8rem);font-weight:800;line-height:1.12}.round-intro-copy>p{color:#e8f1fae0;max-width:640px;margin:0;font-size:1.05rem}.round-highlights{margin:20px 0 0;padding-left:18px}.round-highlights li{margin-bottom:8px}.event-panel{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:var(--radius);color:#fff;background:#ffffff1a;border:1px solid #ffffff2e;padding:22px}.event-panel div{grid-template-columns:28px 1fr;gap:2px 10px;display:grid}.event-panel div+div{border-top:1px solid #ffffff24;margin-top:16px;padding-top:16px}.event-panel svg{color:#7ec8f5;grid-row:span 2;margin-top:2px}.event-panel span{color:#b9d2ebd9;letter-spacing:.04em;text-transform:uppercase;font-size:.78rem;font-weight:700;display:block}.event-panel strong{font-size:1.05rem;font-weight:700;display:block}.ticket-section{background:var(--bg)}.booking-shell{max-width:1120px;margin:0 auto}.round-summary{justify-content:space-between;align-items:center;gap:18px;padding:8px 0 26px;display:flex}.round-summary h3{letter-spacing:-.02em;margin:0 0 6px;font-size:1.55rem;font-weight:800;line-height:1.15}.round-summary p{color:var(--muted);max-width:700px;margin:0}.round-summary p+p{margin-top:8px}.price-pill{background:var(--accent-soft);color:#0a5f8f;border:1px solid #9ecdeb;border-radius:999px;flex:none;align-items:center;gap:8px;min-height:44px;padding:10px 16px;font-weight:800;display:inline-flex}.registration-pill{background:var(--surface-soft);color:var(--primary-dark);border-color:#9eb6d8}.ticket-layout{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:24px;display:grid}.seat-map,.booking-form{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.seat-map{padding:22px;overflow-x:auto}.stage{background:linear-gradient(90deg, var(--ink), #1a3a66);border-radius:var(--radius-sm);color:#fff;text-align:center;margin-bottom:24px;padding:14px;font-weight:700}.seat-grid{grid-template-columns:repeat(10,minmax(44px,1fr));gap:10px;min-width:max-content;display:grid}.seat{aspect-ratio:1;border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--text);cursor:pointer;min-width:0;transition:background .15s var(--ease), border-color .15s var(--ease), color .15s var(--ease), transform .15s var(--ease);font-weight:700}.seat.available{background:#eaf2fc}.seat.available:hover,.seat.selected{background:var(--primary);border-color:var(--primary);color:#fff;transform:translateY(-1px)}.seat.sold{background:var(--sold);color:#fff;cursor:not-allowed}.seat.reserved{color:#5c4208;cursor:not-allowed;background:#f5e2a8;border-color:#d4a72c}.seat-legend{flex-wrap:wrap;gap:16px;margin-top:22px;display:flex}.seat-legend span{color:var(--muted);align-items:center;gap:8px;font-weight:600;display:inline-flex}.legend{border-radius:4px;width:16px;height:16px;display:inline-block}.legend.available{border:1px solid var(--line);background:#eaf2fc}.legend.selected{background:var(--primary)}.legend.sold{background:var(--sold)}.legend.reserved{background:#f5e2a8;border:1px solid #d4a72c}.booking-form{padding:24px}.booking-form h3{letter-spacing:-.02em;margin:0 0 18px;font-weight:800}.combo-selector{margin-bottom:18px}.combo-selector-head{margin-bottom:10px}.combo-selector-head h4{margin:0 0 4px;font-size:1rem;font-weight:800}.combo-selector-head p{color:var(--muted);margin:0;font-size:.92rem}.ticket-combo-list{gap:10px;display:grid}.ticket-combo-card{border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--text);text-align:left;transition:border-color .15s var(--ease), background .15s var(--ease), color .15s var(--ease);background:#f7faff;justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.ticket-combo-card:hover{border-color:var(--primary)}.ticket-combo-card.active{background:var(--primary);border-color:var(--primary);color:#fff}.ticket-combo-card strong{font-size:.98rem;display:block}.ticket-combo-card p{color:inherit;opacity:.9;margin:4px 0 0;font-size:.86rem}.ticket-combo-card span{white-space:nowrap;font-weight:800}.payment-qr-card{border:1px solid var(--line);border-radius:var(--radius-sm);background:#f7faff;margin-top:16px;padding:16px}.payment-qr-card h4{margin:0 0 8px;font-size:1rem}.payment-qr-image{border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;width:100%;max-width:220px;height:auto;margin-top:8px;padding:8px;display:block}.payment-qr-card p{color:var(--muted);margin:12px 0 0;font-weight:600;line-height:1.5}label{color:var(--muted);gap:7px;margin-bottom:14px;font-size:.9rem;font-weight:700;display:grid}input,textarea,select{border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--text);font:inherit;min-height:44px;transition:border-color .15s var(--ease), box-shadow .15s var(--ease);background:#fff;width:100%;padding:10px 12px}input:focus,textarea:focus,select:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #1a56db29}input[readonly]{background:#f4f7fb}.form-message{background:var(--success-bg);border-radius:var(--radius-sm);color:var(--success);margin:14px 0 0;padding:12px 14px;font-weight:700}.form-message.error{background:var(--danger-bg);color:var(--danger)}.closed-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:28px}.closed-panel h3{margin:0 0 8px;font-size:1.4rem;font-weight:800}.closed-panel p:last-child{color:var(--muted);margin:0;font-weight:700}.loading-message{color:var(--muted);padding:24px 0;font-weight:600}.registration-form{max-width:720px}.registration-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;display:grid}.registration-grid .full-width{grid-column:1/-1}.registration-meta{gap:10px;margin-top:14px;display:grid}.registration-meta-item{color:var(--muted);align-items:flex-start;gap:10px;display:flex}.registration-meta-item svg{color:var(--primary);flex-shrink:0;margin-top:2px}.registration-meta-item a{color:var(--primary);text-underline-offset:3px;font-weight:700;text-decoration:underline}.registration-meta-item a:hover{color:var(--primary-dark)}.site-footer{color:#d5e4f5;background:linear-gradient(#0c2340 0%,#08182c 100%);padding:56px 5vw 28px}.footer-grid{grid-template-columns:1.4fr 1fr 1.2fr .8fr;gap:36px;max-width:1120px;margin:0 auto;display:grid}.footer-brand{color:#fff;letter-spacing:-.02em;margin:0 0 12px;font-size:1.15rem;font-weight:800}.footer-grid h3{color:#fff;letter-spacing:.04em;text-transform:uppercase;margin:0 0 14px;font-size:.92rem;font-weight:700}.footer-grid p,.footer-grid li{color:#9db4cc;margin:0;font-size:.94rem;line-height:1.65}.footer-org-logo{border-radius:var(--radius-sm);object-fit:contain;background:#ffffff14;border:1px solid #9db4cc3d;width:86px;height:86px;margin-bottom:14px;padding:8px}.footer-grid ul{margin:0;padding:0;list-style:none}.footer-grid li+li{margin-top:8px}.footer-grid a{color:#9db4cc;transition:color .16s var(--ease)}.footer-grid a:hover{color:#fff}.social-links a{align-items:center;gap:10px;display:inline-flex}.social-icon{color:#fff;background:#ffffff14;border:1px solid #9db4cc3d;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:.88rem;font-weight:800;line-height:1;display:inline-flex}.footer-bottom{color:#7e95ad;text-align:center;border-top:1px solid #9db4cc33;max-width:1120px;margin:40px auto 0;padding-top:20px;font-size:.88rem}.admin-shell{background:radial-gradient(ellipse 60% 50% at 20% 0%, #1a56db1f, transparent), var(--bg);justify-content:center;align-items:center;min-height:100svh;padding:24px;display:flex}.admin-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);width:100%;max-width:440px;padding:32px}.admin-card-header{align-items:center;gap:16px;margin-bottom:24px;display:flex}.admin-card-header svg{color:var(--primary)}.admin-card-header h1{letter-spacing:-.02em;margin:0;font-size:1.5rem;font-weight:800}.admin-form label{margin-bottom:16px}.admin-hint{color:var(--muted);text-align:center;margin:20px 0 0;font-size:.92rem}.admin-hint a{color:var(--primary);font-weight:700}.admin-dashboard{max-width:1200px;margin:0 auto;padding:28px 5vw 48px}.admin-topbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.admin-topbar h1{letter-spacing:-.03em;margin:0;font-size:clamp(1.6rem,4vw,2.2rem);font-weight:800}.admin-subtitle{color:var(--muted);margin:6px 0 0}.admin-topbar-actions{flex-wrap:wrap;gap:10px;display:flex}.admin-banner{background:var(--accent-soft);border-radius:var(--radius-sm);color:#0a5f8f;margin:0 0 20px;padding:12px 16px;font-weight:700}.admin-metrics{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin-bottom:28px;display:grid}.admin-metrics article{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);gap:4px;padding:18px;display:grid}.admin-metrics strong{color:var(--primary);font-size:1.8rem;font-weight:800;line-height:1}.admin-metrics span{color:var(--muted);font-weight:600}.admin-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:24px;padding:24px}.admin-panel-header h2{margin:0 0 4px;font-weight:800}.admin-panel-header p{color:var(--muted);margin:0 0 18px}.admin-empty{color:var(--muted);font-style:italic}.admin-table-wrap{overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;min-width:720px}.admin-table th,.admin-table td{border-bottom:1px solid var(--line);text-align:left;padding:10px 12px}.admin-table th{background:var(--surface-soft);color:var(--muted);text-transform:uppercase;font-size:.82rem;font-weight:700}.admin-round-tabs{flex-wrap:wrap;gap:8px;margin-bottom:18px;display:flex}.admin-round-tabs button{border:1px solid var(--line);color:var(--muted);cursor:pointer;font:inherit;min-height:38px;transition:background .16s var(--ease), color .16s var(--ease);background:0 0;border-radius:999px;padding:8px 14px;font-weight:600}.admin-round-tabs button.active,.admin-round-tabs button:hover{background:var(--ink);border-color:var(--ink);color:#fff}.round-visibility-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.round-visibility-item{border:1px solid var(--line);border-radius:var(--radius-sm);background:#f7fafc;justify-content:space-between;align-items:center;gap:12px;padding:14px;display:flex}.round-visibility-item strong,.seat-layout-toolbar strong{font-weight:800;display:block}.round-visibility-item span,.seat-layout-toolbar span{color:var(--muted);font-size:.88rem;font-weight:600;display:block}.seat-layout-toolbar{border:1px solid var(--line);border-radius:var(--radius-sm);background:#f7fafc;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px;padding:14px;display:flex}.seat-layout-actions{flex-wrap:wrap;gap:8px;display:flex}.admin-seat-map{box-shadow:none;border:none;padding:0}.admin-seat-map .seat,.admin-seat-map .seat.reserved,.admin-seat-map .seat.sold{cursor:pointer}.admin-seat-map .seat:disabled{cursor:default;opacity:.55}.seat-hover-wrapper{position:relative}.seat-status-picker{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);z-index:4;gap:6px;width:max-content;padding:8px;display:grid;position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%)}.seat-status-option{border:1px solid var(--line);border-radius:var(--radius-sm);text-align:left;min-width:118px;padding:7px 8px;font-size:.8rem;font-weight:700}.seat-status-option.available{background:#eaf2fc}.seat-status-option.reserved{background:#f5e2a8}.seat-status-option.sold{background:var(--sold);color:#fff}.admin-role-badge{background:var(--surface-soft);border:1px solid var(--line);color:var(--muted);vertical-align:middle;border-radius:999px;margin-left:10px;padding:3px 10px;font-size:.82rem;font-weight:700;display:inline-block}.admin-bookings-section{border-top:1px solid var(--line);margin-top:24px;padding-top:20px}.admin-bookings-section h3{margin:0 0 14px;font-size:1rem}.admin-staff-form{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:20px;display:grid}.admin-staff-form label{gap:6px;font-size:.88rem;font-weight:700;display:grid}.admin-staff-form .button{align-self:end}.registration-section{margin-bottom:28px}.registration-section h3{margin:0 0 14px;font-weight:800}.registration-section+.registration-section{border-top:1px solid var(--line);padding-top:24px}.registration-form textarea{resize:vertical;min-height:96px}.optional-tag{color:var(--muted);font-size:.88rem;font-weight:600}.registration-success-panel{background:var(--success-bg);border-radius:var(--radius);color:#134e4a;border:1px solid #9ed9c8;gap:14px;max-width:720px;margin-top:20px;padding:24px;display:grid}.registration-success-panel svg{color:var(--success)}.registration-success-message{white-space:pre-wrap;margin:0;line-height:1.65}.registration-form-editor{gap:18px;display:grid}.form-editor-section{border:1px solid var(--line);background:#f7fafc;border-radius:10px;gap:14px;padding:16px;display:grid}.form-editor-section-header{grid-template-columns:1fr auto;align-items:end;gap:12px;display:grid}.form-editor-section-header label,.form-editor-question label{gap:6px;font-size:.88rem;font-weight:700;display:grid}.form-editor-questions{gap:12px;display:grid}.form-editor-question{border:1px dashed var(--line);background:#fff;border-radius:8px;gap:10px;padding:12px;display:grid}.form-editor-question-header{justify-content:space-between;align-items:center;display:flex}.form-editor-checkbox{flex-direction:row;align-items:center;gap:8px!important;display:flex!important}.form-editor-checkbox input{width:auto;min-height:auto}.form-editor-actions{flex-wrap:wrap;gap:10px;display:flex}.registration-extra-answers{white-space:normal;max-width:280px;font-size:.88rem}@keyframes riseIn{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes heroGlow{0%{opacity:.55}to{opacity:1}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-copy,.round-intro-copy,.hero:after,.button,.round-link,.seat,.main-tabs a{transition:none!important;animation:none!important}}@media (max-width:980px){.round-intro,.ticket-layout,.footer-grid{grid-template-columns:1fr}.hero{min-height:calc(100svh - var(--header-h));padding-top:56px}.seat-grid{grid-template-columns:repeat(8,minmax(42px,1fr))}}@media (max-width:720px){.site-header{flex-direction:column;align-items:stretch;gap:10px;padding:14px 18px 12px}.main-tabs{justify-content:flex-start;width:calc(100% + 8px);margin:0 -4px;padding-bottom:2px}.hero,.info-section,.round-intro,.ticket-section,.rounds-section{padding-left:18px;padding-right:18px}.hero{min-height:auto;padding-top:48px;padding-bottom:48px}.hero-actions{align-items:stretch;display:grid}.round-summary{flex-direction:column;align-items:flex-start}.seat-map,.booking-form{padding:18px}.seat-grid{grid-template-columns:repeat(5,minmax(40px,1fr));gap:7px}.registration-grid{grid-template-columns:1fr}.admin-dashboard{padding-left:18px;padding-right:18px}.footer-grid{gap:28px}.seat{font-size:.82rem}}
