:root{--bg: var(--tg-theme-bg-color, #f7f9fc);--surface: var(--tg-theme-secondary-bg-color, #ffffff);--text: var(--tg-theme-text-color, #1a1a1a);--text-muted: var(--tg-theme-hint-color, #707579);--link: var(--tg-theme-link-color, #2481cc);--brand: #229ED9;--brand-dark: #1B7FAA;--brand-light: #2AABEE;--accent: #FF8C42;--button-text: #ffffff;--border: rgba(0, 0, 0, .06);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 16px rgba(0, 0, 0, .08);--shadow-lg: 0 12px 40px rgba(0, 0, 0, .12)}@media(prefers-color-scheme:dark){:root{--bg: var(--tg-theme-bg-color, #17212b);--surface: var(--tg-theme-secondary-bg-color, #232e3c);--text: var(--tg-theme-text-color, #ffffff);--text-muted: var(--tg-theme-hint-color, #8b9aa9);--border: rgba(255, 255, 255, .08)}}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,SF Pro Display,Roboto,sans-serif;font-size:15px;line-height:1.45;min-height:100vh;-webkit-font-smoothing:antialiased}.app{max-width:600px;margin:0 auto;padding-bottom:100px;min-height:100vh}.page{padding:0 16px}.hero{position:relative;height:300px;background:linear-gradient(135deg,#2aabee,#1b7faa);overflow:hidden;color:#fff;display:flex;flex-direction:column;justify-content:flex-end;padding:24px 20px;margin-bottom:24px}.hero-photo{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center;z-index:0}.hero-photo:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#00000026,#0000 30%,#0009)}.hero>*:not(.hero-photo){position:relative;z-index:1}.admin-fab{position:absolute;top:12px;right:12px;z-index:2;width:36px;height:36px;border-radius:50%;border:none;background:#ffffff40;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .12s}.admin-fab:hover{background:#fff6}.hero h1{position:relative;font-size:28px;font-weight:700;margin:0 0 6px;letter-spacing:-.5px}.hero .sub{position:relative;font-size:14px;opacity:.9;margin:0}.hero .badges{position:relative;display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}.hero .badges span{background:#fff3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:5px 11px;border-radius:100px;font-size:12px;font-weight:500}.section{margin-bottom:28px}.section-head{display:flex;align-items:baseline;justify-content:space-between;margin:0 0 12px;padding:0 4px}.section-head h2{font-size:19px;font-weight:700;margin:0;letter-spacing:-.2px}.section-head .count{font-size:13px;color:var(--text-muted)}.sup-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.sup-card{background:var(--surface);border-radius:16px;overflow:hidden;box-shadow:var(--shadow-sm);cursor:pointer;transition:transform .12s ease,box-shadow .12s ease;display:flex;flex-direction:column}.sup-card:active{transform:scale(.98)}.sup-card .photo{aspect-ratio:1;background-size:cover;background-position:center;position:relative;display:flex;align-items:center;justify-content:center;font-size:48px}.sup-card .size-badge{position:absolute;top:8px;right:8px;background:#0000008c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;padding:4px 9px;border-radius:100px;font-size:11px;font-weight:600}.sup-card .seat-badge{position:absolute;top:8px;left:8px;background:var(--accent);color:#fff;padding:4px 9px;border-radius:100px;font-size:11px;font-weight:600}.sup-card .body{padding:10px 12px 12px;flex:1;display:flex;flex-direction:column}.sup-card .name{font-weight:600;font-size:14px;margin-bottom:4px}.sup-card .price-row{display:flex;gap:6px;margin-top:auto;align-items:baseline;font-size:12px;color:var(--text-muted)}.sup-card .price-row strong{color:var(--text);font-size:14px;font-weight:700}.sup-card.selected-card{outline:3px solid var(--brand);outline-offset:-3px}.check-badge{position:absolute;bottom:8px;right:8px;width:28px;height:28px;border-radius:50%;background:#ffffffd9;border:2px solid white;display:flex;align-items:center;justify-content:center;color:transparent;font-weight:700;transition:all .15s}.check-badge.on{background:var(--brand);color:#fff}.tint-bluish{background:linear-gradient(135deg,#4ea8de,#2a6f97)}.tint-greenish{background:linear-gradient(135deg,#5dcaa5,#1d9e75)}.tint-orangeish{background:linear-gradient(135deg,#ffb75e,#ed8f03)}.tint-pinkish{background:linear-gradient(135deg,#ff9a8b,#ff6a88)}.tint-purpleish{background:linear-gradient(135deg,#b79ced,#7f77dd)}.tint-yellowish{background:linear-gradient(135deg,#ffe259,#ffa751)}.tint-redish{background:linear-gradient(135deg,#ff7b7b,#d85a30)}.tint-blackish{background:linear-gradient(135deg,#4b5563,#1f2937)}.tint-whitish{background:linear-gradient(135deg,#e5e7eb,#9ca3af);color:#444}.tint-tealish{background:linear-gradient(135deg,#4fd1c5,#319795)}.addon-list{display:flex;flex-direction:column;gap:10px}.addon-card{background:var(--surface);border-radius:14px;padding:14px;display:flex;gap:12px;align-items:center;box-shadow:var(--shadow-sm)}.addon-card .icon{width:46px;height:46px;border-radius:12px;background:linear-gradient(135deg,#ffb75e,#ed8f03);color:#fff;display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}.addon-card .info{flex:1;min-width:0}.addon-card .name{font-weight:600;font-size:14px}.addon-card .desc{font-size:12px;color:var(--text-muted);margin-top:2px}.addon-card .price{font-weight:700;font-size:15px;white-space:nowrap}.addon-card .price small{color:var(--text-muted);font-weight:400;font-size:11px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:15px;border:none;border-radius:14px;font-size:16px;font-weight:600;cursor:pointer;transition:transform 80ms;font-family:inherit}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.5;cursor:default}.btn-primary{background:linear-gradient(135deg,var(--brand-light),var(--brand-dark));color:#fff;box-shadow:var(--shadow-md)}.btn-ghost{background:var(--surface);color:var(--text)}.btn-text{background:transparent;color:var(--link);border:none;padding:4px 0;width:auto;font-size:14px;font-weight:500}.cta-bar{position:fixed;left:0;right:0;bottom:0;background:linear-gradient(to top,var(--bg) 60%,rgba(0,0,0,0));padding:14px 16px calc(14px + env(safe-area-inset-bottom));z-index:10}.cta-bar .inner{max-width:600px;margin:0 auto}.topbar{display:flex;align-items:center;padding:14px 12px 8px;gap:4px}.topbar .back-btn{background:var(--surface);border:none;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--shadow-sm);color:var(--text);font-size:18px}.sup-detail .hero{height:340px;margin-bottom:20px}.gallery-wrap{position:relative;margin-bottom:8px}.gallery{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none;height:340px}.gallery::-webkit-scrollbar{display:none}.gallery-slide{flex:0 0 100%;scroll-snap-align:center;background-size:cover;background-position:center;background-color:var(--surface)}.gallery-dots{position:absolute;bottom:12px;left:0;right:0;display:flex;justify-content:center;gap:6px;z-index:2}.gallery-dots .dot{width:7px;height:7px;border-radius:50%;background:#ffffff80;transition:all .2s}.gallery-dots .dot.active{background:#fff;width:20px;border-radius:100px}.sup-detail .specs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:20px}.sup-detail .spec{background:var(--surface);border-radius:12px;padding:12px;text-align:center;box-shadow:var(--shadow-sm)}.sup-detail .spec .label{font-size:11px;color:var(--text-muted);margin-bottom:4px}.sup-detail .spec .value{font-weight:700;font-size:15px}.sup-detail .price-card{background:var(--surface);border-radius:16px;padding:16px;margin-bottom:16px;box-shadow:var(--shadow-sm)}.sup-detail .price-card h3{margin:0 0 12px;font-size:15px}.sup-detail .price-card .row{display:flex;justify-content:space-between;padding:6px 0;font-size:14px}.field{display:block;margin-bottom:14px}.field label{display:block;font-size:12px;color:var(--text-muted);margin-bottom:6px;font-weight:500;text-transform:uppercase;letter-spacing:.3px}.field input{width:100%;padding:14px;border:1px solid var(--border);border-radius:12px;font-size:16px;background:var(--surface);color:var(--text);font-family:inherit;transition:border-color .12s}.field input:focus{outline:none;border-color:var(--brand)}.dates-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.surface-card{background:var(--surface);border-radius:16px;padding:16px;box-shadow:var(--shadow-sm);margin-bottom:14px}.addon-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--border);cursor:pointer}.addon-row:last-child{border-bottom:none}.addon-row input[type=checkbox]{width:22px;height:22px;accent-color:var(--brand);cursor:pointer}.addon-row .info{flex:1}.addon-row .name{font-weight:500;font-size:14px}.addon-row .desc{font-size:12px;color:var(--text-muted);margin-top:2px}.addon-row .price{font-weight:700;font-size:14px;white-space:nowrap}.addon-row .price small{font-weight:400;color:var(--text-muted);font-size:11px}.addon-qty-row{display:flex;align-items:center;gap:12px;padding:12px 8px;border-bottom:1px solid var(--border)}.addon-qty-row:last-child{border-bottom:none}.addon-qty-row .info{flex:1;min-width:0}.addon-qty-row .name{font-weight:500;font-size:14px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tag-low{font-size:10px;font-weight:500;color:#b25a00;background:#ff8c4226;padding:2px 7px;border-radius:100px}.tag-sold{font-size:10px;font-weight:500;color:#a02c2c;background:#d237371f;padding:2px 7px;border-radius:100px}.addon-qty-row .desc{font-size:12px;color:var(--text-muted);margin-top:2px}.addon-qty-row .unit-price{font-size:12px;color:var(--text-muted);margin-top:4px;font-weight:600}.qty-ctl{display:flex;align-items:center;gap:8px;flex-shrink:0}.qty-btn{width:32px;height:32px;border:none;border-radius:50%;background:var(--bg);color:var(--text);font-size:20px;font-weight:500;cursor:pointer;transition:all .1s;display:flex;align-items:center;justify-content:center;font-family:inherit}.qty-btn:hover:not(:disabled){background:var(--brand);color:#fff}.qty-btn:disabled{opacity:.35;cursor:default}.qty-val{min-width:22px;text-align:center;font-weight:600;font-size:15px}.total-card{background:linear-gradient(135deg,#229ed914,#229ed905);border:1px solid rgba(34,158,217,.15);border-radius:16px;padding:16px;margin-bottom:14px}.total-card .row{display:flex;justify-content:space-between;padding:5px 0;font-size:14px;color:var(--text-muted)}.total-card .row.grand{border-top:1px solid rgba(34,158,217,.2);margin-top:8px;padding-top:10px;font-weight:700;font-size:19px;color:var(--text)}.error{color:#d23737;font-size:13px;padding:10px 14px;background:#d2373714;border-radius:10px;margin-bottom:12px}.hint{color:var(--text-muted);font-size:13px}.muted{color:var(--text-muted)}.success-screen{text-align:center;padding:80px 24px}.success-screen .icon-wrap{width:88px;height:88px;margin:0 auto 20px;border-radius:50%;background:linear-gradient(135deg,#5dcaa5,#1d9e75);display:flex;align-items:center;justify-content:center;font-size:44px;color:#fff;box-shadow:var(--shadow-lg)}.success-screen h1{font-size:24px;margin:0 0 8px}.success-screen p{color:var(--text-muted);margin:6px 0}.tab-strip{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:2px}.tab-strip::-webkit-scrollbar{display:none}.tab-pill{padding:8px 14px;border-radius:100px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap;font-family:inherit;transition:all .12s}.tab-pill.active{background:var(--brand);color:#fff;border-color:var(--brand)}.admin-select{width:100%;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text);font-size:15px;font-family:inherit}.status-pill{padding:4px 10px;border-radius:100px;font-size:12px;font-weight:600;white-space:nowrap}.cal-wrap{overflow-x:auto;background:var(--surface);border-radius:12px;box-shadow:var(--shadow-sm)}.cal-table{border-collapse:separate;border-spacing:0;width:100%;min-width:500px}.cal-table th,.cal-table td{border-bottom:1px solid var(--border);padding:0}.cal-sup-col{padding:8px 10px!important;min-width:110px;position:sticky;left:0;background:var(--surface);z-index:2;border-right:1px solid var(--border);text-align:left;vertical-align:middle;font-size:12px}.cal-day-h{padding:6px 4px!important;text-align:center;font-weight:500;font-size:11px;min-width:34px;background:var(--surface)}.cal-day-h.weekend{background:#ff8c4214}.cal-day-h .dow{color:var(--text-muted);font-size:10px}.cal-day-h .d{font-weight:700;font-size:13px;color:var(--text)}.cal-cell{text-align:center;min-width:34px;height:42px;background:var(--bg)}.cal-cell.booked.confirmed{background:#1d9e7547}.cal-cell.booked.pending{background:#ff8c4247}.cal-mark{display:inline-block;font-size:13px;font-weight:700;color:#0000008c}.cal-legend{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:10px;font-size:12px;color:var(--text-muted)}.cal-legend .dot{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:4px;vertical-align:-1px}.cal-legend .dot.confirmed{background:#1d9e7599}.cal-legend .dot.pending{background:#ff8c4299}.skeleton{background:linear-gradient(90deg,var(--surface) 25%,var(--border) 50%,var(--surface) 75%);background-size:200% 100%;animation:shimmer 1.4s infinite;border-radius:8px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}
