@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-sans-latin-400-normal-CW0RaeGs.woff2)format("woff2"),url(/assets/dm-sans-latin-400-normal-BwCSEQnW.woff)format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-sans-latin-ext-400-normal-BtiwyxMk.woff2)format("woff2"),url(/assets/dm-sans-latin-ext-400-normal-BjWJ59Pq.woff)format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/dm-sans-latin-500-normal-B9HHJjqV.woff2)format("woff2"),url(/assets/dm-sans-latin-500-normal-Dr3UlScf.woff)format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/dm-sans-latin-ext-500-normal-BJfUCQsA.woff2)format("woff2"),url(/assets/dm-sans-latin-ext-500-normal-DR84L5F-.woff)format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/dm-sans-latin-600-normal-Aqo67rzb.woff2)format("woff2"),url(/assets/dm-sans-latin-600-normal-BmdmIIQ2.woff)format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/dm-sans-latin-ext-600-normal-4vooXBpG.woff2)format("woff2"),url(/assets/dm-sans-latin-ext-600-normal-DRtaDpgU.woff)format("woff")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/cormorant-garamond-latin-300-normal-Cw-E_7L1.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-300-normal-BuXLI6C0.woff)format("woff")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/cormorant-garamond-latin-ext-300-normal-BsCYHBWC.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-ext-300-normal-DueGyF8j.woff)format("woff")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-latin-400-normal-B-1hWBU7.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-400-normal-B7YtguxJ.woff)format("woff")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-latin-ext-400-normal-Drx2k2n9.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-ext-400-normal-uvC0WHQr.woff)format("woff")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/cormorant-garamond-latin-500-normal-BsRWmXhO.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-500-normal-zIXX3Q-H.woff)format("woff")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/cormorant-garamond-latin-ext-500-normal-CH1kM7og.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-ext-500-normal-DYeaGGzO.woff)format("woff")}:root{--bg:#0a0d0a;--dark:#0d110e;--mid:#111612;--card:#181e19;--card2:#1f2620;--surface:#0d110e;--hair:#ffffff0f;--hair2:#ffffff1f;--accent:#c9a84c;--accent-light:#d4b659;--text:#fff;--muted:#c2c2c2;--dim:#a8a8a8;--green:#6dbb70;--red:#e57373;--max:1320px;--sb-gradient-top:#111612;--sb-gradient-bottom:#0a0d0a;--sb-edge:#c9a84c1f;--sb-gold:#c9a84c;--sb-gold-pale:#e8d089;--sb-gold-head-open:#e0c88a;--sb-gold-head-idle:#e3c877;--sb-wash-idle:#c9a84c14;--sb-wash-open:#c9a84c21;--sb-wash-hover:#c9a84c29;--sb-line:#c9a84c24;--sb-text:#ffffffdb;--sb-text-soft:#ffffffd9;--sb-text-mute:#ffffffb3;--sb-text-faint:#ffffff9e;--sb-text-dim:#ffffff80;--sb-border:#ffffff2e;--font-sans:"DM Sans", "Noto Sans TC", system-ui, sans-serif;--font-display:"Cormorant Garamond", Georgia, serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--radius-xs:2px;--radius:7px;--radius-md:8px;--radius-lg:9px;--radius-pill:999px;--shadow-card:#0f12100d 0 1px 2px 0, #0f121012 0 8px 24px 0;--shadow-control:#0f12101a 0 1px 2px 0;--shadow-control-hover:#0f121024 0 2px 6px;--focus-ring:0 0 0 3px #a8842e14;--sidebar-w:176px;--drawer-w:230px;--topbar-h:52px;--content-max:1160px;--content-gutter:56px;--content-gutter-wide:80px;--content-gutter-mobile:18px;color:var(--text);background:var(--bg);font-family:var(--font-sans)}.admin{--bg:#fff;--card:#fff;--card2:#e8e8e0;--surface:#f1f1ea;--hair:#c4c4ba;--hair2:#9a9a90;--accent:#97742a;--accent-light:#a8842e;--text:#0f1210;--muted:#2f322f;--dim:#5a5d5b;--green:#2d6630;--red:#9b3f35;--neutral:#6b7280;--blue:#2563eb;--amber:#b7791f;--teal:#0f766e;color:var(--text);background:var(--bg)}*{box-sizing:border-box}html{background:#0a0d0a}body{color:#fff;background:#0a0d0a;min-width:320px;min-height:100vh;margin:0}button,input,textarea,select{font:inherit}button{background:0 0;border:0 solid}a{color:inherit}:focus-visible{outline-offset:2px;outline:2px solid}.admin-layout{min-height:100vh;font-size:14px;line-height:21px;display:flex}.business-hours-day-row{grid-template-columns:44px 104px minmax(120px,1fr) 20px minmax(120px,1fr);align-items:center;gap:10px;display:grid}.business-hours-time-input{width:100%;min-width:0}@media (width<=640px){.business-hours-day-row{grid-template-columns:44px minmax(0,1fr)}.business-hours-time-input{grid-column:1/-1}.business-hours-time-separator{display:none}}.admin-aside-desktop{flex:0 0 var(--sidebar-w);width:var(--sidebar-w);background-image:linear-gradient(var(--sb-gradient-top), var(--sb-gradient-bottom));border-right:1px solid var(--sb-edge)}.admin-main{flex-direction:column;flex:1;min-width:0;display:flex}.admin-content{width:100%;max-width:var(--content-max);padding:0 var(--content-gutter) 72px;margin:0 auto}@media (width>=1400px){.admin-content{padding-right:var(--content-gutter-wide);padding-left:var(--content-gutter-wide)}}.sb-shell{height:100vh;color:var(--sb-text-soft);flex-direction:column;display:flex;position:sticky;top:0;overflow:hidden}.sb-brand{justify-content:space-between;align-items:center;gap:8px;padding:20px 16px 16px;display:flex}.sb-brand-link{text-decoration:none}.sb-brand-mark{font-family:var(--font-display);letter-spacing:5.4px;color:var(--sb-gold-pale);margin:0;font-size:18px;font-weight:600;line-height:18px}.sb-brand-sub{letter-spacing:2.89px;text-transform:uppercase;color:var(--sb-text-faint);margin:6px 0 0;font-size:8.5px;line-height:12.75px}.sb-collapse-btn{border-radius:var(--radius-xs);width:24px;height:24px;color:var(--sb-text-mute);cursor:pointer;background:0 0;border:1px solid #0000;place-items:center;padding:0;display:grid}.sb-collapse-btn:hover{color:var(--sb-gold);border-color:var(--sb-gold)}.sb-nav{scrollbar-width:thin;flex:1;padding:14px 0;overflow-y:auto}.sb-group{padding-left:2px}.sb-group-head{border-radius:var(--radius-md);background:var(--sb-wash-idle);color:var(--sb-gold-head-idle);letter-spacing:.54px;cursor:pointer;align-items:center;gap:8px;margin:0 0 4px;padding:10px 14px;font-size:13.5px;font-weight:700;line-height:20.25px;list-style:none;display:flex}.sb-group-head::-webkit-details-marker{display:none}.sb-group-head:after{color:var(--sb-gold-head-idle);content:"▾";margin-left:auto;font-size:21px;line-height:1}.sb-group:not([open])>.sb-group-head:after{transform:rotate(-90deg)}.sb-group-head:hover{background:var(--sb-wash-hover)}.sb-group[open]>.sb-group-head{background:var(--sb-wash-open);color:var(--sb-gold-head-open)}.sb-item{color:var(--sb-text);letter-spacing:.5px;align-items:center;margin-left:8px;padding:7px 16px 7px 18px;font-size:12.5px;font-weight:500;line-height:18.75px;text-decoration:none;display:flex;position:relative}.sb-item:hover{background:var(--sb-wash-idle);color:#fff}.sb-item-bar{background:0 0;width:2px;height:14px;position:absolute;left:0}.sb-item[aria-current=page]{background:var(--sb-wash-hover);color:var(--sb-gold-head-open);font-weight:600}.sb-item[aria-current=page] .sb-item-bar{background:var(--sb-gold)}.sb-acct-ops{gap:4px;padding:12px 16px;display:grid}.sb-logout{border:1px solid var(--sb-border);border-radius:var(--radius-xs);color:var(--sb-text-mute);cursor:pointer;background:0 0;padding:7px 12px;font-size:11.2px}.sb-logout:hover{color:var(--sb-gold);border-color:var(--sb-gold)}.sb-logout:disabled{opacity:.5;cursor:not-allowed}.sb-foot{border-top:1px solid var(--sb-line);padding:12px 16px 16px}.sb-user{color:var(--sb-text-dim);overflow-wrap:anywhere;margin:0;font-size:10px}.page-chrome{letter-spacing:.24px;color:var(--dim);justify-content:space-between;align-items:center;gap:8px 16px;margin:0 0 22px;font-size:12px;line-height:18px;display:flex}.page-chrome-breadcrumb{gap:8px;display:flex}.page-chrome-crumb{color:var(--dim);font-size:12px;display:flex}.page-chrome-crumb+.page-chrome-crumb:before{content:"›";margin-right:8px}.page-chrome-actions{gap:8px;display:flex}.page-head{justify-content:space-between;align-items:flex-end;gap:18px 24px;margin:20px 0 0;padding:0 0 18px;display:flex}.page-head-eyebrow{letter-spacing:2.2px;text-transform:uppercase;color:var(--accent);margin:0 0 10px;font-size:10px;font-weight:600;line-height:15px}.page-title{letter-spacing:.25px;margin:0;font-size:25px;font-weight:600;line-height:29.5px}.page-sub{letter-spacing:.13px;color:var(--dim);margin:12px 0 0;font-size:13px;line-height:19.5px}.btn-gold,.btn-outline{border-radius:var(--radius);letter-spacing:1.76px;text-transform:uppercase;white-space:nowrap;cursor:pointer;justify-content:center;align-items:center;padding:11px 22px;font-size:11px;line-height:11px;text-decoration:none;display:inline-flex}.btn-gold{color:#141a1a;box-shadow:var(--shadow-control);background:#c9a84c;border:0;font-weight:600}.btn-gold:hover{box-shadow:var(--shadow-control-hover);background:#d4b659}.btn-outline{border:1px solid var(--hair2);background:var(--card);color:var(--text);font-weight:400}.btn-outline:hover{color:var(--accent);border-color:var(--accent)}.btn-gold:disabled,.btn-outline:disabled{opacity:.5;cursor:not-allowed}.checkin-notice-overlay{z-index:50;background:#0f12108c;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.checkin-notice-card{border-color:var(--accent);text-align:center;width:min(100%,420px)}.checkin-notice-card h2{margin:0 0 12px;font-size:20px}.checkin-notice-card p{margin:0 0 18px;line-height:1.7}.btn-ghost{border-radius:var(--radius);border:1px solid var(--hair2);text-align:center;text-transform:uppercase;letter-spacing:1.26px;cursor:pointer;background:#fff;justify-content:center;align-items:center;padding:8px 14px;font-size:10.5px;font-weight:500;line-height:10.5px;display:inline-flex}.btn-ghost:disabled{opacity:.5;cursor:not-allowed}.btn-ghost:hover:not(:disabled){color:var(--accent);border-color:var(--accent)}.table-row-actions .btn-ghost{color:var(--dim);letter-spacing:1.44px;background:0 0;border:0;padding:0;font-weight:500;line-height:12px}.btn-danger{color:var(--red);border-radius:var(--radius);text-align:center;text-transform:uppercase;letter-spacing:1.32px;cursor:pointer;background:#fff;border:1px solid #b04a3e4d;justify-content:center;padding:8px 14px;font-size:10.5px;line-height:10.5px;display:flex}.btn-danger:hover{border-color:var(--red);background:#9b3f3514}.bay-quick-btn{cursor:pointer;background:#fff;border:1px solid #9a9a90;border-radius:2px}.bay-quick-btn-selected{background:var(--accent);border-color:var(--accent);color:#fff}.tbl-wrap{overflow-x:auto}.tbl{border:1px solid var(--hair);border-radius:var(--radius-lg);border-collapse:separate;border-spacing:0;width:100%}.tbl-fit{table-layout:fixed}.tbl thead th{background:var(--surface);text-align:left;height:35px;padding:8px 6px;font-size:12px;font-weight:600}.tbl tbody td{height:36px;padding:8px 6px;font-size:12px}.tbl tbody tr:hover{background:var(--surface)}.num{font-variant-numeric:tabular-nums}.tbl .dim{color:var(--dim)}.tbl .input{padding:6px;font-size:12px}.display-table .tbl tbody td{height:65px}.display-table .tbl tbody tr:last-child td{height:64px}.display-table .tbl td video{width:78px;height:44px;display:block}.table-row-actions{gap:8px;display:inline-flex}.text-accent{color:var(--accent);font-weight:600;text-decoration:none}.text-accent:hover{text-decoration:underline}.label{color:var(--dim);letter-spacing:1.4px;text-transform:uppercase;font-size:10px;font-weight:500;line-height:15px;display:block}summary.label{display:list-item}.hint{color:var(--dim);font-size:12px;line-height:19px}.muted{color:var(--dim)}.text-red{color:var(--red)}.input{border:1px solid var(--hair2);border-radius:var(--radius);color:var(--text);background:#fff;padding:12px 14px;font-size:14px}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}.input::placeholder{color:#9ca3af}#news-new-body{min-height:220px}.input:focus{box-shadow:var(--focus-ring);outline:none}.input-label{text-transform:uppercase;letter-spacing:.66px;margin:0 0 6px;font-size:11px;font-weight:700;line-height:16.5px;display:block}.admin input[type=checkbox],.admin input[type=radio]{accent-color:var(--accent)}.card{border:1px solid var(--hair);border-radius:var(--radius-lg);background:var(--card);box-shadow:var(--shadow-card);padding:20px 22px}.legal-doc{border:1.5px solid #c9a84c59;border-radius:14px;padding:0;overflow:hidden}.legal-doc-head{background:#c9a84c1a;align-items:flex-start;gap:14px;padding:18px 22px;display:flex}.legal-doc-titlewrap{flex:240px}.legal-doc-title{color:var(--accent);margin:0;font-size:20px;font-weight:700;line-height:26px}.legal-doc-head .hint{color:#2f322f;line-height:19.2px}.legal-doc-current{text-align:right;flex:none}.legal-doc-eff{color:var(--accent);margin:4px 0 0;font-size:16px;font-weight:700;line-height:24px}.legal-doc-current p{margin:0}.legal-doc-current p.legal-doc-eff{margin-top:4px}.legal-doc-body{flex-direction:column;gap:16px;padding:18px 22px;display:flex}.legal-doc-num{color:#0a0d0a;background:#97742a;border-radius:50%;flex:none;justify-content:center;align-items:center;width:34px;height:34px;font-size:16px;font-weight:800;line-height:24px;display:flex}a.card.block{border-color:#97742a;justify-content:space-between;align-items:center;display:flex}.ops-empty{border:1px dashed var(--hair2);border-radius:var(--radius-md);color:var(--dim);text-align:center;margin:auto 16px;padding:22px 16px;font-size:13px}.picker-empty{color:var(--dim);padding:12px 14px;font-size:13px}.badge{border-radius:var(--radius-pill);letter-spacing:.04em;text-transform:uppercase;background:0 0;border:1px solid #0000;padding:3px 10px;font-size:10px;font-weight:600;display:inline-block}.badge-active,.badge-booked{color:var(--green);background:#4caf5026}.badge-attended,.badge-redeemed{color:var(--accent);background:#c9a84c26}.badge-cancelled{color:var(--red);background:#f4433626}.badge-inactive{color:var(--red);background:#9b3f3524}.badge-team{color:var(--accent);background:#c9a84c26}.badge-expired,.badge-no_show{color:#565e6b;background:#6b728024}.admin .status-dot{letter-spacing:.02em;white-space:nowrap;color:#565e6b;background:#6b728024;border-radius:999px;align-items:center;padding:3px 10px;font-size:12px;font-weight:500;display:inline-flex}.admin .status-dot:before{content:none}.admin .status-dot-active,.admin .status-dot-arrived,.admin .status-dot-attended,.admin .status-dot-redeemed{color:var(--green);background:#2d663024}.admin .status-dot-booked{color:var(--blue);background:#2563eb24}.admin .status-dot-playing{color:var(--teal);background:#0f766e24}.admin .status-dot-danger{color:var(--red);background:#9b3f3524}.admin .status-dot-pending,.admin .status-dot-waiting{color:var(--amber);background:#b7791f24}.admin .status-dot-cancelled,.admin .status-dot-expired,.admin .status-dot-inactive,.admin .status-dot-no_show{color:#565e6b;background:#6b728024}.access-state,.login-shell{color:#0f1210;text-align:center;background:#fff;place-content:center;min-height:100vh;padding:32px;display:grid}.access-state.page-loading{text-align:left;color:#5a5d5b;min-height:0;padding:40px 0;font-size:13px}.access-state h1,.login-shell h1{letter-spacing:.25px;margin:0;font-size:25px;font-weight:600}.access-state p,.login-shell p:last-child{color:#5a5d5b;font-size:13px}.login-shell .sb-brand-mark{color:#97742a;justify-self:center;margin-bottom:22px}.login-shell .eyebrow,.access-state .eyebrow{letter-spacing:2.2px;text-transform:uppercase;color:#97742a;margin:0 0 10px;font-size:10px;font-weight:600}.auth-form{text-align:left;gap:9px;width:min(360px,100vw - 48px);margin:22px auto 16px;display:grid}.auth-form label{letter-spacing:2.2px;text-transform:uppercase;color:#5a5d5b;font-size:10px;font-weight:600}.auth-form input{border-radius:var(--radius);color:#0f1210;background:#fff;border:1px solid #9a9a90;min-height:44px;padding:9px 11px}.auth-form input:focus{box-shadow:var(--focus-ring);border-color:#97742a;outline:none}.auth-form button{border-radius:var(--radius);color:#141a1a;letter-spacing:1.76px;text-transform:uppercase;cursor:pointer;background:#c9a84c;border:0;min-height:44px;margin-top:8px;font-size:11px;font-weight:600}.auth-form button:hover{background:#d4b659}.auth-form button:disabled{cursor:not-allowed;opacity:.5}.login-shell [role=alert]{color:#9b3f35}.status-chip{border:1px solid var(--hair2);border-radius:var(--radius-pill);letter-spacing:1.4px;text-transform:uppercase;white-space:nowrap;align-items:center;min-height:26px;padding:0 10px;font-size:10px;display:inline-flex}.status-chip--amber{border-color:var(--accent);color:var(--accent);background:#c9a84c14}.status-chip--danger{color:var(--red);border-color:#b04a3e4d}.module-placeholder-body{margin-top:24px}.module-placeholder-body strong{margin-bottom:8px;font-size:15px;font-weight:600;display:block}.module-placeholder-body p{max-width:46ch;color:var(--dim);margin:0;font-size:13px;line-height:19.5px}.preview-banner{border-left:3px solid var(--accent);color:var(--accent);background:#c9a84c14;margin:0 0 16px;padding:10px 14px;font-size:12px}.admin-mobile-topbar{display:none}.admin-aside-mobile{z-index:50;width:var(--drawer-w);background-image:linear-gradient(var(--sb-gradient-top), var(--sb-gradient-bottom));border-right:1px solid var(--sb-edge);position:fixed;inset:0 auto 0 0}.admin-drawer-backdrop{z-index:40;background:#00000073;position:fixed;inset:0}.admin-hamburger{border:1px solid var(--sb-border);border-radius:var(--radius-md);width:36px;height:36px;color:var(--sb-text);cursor:pointer;background:0 0;place-items:center;font-size:18px;line-height:1;display:grid}.admin-hamburger:hover{color:var(--sb-gold);border-color:var(--sb-gold)}@media (width<=899.98px){.admin-aside-desktop{display:none}.admin-content{padding:0 var(--content-gutter-mobile) 72px}.admin-mobile-topbar{height:var(--topbar-h);background-image:linear-gradient(var(--sb-gradient-top), var(--sb-gradient-bottom));border-bottom:1px solid var(--sb-edge);color:#fff;align-items:center;gap:12px;padding:0 12px;display:flex}.admin-mobile-topbar .label{letter-spacing:2.2px;text-transform:uppercase;color:var(--sb-text-mute);font-size:11px}.page-head,.floor-seat-bookings-page .page-chrome{flex-direction:column;align-items:flex-start}.floor-seat-bookings-page .page-chrome-breadcrumb{flex-wrap:wrap}.floor-seat-bookings-page .tbl{min-width:620px}}@media (width>=900px){.admin-aside-mobile,.admin-drawer-backdrop{display:none}}.sb-collapse-btn--floating{z-index:10;border-color:var(--hair2);background:var(--card);color:var(--text);position:fixed;top:16px;left:12px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.offline-banner{border-left:3px solid var(--red);border-radius:var(--radius-xs);color:var(--red);background:#9b3f3514;margin:0 0 16px;padding:10px 14px;font-size:12px}.pwa-prompt{border:1px solid var(--hair);border-radius:var(--radius-md);background:var(--surface);justify-content:space-between;align-items:center;gap:12px;margin:0 0 16px;padding:10px 14px;font-size:12px;display:flex}.pwa-prompt .btn-outline{padding:7px 14px}.text-xs{font-size:12px;line-height:16px}.text-sm{font-size:14px;line-height:20px}.text-base{font-size:16px;font-weight:600;line-height:24px}.text-lg{font-size:18px;font-weight:600}h2.text-lg{font-size:15px;line-height:20.25px}.text-2xl{font-size:24px;font-weight:600}.text-xl{font-size:20px;font-weight:600}.font-semibold{font-weight:600}.font-mono{font-family:var(--font-mono)}.flex{display:flex}.flex-1{flex:1}.flex-wrap{flex-wrap:wrap}.grid{display:grid}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.gap-1{gap:4px}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.space-y-2>*+*{margin-top:8px}.space-y-3>*+*{margin-top:12px}.space-y-4>*+*{margin-top:16px}.space-y-5>*+*{margin-top:20px}.space-y-6>*+*{margin-top:24px}.mt-1{margin-top:4px}.mt-2{margin-top:8px}.mt-3{margin-top:12px}.mt-4{margin-top:16px}.mb-1{margin-bottom:4px}.px-2{padding-left:8px;padding-right:8px}.py-1{padding-top:4px;padding-bottom:4px}.w-20{width:80px}.w-24{width:96px}.w-28{width:112px}.w-32{width:128px}.w-36{width:144px}.max-w-2xl{max-width:672px}.text-right{text-align:right}.whitespace-nowrap{white-space:nowrap}.no-underline{text-decoration:none}.underline{text-decoration:underline}.rounded{border-radius:4px}.flex-col{flex-direction:column}.inline-flex{display:inline-flex}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.mt-6{margin-top:24px}.mb-0{margin-bottom:0}.ml-1{margin-left:4px}.px-1{padding-left:4px;padding-right:4px}.px-3{padding-left:12px;padding-right:12px}.space-y-8>*+*{margin-top:32px}.w-4{width:16px}.h-4{height:16px}.max-w-xl{max-width:576px}.max-w-4xl{max-width:896px}.min-w-\[140px\]{min-width:140px}.min-w-\[160px\]{min-width:160px}.min-w-\[180px\]{min-width:180px}.min-w-\[220px\]{min-width:220px}.hover\:underline:hover{text-decoration:underline}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;user-select:none}@media (width>=768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-\[180px_1fr\]{grid-template-columns:180px 1fr}}.input{width:100%}.dim{color:var(--dim)}.serif{font-family:var(--font-sans)}@media (width>=640px){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=1024px){.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.block{display:block}.hidden{display:none}.w-16{width:64px}.py-1\.5{padding-top:6px;padding-bottom:6px}.mono{font-family:var(--font-mono)}.accent-\[var\(--accent\)\]{accent-color:var(--accent)}.justify-center{justify-content:center}.border-accent{border-color:var(--accent)}.mb-3{margin-bottom:12px}.shrink-0{flex-shrink:0}.th-sort{color:inherit;font:inherit;cursor:pointer;background:0 0;align-items:center;gap:4px;padding:0;display:inline-flex}.tbl thead th[aria-sort] .th-sort,.tbl thead th .th-sort:hover{color:var(--accent)}.tbl .tbl-row-muted td,.tbl .tbl-row-muted td.dim,.tbl .tbl-row-muted td .dim,.tbl .tbl-row-muted td .muted{color:var(--hair2)}.tbl .tbl-row-clickable{cursor:pointer}.stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.stat-tile{border:1px solid var(--hair);background:#fff;border-radius:3px;min-height:96px;padding:16px 18px 14px}.kpi-num{font-size:32px;font-family:var(--font-sans)}.stat-tile-label{color:var(--dim);letter-spacing:.06em;text-transform:uppercase;margin-left:6px;font-size:11px}.stat-tile-delta{font-family:var(--font-mono);margin-top:6px;font-size:10px;display:block}.kpi-delta-green{color:var(--green)}.kpi-delta-grey{color:var(--dim)}.kpi-delta-red{color:var(--red)}.stat{border:1px solid var(--hair);border-radius:var(--radius-lg);background:#fff;min-width:140px;padding:12px 14px}.stat-value{font-variant-numeric:tabular-nums;font-size:22px;font-weight:600;line-height:28px;display:block}.stat-label{color:var(--dim);font-size:12px;line-height:16px;display:block}.search-field{flex:320px;max-width:480px}.filter-field{flex-direction:column;gap:6px;display:flex;position:relative}.filter-menu{z-index:40;background:var(--card);border:1px solid var(--hair2);border-radius:var(--radius);min-width:128px;box-shadow:var(--shadow-card);padding:4px;position:absolute;top:calc(100% + 4px);left:0}.filter-menu-item{border-radius:var(--radius);width:100%;color:var(--text);text-align:left;white-space:nowrap;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:7px 10px;font-size:12px;display:flex}.filter-menu-item:hover{background:var(--surface);color:var(--accent)}.filter-menu-check{visibility:hidden;color:var(--accent);font-weight:600}.filter-menu-item-selected{color:var(--accent);font-weight:600}.filter-menu-item-selected .filter-menu-check{visibility:visible}.suggest-menu{z-index:40;background:var(--card);border:1px solid var(--hair2);border-radius:var(--radius);box-shadow:var(--shadow-card);max-height:240px;margin-top:4px;padding:4px;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.suggest-item{border-radius:var(--radius);width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:12px;padding:8px 10px;font-size:13px;display:flex}.suggest-item:hover{background:var(--surface);color:var(--accent)}.suggest-empty{color:var(--dim);padding:8px 10px;font-size:12px}.w-full{width:100%}.items-stretch{align-items:stretch}.self-center{align-self:center}.bg-black{background:#000}.object-cover{object-fit:cover}.aspect-square{aspect-ratio:1}@media (width>=640px){.sm\:aspect-video{aspect-ratio:16/9}}.err{color:var(--red);margin:0;font-size:13px}.member-card-box{width:min(100%,560px);container-type:inline-size}.member-card{--member-metal:var(--accent);--member-metal-bright:#f2d985;--member-metal-soft:#c9a84c3d;--text:#f3ecd9;--bg:#14110a;isolation:isolate;aspect-ratio:1.586;border:1px solid color-mix(in srgb, var(--member-metal) 68%, #fff);width:100%;color:var(--text);background:radial-gradient(circle at 82% 16%, var(--member-metal-soft), transparent 34%), linear-gradient(115deg, #ffffff14 0, transparent 25%, transparent 67%, #ffffff0d 100%), linear-gradient(145deg, #17170f 0, var(--bg) 48%, #161207 100%);border-radius:clamp(18px,4cqw,26px);flex-direction:column;justify-content:space-between;padding:clamp(22px,5cqw,34px);display:flex;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff29,inset 0 -1px #000000b3,0 22px 50px #00000061,0 5px 14px #0000004d}.member-card:before{content:"";border:1px solid color-mix(in srgb, var(--member-metal) 38%, transparent);border-radius:calc(-7px + clamp(18px,4cqw,26px));inset:8px}.member-card:after,.member-card:before{z-index:-1;pointer-events:none;position:absolute}.member-card:after{content:"M";color:color-mix(in srgb, var(--member-metal) 9%, transparent);font-family:var(--font-display), Georgia, serif;font-size:clamp(180px,48cqw,290px);font-weight:700;line-height:1;bottom:-.28em;right:-.04em}.member-card[data-tier=general]{--member-metal:#b9bec0;--member-metal-bright:#f1f3f2;--member-metal-soft:#bec6c624;--bg:#141613;background:radial-gradient(circle at 82% 16%, var(--member-metal-soft), transparent 34%), linear-gradient(115deg, #ffffff12 0, transparent 28%, transparent 68%, #ffffff0a 100%), linear-gradient(145deg, #171a18 0, var(--bg) 52%, #121513 100%)}.member-card__glint{z-index:-1;pointer-events:none;background:linear-gradient(90deg,#0000,#ffffff13,#0000);width:16%;height:210%;position:absolute;top:-55%;left:34%;transform:rotate(28deg)}.member-card__footer,.member-card__header{justify-content:space-between;align-items:center;gap:16px;display:flex}.member-card__brand{color:var(--member-metal-bright);font-family:var(--font-display), Georgia, serif;letter-spacing:.28em;text-shadow:0 1px 8px var(--member-metal-soft);white-space:nowrap;font-size:clamp(17px,4cqw,23px);font-weight:700;line-height:1}.member-card__tier{color:var(--member-metal-bright);letter-spacing:.16em;text-align:right;text-transform:uppercase;font-size:clamp(10px,2.5cqw,12px);font-weight:600}.member-card__identity{min-width:0;padding-block:clamp(18px,5cqw,32px)}.member-card__name{color:var(--text);font-family:var(--font-display), "Noto Serif TC", serif;letter-spacing:.06em;text-overflow:ellipsis;white-space:nowrap;margin-bottom:10px;font-size:clamp(22px,6cqw,32px);font-weight:600;line-height:1.15;overflow:hidden}.member-card__no{color:var(--text);font-variant-numeric:tabular-nums;letter-spacing:clamp(.08em,.8cqw,.16em);overflow-wrap:anywhere;text-shadow:0 1px 12px #0009;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:clamp(17px,4.5cqw,24px);font-weight:600;line-height:1.2}.member-card__footer{border-top:1px solid color-mix(in srgb, var(--member-metal) 34%, transparent);letter-spacing:.08em;justify-content:flex-start;padding-top:12px;font-size:clamp(10px,2.5cqw,12px)}.member-card__issue-label{color:#ffffffc7}.member-card__expiry-label{margin-left:16px}.member-card__issue{color:var(--text);font-variant-numeric:tabular-nums;font-weight:600}@container (width<=380px){.member-card__header{align-items:flex-start}.member-card__tier{max-width:52%}}.relative{position:relative}.text-center{text-align:center}.font-medium{font-weight:500}.p-3{padding:12px}.py-2{padding-top:8px;padding-bottom:8px}.mb-2{margin-bottom:8px}.w-5{width:20px}.gap-1\.5{gap:6px}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.transition-colors{transition:color .15s,background-color .15s,border-color .15s}@media (width>=1024px){.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:col-span-2{grid-column:span 2/span 2}.lg\:mt-7{margin-top:28px}}.\!p-4{padding:16px!important}@media (width>=640px){.sm\:\!p-6{padding:24px!important}}.cal{display:block}.cal-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.cal-title{margin:0;font-size:14px;font-weight:600}.cal-nav{border:1px solid var(--hair2);border-radius:var(--radius-xs);color:var(--text);cursor:pointer;background:#fff;padding:2px 10px;font-size:14px;line-height:20px}.cal-nav:hover{color:var(--accent);border-color:var(--accent)}.cal-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.cal-wd{color:var(--dim);text-align:center;padding:4px 0;font-size:11px}.cal-empty{min-height:32px}.cal-day{border-radius:var(--radius-xs);min-height:32px;color:var(--text);cursor:pointer;background:0 0;border:1px solid #0000;padding:0;font-size:13px}.cal-day:hover{border-color:var(--accent);color:var(--accent)}.cal-day-selected{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.cal-day-disabled{color:var(--dim);cursor:not-allowed}.cal-day-disabled:hover{color:var(--dim);border-color:#0000}.cal-lg .cal-day{min-height:38px;font-size:14px}.cell{border:1px solid var(--hair2);border-radius:var(--radius-xs);color:var(--text);cursor:pointer;background:#fff;padding:8px 0;font-size:12px}.cell:hover{border-color:var(--accent);color:var(--accent)}.cell-selected{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.cell-selected:hover{border-color:var(--accent);color:#fff}.cell-past{color:var(--dim);background:var(--surface);cursor:not-allowed}.cell-past:hover{border-color:var(--hair2);color:var(--dim)}.floor-grid{grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:6px;display:grid}.floor-marker{border:1px solid var(--hair2);border-radius:var(--radius-xs);color:var(--text);cursor:pointer;background:#fff;padding:10px 4px;font-size:12px}.floor-marker:hover{border-color:var(--accent);color:var(--accent)}.floor-legend-pill{border:1px solid var(--hair2);border-radius:var(--radius-pill);color:var(--dim);padding:3px 10px;font-size:11px;display:inline-block}.border-b{border-bottom:1px solid var(--hair2)}.px-4{padding-left:16px;padding-right:16px}.justify-end{justify-content:flex-end}.booking-new-title{letter-spacing:.16px;margin:0;font-size:16px;font-weight:600;line-height:21.6px}.cell-past{background:#e8e8e0}.console-actions{flex-wrap:wrap;gap:10px;display:flex}.ops-board{grid-template-columns:1.6fr 1fr 1.6fr;align-items:start;gap:18px;margin-top:24px;display:grid}@media (width<=900px){.ops-board{grid-template-columns:1fr}}.ops-panel{border:1px solid var(--hair);background:#fff;border-radius:10px;flex-direction:column;min-height:240px;display:flex;box-shadow:0 1px 2px #0f12100a,0 18px 40px -30px #0f121073}.ops-panel-dep{border-top:2px solid var(--accent)}.ops-panel-head{justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 16px 12px;display:flex}.ops-mid-head{flex-direction:column;align-items:flex-start;gap:6px}.ops-eyebrow{color:var(--accent);letter-spacing:2.31px;margin:0 0 3px;font-size:10.5px;font-weight:600;line-height:15.75px}.ops-title{letter-spacing:.88px;margin:0;font-size:22px;font-weight:600;line-height:29.7px}.ops-count{font-size:26px;font-weight:700;line-height:26px}.ops-counts{align-items:center;gap:8px;display:flex}.ops-count-over{border-radius:var(--radius-pill);color:#fff;background:#9b3f35;padding:3px 9px;font-size:12px;font-weight:700;line-height:18px}.ops-mid-hero{align-items:baseline;gap:8px;margin:0;display:flex}.ops-mid-hero b{font-size:30px;font-weight:700;line-height:30px}.ops-mid-hero span{color:var(--dim);font-size:12px}.ops-table{flex-direction:column;margin:0 16px;display:flex}.ops-table-head,.ops-table-row{grid-template-columns:56px minmax(0,1fr) minmax(72px,auto) 68px;align-items:center;gap:10px;display:grid}.ops-table-head{border-bottom:1px solid var(--hair2);color:var(--dim);padding:8px 0;font-size:12px}.ops-table-row{border-bottom:1px solid var(--hair2);padding:10px 0;font-size:13px}.ops-table-row:last-child{border-bottom:0}.ops-table-time{font-variant-numeric:tabular-nums;align-items:center;gap:6px;font-weight:600;display:inline-flex}.ops-dot{background:var(--dim);border-radius:50%;width:6px;height:6px}.ops-table-guest{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;display:inline-flex;overflow:hidden}.ops-table-bay{color:var(--dim);white-space:nowrap;font-size:12px}.ops-table-action .btn-gold{padding:4px 12px;font-size:12px}.ops-table-more{color:var(--dim);margin:8px 0 0;font-size:12px}.ops-table-head-3{grid-template-columns:minmax(0,auto) minmax(0,1fr) auto}.ops-table-occupancy{grid-template-columns:minmax(0,auto) minmax(0,1fr) auto auto}.console-row{grid-template-columns:minmax(0,190px) minmax(0,1fr) auto auto;display:grid}.console-row-bay{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.console-row-minutes{color:var(--dim);white-space:nowrap;align-items:baseline;gap:10px;display:inline-flex}.console-row-time{color:var(--text);font-variant-numeric:tabular-nums;font-weight:600}.console-row .btn-gold{padding:6px 14px;font-size:12px}.ops-table-occupancy .ops-table-seat,.ops-table-head-3 .ops-table-seat{text-overflow:ellipsis;overflow:hidden}.ops-table-right{text-align:right;white-space:nowrap}.ops-table-over{color:var(--danger,#a3352b);font-weight:600}.ops-table-seat{white-space:nowrap;align-items:baseline;gap:6px;display:inline-flex}.ops-table-zone{color:var(--dim);font-size:11px;font-style:normal}.ops-table-seat b{font-weight:700}.ops-empty{border:1px dashed var(--hair2);color:var(--dim);text-align:center;border-radius:8px;margin:auto 16px;padding:22px 16px;font-size:13px;line-height:19.5px}.ops-secondary-head{align-items:center;gap:12px;margin-top:24px;display:flex}.ops-secondary-label{color:var(--dim);letter-spacing:2.31px;font-size:10.5px;font-weight:600;line-height:15.75px}.stat-line{border:1px solid var(--hair);background:#fff;border-radius:8px;flex-wrap:wrap;align-items:stretch;margin-top:24px;display:flex;box-shadow:0 1px 2px #0f12100a,0 4px 14px #0f12100d}.stat-line-item{white-space:nowrap;color:var(--text);align-items:baseline;gap:6px;padding:10px 12px;text-decoration:none;display:flex}.stat-line-item+.stat-line-item{box-shadow:var(--hair) -1px 0 0 0}.stat-line-label{color:var(--dim);letter-spacing:.44px;font-size:11px;line-height:16.5px}.stat-line-item b{font-size:14px;font-weight:700;line-height:14px}.stat-line-item b.is-accent{color:var(--accent)}.stat-line-item b.is-alert{color:#9b3f35}.btn-backup{border:1px solid var(--hair2);color:var(--dim);letter-spacing:.22px;white-space:nowrap;cursor:pointer;background:0 0;border-radius:7px;padding:5px 11px;font-size:11px;line-height:16px}.console-tabs{border-bottom:1px solid var(--hair);flex-wrap:wrap;gap:4px;margin-top:16px;display:flex}.console-tab{color:var(--fg2);cursor:pointer;background:0 0;border-bottom:2px solid #0000;align-items:center;gap:8px;margin-bottom:-1px;padding:9px 14px;font-weight:500;display:flex}.console-tab.is-active{border-bottom-color:var(--accent);color:var(--text)}.console-tab-count{border:1px solid var(--hair2);border-radius:var(--radius-pill);background:var(--surface);color:var(--dim);padding:1px 7px;font-size:12px;font-weight:500;line-height:18px}.console-tab.is-active .console-tab-count{border-color:var(--accent);background:var(--accent);color:#fff}.queue-empty{border:1px dashed var(--hair2);color:var(--dim);text-align:center;border-radius:6px;padding:18px 16px;font-size:13px;line-height:19.5px}.type-tag{border:1px solid var(--hair2);color:var(--dim);letter-spacing:.88px;border-radius:3px;justify-content:center;align-items:center;padding:1px 7px;font-size:11px;font-weight:600;line-height:16.5px;display:inline-flex}.sep{color:#cfccc4;margin:0 9px;display:inline}.floor-live-bar{border-bottom:1px solid var(--hair);flex-wrap:wrap;align-items:center;gap:12px;margin-top:20px;padding:8px 0 10px;display:flex}.floor-live-left{align-items:center;gap:8px;display:flex}.floor-live-dot{border-radius:var(--radius-pill);background:var(--accent);width:12px;height:12px}.floor-live-label{color:var(--accent);letter-spacing:1.6px;font-size:20px;font-weight:800;line-height:30px;display:block}.floor-live-stats{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.floor-stat-chip{border:1px solid var(--hair);border-radius:var(--radius-pill);align-items:center;gap:6px;padding:3px 10px;display:flex}.floor-stat-label{color:var(--fg2);font-size:11px;line-height:16.5px}.floor-stat-num{color:var(--accent);font-size:13px;font-weight:700;line-height:19.5px}.floor-live-right{margin-left:auto}.floor-section{margin-top:20px}.floor-zone-head{flex-wrap:wrap;align-items:baseline;gap:14px;margin-bottom:12px;display:flex}.floor-zone-eyebrow{color:var(--dim);letter-spacing:2.2px;margin:0 0 2px;font-size:10px;font-weight:600;line-height:15px}.floor-zone-title{margin:0;font-size:18px;font-weight:600;line-height:24.3px}.floor-zone-meta{align-items:baseline;gap:6px;display:flex}.floor-legend{flex-wrap:wrap;gap:6px 14px;margin-bottom:10px;display:flex}.floor-legend-pill{border:1px solid var(--hair);border-radius:var(--radius-pill);color:var(--fg2);background:#ffffff05;align-items:center;gap:6px;padding:3px 10px;font-size:12px;line-height:18px;display:flex}.floor-statekey-dot{border-radius:var(--radius-pill);background:#ececec;flex:none;width:12px;height:12px;box-shadow:0 0 0 1px #0000002e}.floor-typekey-ring{border:2px solid var(--hair2);border-radius:var(--radius-pill);background:#fff;flex:none;width:12px;height:12px}.floor-legend-sep{background:var(--hair);width:1px;height:26px}.floor-overlay{position:relative}.floor-bg{border:1px solid var(--hair2);background:var(--surface);border-radius:10px;width:100%;height:auto;display:block;box-shadow:0 10px 30px #00000047}.floor-marker{border:2px solid var(--hair2);border-radius:var(--radius-pill);color:#555;letter-spacing:.22px;text-align:center;cursor:pointer;background:#ececec;justify-content:center;align-items:center;width:34px;height:34px;padding:0;font-size:11px;font-weight:700;line-height:11px;display:flex;position:absolute;transform:translate(-50%,-50%);box-shadow:0 1px 5px #0000004d}.stat-line-item{flex:1;justify-content:center}.floor-legend-item{font-size:12px;line-height:18px}.btn-gold.text-xs,.btn-outline.text-xs{height:30px;padding:0 14px;font-size:11px}.console-hint-line{color:var(--dim);margin:0;font-size:12px;line-height:18px}.queue-list{flex-direction:column;gap:8px;margin:8px 0 0 3px;padding-left:16px;display:flex}.queue-row{border:1px solid var(--hair);background:#fff;border-radius:6px;align-items:center;gap:14px;padding:12px 16px;display:flex}.queue-time{font-size:17px;font-weight:700;line-height:19.55px}.queue-main{flex:1}.queue-name{flex-wrap:wrap;align-items:center;gap:8px;font-size:15px;font-weight:600;line-height:22.5px;display:flex}.queue-meta{color:var(--dim);margin-top:2px;font-size:12px;line-height:18px}.queue-bay{color:var(--fg2);text-align:right;font-size:13px;font-weight:600;line-height:19.5px}.stat-line-link,.stat-line-link .stat-line-label,.stat-line-link b{color:var(--accent)}.col-span-2{grid-column:span 2/span 2}.w-56{width:224px}.aspect-\[3\/2\]{aspect-ratio:3/2}.flex-shrink-0{flex-shrink:0}.overflow-hidden{overflow:hidden}.break-all{word-break:break-all}.border{border-style:solid;border-width:1px}.space-y-1>*+*{margin-top:4px}.ml-2{margin-left:8px}.ml-3{margin-left:12px}.space-y-0\.5>*+*{margin-top:2px}.card-accent-left{border-left:3px solid var(--accent)}.settlement-overview .card{min-width:fit-content}.settlement-overview p{margin:0}.settlement-overview p.mb-1{margin-bottom:4px}.settlement-overview p.mt-1{margin-top:4px}.settlement-overview p.mt-2{margin-top:8px}.refunds-pending-card p{margin:0}.refunds-pending-card p.mb-3{margin-bottom:12px}.pool-stat-card p{margin:0}.pool-stat-card p.mt-1{margin-top:4px}.pool-stat-card .text-2xl{line-height:32px}.coupon-detail-card p{margin:0}.coupon-detail-card p.hint{margin-top:6px}.coupon-detail-card p.mb-1{margin-bottom:4px}.place-grid{grid-template-columns:188px 1fr;align-items:start;gap:18px;display:grid}.place-page .page-head{padding-bottom:0}.place-page .page-head .page-title{font-size:16px}.place-page>.place-intro{margin-top:6px}.place-intro .hint{margin:0}.place-grid .card{padding:12px}.place-grid .card p{margin:0}.place-list{scrollbar-width:thin;scrollbar-color:#6b6b6b transparent;flex-direction:column;gap:4px;max-height:520px;margin-top:8px;display:flex;overflow-y:auto}.place-list::-webkit-scrollbar{width:8px}.place-list::-webkit-scrollbar-thumb{background:#6b6b6b;border-radius:4px}.place-chip{border-radius:2px;flex:none;width:9px;height:9px}.place-item{border:1px solid var(--hair);background:var(--card);cursor:pointer;border-radius:6px;flex-direction:column;align-items:stretch;gap:3px;padding:7px 10px;display:flex}.place-item-top{flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:6px;display:flex;overflow:hidden}.place-item-bay{color:var(--dim);word-break:break-word;font-size:11px;line-height:1.3}.place-item:hover{border-color:var(--accent)}.place-item[data-active=true]{border-color:var(--accent);background:#97742a1a;box-shadow:0 0 0 2px #97742a2e}.place-item .mono{white-space:nowrap;font-family:JetBrains Mono,SF Mono,Menlo,Consolas,monospace;font-size:12px;font-weight:700}.place-item[data-placed=true] .mono{color:var(--green)}.place-canvas{border:1px solid var(--hair);background:var(--surface);cursor:crosshair;border-radius:4px;width:100%;position:relative;overflow:hidden}.place-canvas img{-webkit-user-select:none;user-select:none;pointer-events:none;width:100%;height:auto;display:block}.place-dot-touch{touch-action:none;transition:transform .12s,box-shadow .12s}.place-dot-touch:before{content:"";border-radius:50%;position:absolute;inset:-12px}.blocks-row-actions{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.blocks-row-actions .btn-gold,.blocks-row-actions .btn-ghost{padding:5px 12px}.b1-slot-form .input{height:33px;padding-top:0;padding-bottom:0}.booking-server-sort-active{border-color:var(--accent);color:var(--accent);background:#97742a14}.block-schedule{border:1px solid var(--hair);border-radius:var(--radius-lg);background:var(--card);padding:16px}.block-schedule h2{margin:0}.block-schedule-date .input{width:auto;min-width:148px}.block-schedule-legend{border:1px solid var(--hair);border-radius:var(--radius-md);background:var(--surface);flex-wrap:wrap;align-items:center;gap:8px 14px;padding:8px 10px;display:flex}.block-schedule-legend-item{color:var(--fg2);white-space:nowrap;align-items:center;gap:6px;font-size:11px;display:inline-flex}.block-schedule-legend-swatch{border:1px solid var(--hair2);border-radius:3px;width:18px;height:18px}.block-schedule-display-options{color:var(--fg2);font-size:12px}.block-schedule-scroll{border:1px solid var(--hair);background:var(--card);max-height:min(62vh,680px);overflow:auto}.block-schedule-grid{touch-action:pan-x pan-y;grid-template-columns:82px repeat(var(--schedule-bays), 48px);grid-template-rows:repeat(3, 34px) repeat(var(--schedule-times), 48px);isolation:isolate;width:max-content;min-width:100%;display:grid}.block-schedule-corner,.block-schedule-header,.block-schedule-time{border-right:1px solid var(--hair);border-bottom:1px solid var(--hair);background:var(--surface);min-width:0;color:var(--text);justify-content:center;align-items:center;padding:5px 7px;font-size:11px;font-weight:700;display:flex}.block-schedule-corner{z-index:8;grid-column:1;position:sticky;left:0}.block-schedule-header{z-index:6;position:sticky}.block-schedule-head-1{grid-row:1;top:0}.block-schedule-head-2{grid-row:2;top:34px}.block-schedule-head-3{grid-row:3;top:68px}.block-schedule-time{z-index:4;font-variant-numeric:tabular-nums;grid-column:1;font-family:JetBrains Mono,SF Mono,Menlo,Consolas,monospace;position:sticky;left:0}.block-schedule-cell{border:0;border-right:1px solid var(--hair);border-bottom:1px solid var(--hair);width:48px;min-width:48px;height:48px;font:inherit;color:#0000;cursor:crosshair;-webkit-user-select:none;user-select:none;border-radius:0;padding:0;font-size:0;position:relative}.block-schedule-cell:hover:after,.block-schedule-cell:focus-visible:after{content:attr(data-tooltip);z-index:20;border:1px solid var(--hair2);background:var(--text);width:max-content;max-width:260px;color:var(--surface);text-align:left;white-space:normal;pointer-events:none;border-radius:5px;padding:6px 8px;font-size:11px;line-height:1.45;position:absolute;bottom:calc(100% + 7px);left:50%;transform:translate(-50%)}.block-schedule-cell:focus-visible{outline:2px solid var(--accent);outline-offset:-3px;z-index:2}.block-schedule-inactive-start{border-left:3px solid var(--neutral)!important}.block-schedule-status-free{color:var(--green);background:#f6fbf5}.block-schedule-status-booked{background:#3868b524}.block-schedule-status-in_use{background:#2d66302e}.block-schedule-status-block{background:#97742a33}.block-schedule-status-hold,.block-schedule-status-reserved{background:#be801e29}.block-schedule-status-inactive{color:var(--neutral);cursor:not-allowed;background:#e5e5df}.block-schedule-status-closed,.block-schedule-status-past{color:var(--dim);cursor:not-allowed;background:#f1f1ea}.block-schedule-status-conflict{color:var(--red);cursor:not-allowed;background:#9b3f3533}.block-schedule-preview{box-shadow:inset 0 0 0 2px #97742a8c}.block-schedule-selected{box-shadow:inset 0 0 0 2px var(--accent);background:#97742a3d}.block-schedule-rejected{box-shadow:inset 0 0 0 2px var(--red);background:#9b3f3547;animation:.2s ease-out schedule-rejected}.block-schedule-form .input{min-width:220px}@keyframes schedule-rejected{0%{transform:scale(.94)}to{transform:scale(1)}}@media (width<=720px){.block-schedule{padding:12px}.block-schedule-form label,.block-schedule-form .input{width:100%}}.customer-lock{border:1px solid var(--hair2);background:#00000005;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.customer-lock-info{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.customer-lock-name{font-weight:600}.customer-lock-info>span+span:before{content:"·";color:var(--hair2);margin-right:10px}.link-button{color:var(--fg2);cursor:pointer;background:0 0;border:0;padding:0;font-size:13px;text-decoration:underline}.link-button:hover{color:var(--accent)}.duration-card{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.duration-range{font-size:20px;font-weight:600}.duration-stepper{align-items:center;gap:12px;display:flex}.duration-step{border:1px solid var(--hair2);width:34px;height:34px;color:var(--fg2);cursor:pointer;background:0 0;border-radius:6px;font-size:16px;line-height:1}.duration-step:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.duration-step:disabled{opacity:.35;cursor:not-allowed}.duration-value{text-align:center;min-width:76px;font-size:18px;font-weight:600}.quote-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.quote-total{font-size:24px;font-weight:600}.quote-breakdown-title{margin-top:16px}.quote-line{justify-content:space-between;gap:12px;padding:6px 0;font-size:14px;display:flex}.quote-band{color:var(--accent)}.quote-line-total{border-top:1px solid var(--hair2);margin-top:6px;padding-top:10px;font-weight:600}.quote-note{margin-top:10px;font-size:12px}.maintenance-screen{z-index:2147483647;color:#f2f4f6;-webkit-font-smoothing:antialiased;background:#14171a;justify-content:center;align-items:center;padding:24px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang TC,Noto Sans TC,sans-serif;display:flex;position:fixed;inset:0}.maintenance-card{text-align:center;width:100%;max-width:420px}.maintenance-title{letter-spacing:.02em;margin:0 0 12px;font-size:24px;font-weight:600}.maintenance-message{color:#c3c9d0;margin:0 0 20px;font-size:15px;line-height:1.8}.maintenance-contact{color:#8f979f;margin:0;font-size:14px;line-height:1.8}.maintenance-contact a{color:#f2f4f6;text-underline-offset:3px}
