@font-face{font-family:Lexend;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/c4b3d94a1eb74f2c-s.p.0k8kxrcfbaq1s.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Lexend;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bcca9d8f99fc8264-s.17thoc14mwfyx.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lexend;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/408869cf0d25d9f9-s.p.2svk7cnw5x6df.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lexend Fallback;src:local(Arial);ascent-override:90.98%;descent-override:22.74%;line-gap-override:0.0%;size-adjust:109.91%}.QoRCQW_className{font-family:Lexend,Lexend Fallback;font-style:normal}.QoRCQW_variable{--font-heading:"Lexend", "Lexend Fallback"}
@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(../media/77d9a04c69f7b11b-s.p.1uklb5el4zgvl.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(../media/d81b50f8e1aba043-s.05i4gb4p0piv4.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(../media/dd018b41519c2d93-s.p.2g-0we2o5_ngd.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(../media/b4fb5dfe9580f890-s.p.1zvg0ggiaivzo.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(../media/1f6c95fdd7b08cc8-s.0jaqhc1tb-5xm.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(../media/7f1976624c2b6255-s.p.1hvvd1t-trplq.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro Fallback;src:local(Arial);ascent-override:90.61%;descent-override:24.01%;line-gap-override:0.0%;size-adjust:110.36%}.lWskCq_className{font-family:Be Vietnam Pro,Be Vietnam Pro Fallback;font-style:normal}.lWskCq_variable{--font-body:"Be Vietnam Pro", "Be Vietnam Pro Fallback"}
:root{--brand:#ff6400;--brand-soft:#fff1e8;--bg:#f6f6f6;--surface:#fff;--ink:#1c1c1a;--muted:#77756f;--line:#e7e5de;--danger:#b3382c;--ok:#2f7d4f;--warn:#a8731a;--radius:16px;--page:100%}@media (min-width:768px){:root{--page:820px}}@media (min-width:1024px){:root{--page:1180px}}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:var(--font-body), system-ui, sans-serif;font-size:15px;line-height:1.5}h1,h2,h3,.logo{font-family:var(--font-heading), system-ui, sans-serif;font-weight:500}h1{font-size:28px}h2{margin-bottom:12px;font-size:20px}a{color:inherit;text-decoration:none}.container{max-width:var(--page);margin:0 auto;padding:20px 16px 96px}.header{z-index:10;background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0}.header-inner{max-width:var(--page);align-items:center;gap:24px;height:56px;margin:0 auto;padding:0 16px;display:flex}.logo{letter-spacing:-.02em;color:var(--brand);font-size:26px;font-weight:700}.nav{color:var(--muted);flex:1;gap:20px;display:flex}.nav a:hover{color:var(--ink)}.header-user{color:var(--muted);align-items:center;gap:12px;display:flex}input,select,textarea{font:inherit;color:inherit;background:var(--surface);border:1px solid var(--line);border-radius:14px;width:100%;padding:12px 14px}input:focus,select:focus,textarea:focus{outline:2px solid var(--brand);outline-offset:-1px}label{color:var(--muted);gap:4px;font-size:13px;display:grid}.form{gap:12px;display:grid}.form-inline{align-items:center;gap:8px;display:inline-flex}.row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.btn{font:inherit;cursor:pointer;border:1px solid var(--brand);border-radius:14px;justify-content:center;align-items:center;padding:14px 18px;font-size:15px;font-weight:500;line-height:1;transition:opacity .15s,border-color .15s;display:inline-flex}.btn:disabled{opacity:.5;cursor:wait}.btn-primary{background:var(--brand);color:#fff}.btn-primary:hover:not(:disabled){opacity:.85}.btn-ghost{color:var(--ink);border-color:var(--line);background:0 0}.btn-ghost:hover:not(:disabled){border-color:var(--ink)}.btn-danger{color:var(--danger);border-color:var(--line);background:0 0}.btn-danger:hover:not(:disabled){border-color:var(--danger)}.msg{font-size:13px}.msg-error{color:var(--danger)}.card{background:var(--surface);border-radius:var(--radius);padding:20px;box-shadow:0 1px 2px #0000000a}.grid{grid-template-columns:1fr 1fr;align-items:start;gap:20px;display:grid}.grid-3{grid-template-columns:repeat(3,1fr)}.stat{gap:4px;display:grid}.stat strong{font-family:var(--font-heading), sans-serif;font-size:28px;font-weight:500}.section{margin-top:36px}.section-head{justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;display:flex}.section-head h2{margin-bottom:0}.item{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:14px 0;display:flex}.item:last-child{border-bottom:0}.item-main{gap:2px;display:grid}.item-sub{color:var(--muted);font-size:13px}.actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.badge{white-space:nowrap;background:var(--line);border-radius:8px;align-items:center;padding:9px 12px;font-size:13px;line-height:1;display:inline-flex}.badge-pending,.badge-draft{color:var(--warn)}.badge-confirmed,.badge-active,.badge-completed{color:var(--ok)}.badge-cancelled,.badge-blocked,.badge-hidden{color:var(--danger)}.empty{color:var(--muted);padding:24px 0}.topbar{align-items:center;gap:12px;margin-bottom:24px;display:flex}.search{flex:1;max-width:360px}.filter{margin-left:auto;position:relative}.filter summary{cursor:pointer;border:1px solid var(--line);border-radius:999px;padding:9px 20px;list-style:none}.filter[open] summary{border-color:var(--ink)}.filter-panel{z-index:5;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);gap:10px;width:240px;padding:16px;display:grid;position:absolute;top:48px;right:0}.stage{grid-template-columns:1.2fr 1fr 1fr;align-items:start;gap:28px;display:grid}.photo{aspect-ratio:4/3;border-radius:var(--radius);background:var(--surface);place-items:center;display:grid;overflow:hidden}.photo img{object-fit:cover;width:100%;height:100%}.photo-fallback{font-family:var(--font-heading), sans-serif;color:var(--muted);text-align:center;padding:24px;font-size:22px}.gallery{gap:10px;display:grid}.gallery-strip{gap:8px;display:flex;overflow-x:auto}.gallery-thumb{cursor:pointer;background:var(--surface);opacity:.7;border:2px solid #0000;border-radius:10px;flex:0 0 64px;height:64px;padding:0;transition:opacity .15s,border-color .15s;overflow:hidden}.gallery-thumb:hover{opacity:1}.gallery-thumb-active{border-color:var(--ink);opacity:1}.gallery-thumb img{object-fit:cover;width:100%;height:100%;display:block}.info{gap:14px;display:grid}.price{font-family:var(--font-heading), sans-serif;font-size:24px}.tags{flex-wrap:wrap;gap:8px;display:flex}.tag{border:1px solid var(--line);border-radius:999px;padding:2px 12px;font-size:13px}.thumbs{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px;margin-top:24px;display:grid}.thumb{border-radius:14px;display:block;position:relative;overflow:hidden}.thumb-ring{border:2px solid var(--ink);pointer-events:none;border-radius:14px;position:absolute;inset:0}.cal-head{justify-content:space-between;align-items:center;margin:8px 0 12px;font-size:14px;display:flex}.cal-nav{cursor:pointer;background:#fff;border:0;border-radius:8px;width:28px;height:28px;font-size:16px}.cal-nav:hover{background:var(--ink);color:#fff}.cal-grid{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.cal-week{text-align:center;opacity:.55;margin-bottom:6px;font-size:11px}.cal-day{aspect-ratio:1;color:#111;font:inherit;cursor:pointer;background:#fff;border:0;border-radius:8px;justify-content:center;align-items:center;font-size:13px;display:flex}.cal-day:disabled{cursor:not-allowed}.cal-day:disabled:not(.cal-booked){opacity:.4}.cal-range{background:#dcdad2}.cal-edge{background:var(--ink);color:#fff}.cal-booked{color:#777;background:#d4d4d0;text-decoration:line-through}.cal-today{outline:1.5px solid var(--ink)}.cal-legend{opacity:.7;gap:16px;margin-top:12px;font-size:12px;display:flex}.cal-dot{background:#fff;border:1px solid #ccc;border-radius:3px;width:10px;height:10px;margin-right:4px;display:inline-block}.cal-dot-booked{background:#d4d4d0}.cal-dot-edge{background:var(--ink);border-color:var(--ink)}.cal-summary{color:var(--muted);margin-top:10px;font-size:13px}.thumb .photo{aspect-ratio:4/3;border-radius:0}.thumb-name{padding:6px 4px;font-size:13px}.pick-grid{grid-template-columns:repeat(5,1fr);gap:8px;display:grid}.pick{aspect-ratio:1;cursor:pointer;border:1.5px dashed var(--line);background:var(--bg);border-radius:12px;place-items:center;transition:border-color .15s;display:grid;position:relative;overflow:hidden}.pick:hover{border-color:var(--ink)}.pick input{opacity:0;pointer-events:none;position:absolute;inset:0}.pick img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.pick-remove{cursor:pointer;background:var(--ink);width:22px;height:22px;color:var(--bg);opacity:.85;border:0;border-radius:50%;place-items:center;padding:0;font-size:16px;line-height:1;display:grid;position:absolute;top:4px;right:4px}.pick-remove:hover{opacity:1}.pick-plus{font-family:var(--font-heading), sans-serif;color:var(--muted);font-size:28px;line-height:1}.chat{gap:12px;margin-top:12px;display:grid}.chat-list{background:var(--bg);border-radius:12px;align-content:start;gap:8px;height:420px;padding:14px;display:grid;overflow-y:auto}.chat-msg{background:var(--surface);border-radius:12px;justify-self:start;gap:2px;max-width:75%;padding:8px 12px;display:grid}.chat-msg p{overflow-wrap:anywhere;white-space:pre-wrap}.chat-mine{background:var(--ink);color:var(--bg);justify-self:end}.chat-mine .item-sub{color:var(--line)}.chat-form{gap:8px;display:flex}.auth{max-width:400px;margin:8vh auto;padding:0 16px}.auth .logo{text-align:center;margin-bottom:8px;font-size:40px;display:block}.auth-title{text-align:center;margin-bottom:20px;font-size:22px}.auth-switch{text-align:center;color:var(--muted);margin-top:16px;font-size:14px}.auth-switch a{color:var(--brand);font-weight:500}.page-title{margin-bottom:16px;font-size:24px}.venue{margin-bottom:14px;padding:0;overflow:hidden}.venue-cover{background:linear-gradient(120deg,#b4501f,#7a7a14);align-items:flex-start;gap:6px;height:150px;padding:10px;display:flex;position:relative}.venue-body{gap:4px;padding:14px 16px 16px;display:grid}.venue-tag{color:var(--brand);background:var(--brand-soft);border-radius:999px;justify-self:start;padding:3px 10px;font-size:12px;font-weight:500}.profile{align-items:center;gap:14px;margin-bottom:16px;display:flex}.avatar{background:var(--brand);color:#fff;width:56px;height:56px;font-family:var(--font-heading), sans-serif;border-radius:50%;flex:none;place-items:center;font-size:24px;display:grid}.menu{padding:4px 16px}.menu-item{width:100%;font:inherit;text-align:left;color:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:14px;padding:14px 0;display:flex}.menu-icon{background:var(--brand-soft);width:36px;height:36px;color:var(--brand);border-radius:10px;flex:none;place-items:center;display:grid}.tabbar{z-index:10;background:var(--surface);border-top:1px solid var(--line);display:flex;position:fixed;bottom:0;left:0;right:0}.tab{color:var(--muted);flex:1;justify-items:center;gap:2px;padding:10px 0 12px;font-size:12px;display:grid}.tab-active{color:var(--brand);font-weight:500}@media (max-width:1000px){.stage{grid-template-columns:1fr 1fr}}@media (max-width:760px){.stage,.grid,.grid-3{grid-template-columns:1fr}}.back-link{color:var(--muted);margin-bottom:8px;font-size:13px;display:inline-block}.back-link:hover{color:var(--ink)}.nav-notify{align-items:center;gap:6px;display:inline-flex}.badge-count{background:var(--danger);color:#fff;text-align:center;border-radius:9px;min-width:18px;height:18px;padding:0 5px;font-size:11px;line-height:18px}.filters{gap:12px;margin-bottom:16px;display:grid}.check{color:var(--ink);align-items:center;gap:8px;font-size:14px;display:flex}.check input,.tier input{width:auto}.venue-grid{gap:14px;display:grid}.venue-grid .venue{margin-bottom:0}.venue-cover-lg{border-radius:var(--radius);height:140px;margin:8px 0 14px}.venue-foot{justify-content:space-between;align-items:center;gap:12px;margin-top:8px;display:flex}.venue-foot .btn{padding:10px 18px}.price-line{color:var(--brand);font-weight:500}.section-title{margin:24px 0 10px;font-size:18px}.tag-off{color:var(--muted);background:var(--line);border-color:#0000}.room-row{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.tiers{border:0;gap:10px;display:grid}.tiers legend{margin-bottom:8px;font-weight:500}.tier{border:1px solid var(--line);color:var(--ink);border-radius:14px;align-items:flex-start;gap:10px;padding:12px;font-size:14px;display:flex}.tier:has(input:checked){border-color:var(--brand);background:var(--brand-soft)}.seg{background:var(--line);border-radius:14px;gap:6px;margin-bottom:16px;padding:4px;display:flex;overflow-x:auto}.seg-item{text-align:center;white-space:nowrap;color:var(--muted);border-radius:10px;flex:1;padding:9px 12px;font-size:14px}.seg-active{background:var(--surface);color:var(--ink);font-weight:500}.order{gap:4px;margin-bottom:12px;display:grid}.ticket{gap:6px;margin:12px 0;display:grid}.ticket-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.ticket-code{font-family:var(--font-heading), sans-serif;letter-spacing:.08em;color:var(--brand);font-size:26px}.timeline{border-top:1px solid var(--line);gap:8px;margin-top:10px;padding-top:12px;list-style:none;display:grid}.pay{justify-items:center;gap:12px;margin-bottom:12px;display:grid}.pay-timer{font-size:16px}.pay-timer strong{color:var(--brand);font-variant-numeric:tabular-nums;font-size:22px}.pay-qr{border:1px solid var(--line);border-radius:12px;width:240px;max-width:100%}.pay-list{gap:8px;width:100%;display:grid}.pay-list>div{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding:6px 0;font-size:14px;display:flex}.pay-list dt{color:var(--muted)}.pay-list dd{text-align:right}.copy{font:inherit;color:var(--brand);background:var(--brand-soft);cursor:pointer;border:0;border-radius:999px;margin-left:6px;padding:3px 10px;font-size:12px}details.card{margin:12px 0}details.card summary{cursor:pointer;font-weight:500}details.card .form{margin-top:12px}.wallet{gap:8px;margin-bottom:8px;display:grid}.wallet-total{font-family:var(--font-heading), sans-serif;color:var(--brand);font-size:32px}.pos{color:var(--ok)}.neg{color:var(--danger)}.plain{gap:4px;margin:12px 0;list-style:none;display:grid}.chips{gap:8px;margin-bottom:14px;padding-bottom:4px;display:flex;overflow-x:auto}.chip{border:1px solid var(--line);background:var(--surface);border-radius:999px;flex:none;padding:7px 14px;font-size:13px}.chip-active{border-color:var(--brand);color:var(--brand);background:var(--brand-soft)}.badge-approved,.badge-ARRIVED,.badge-CONFIRMED,.badge-COMPLETED{color:var(--ok)}.badge-PENDING_DEPOSIT,.badge-pending,.badge-PAYMENT_REVIEW{color:var(--warn)}.badge-CANCELLED,.badge-EXPIRED,.badge-NO_SHOW,.badge-REJECTED,.badge-rejected{color:var(--danger)}.cal-head{gap:12px}.cal-head .btn{padding:8px 14px}.grid-scroll{padding:12px;overflow-x:auto}.grid-row{align-items:center;min-width:640px;display:flex}.grid-label{width:56px;color:var(--muted);flex:none;font-size:13px}.grid-track{background:repeating-linear-gradient(90deg, var(--bg) 0 calc(100% / 22 - 1px), var(--line) calc(100% / 22 - 1px) calc(100% / 22));border-radius:8px;flex:1;height:38px;margin:3px 0;position:relative}.grid-axis .grid-track{background:0 0;height:20px}.grid-hour{color:var(--muted);font-size:11px;position:absolute;transform:translate(-50%)}.grid-bar{white-space:nowrap;color:#fff;background:var(--brand);border-radius:6px;align-items:center;padding:0 6px;font-size:11px;display:flex;position:absolute;top:3px;bottom:3px;overflow:hidden}.grid-block{background:repeating-linear-gradient(45deg, var(--muted) 0 4px, #999 4px 8px)}.grid-ARRIVED,.grid-COMPLETED{background:var(--ok)}.grid-PENDING_DEPOSIT,.grid-PAYMENT_REVIEW{background:var(--warn)}.tab-icon{font-size:18px;line-height:1}.cover-0{background:linear-gradient(135deg,#b4501f,#7a7a14)}.cover-1{background:linear-gradient(135deg,#1f78b4,#1a1a7a)}.cover-2{background:linear-gradient(135deg,#b4237a,#7a2020)}.cover-3{background:linear-gradient(135deg,#1fb46a,#0f6a6a)}.cover-4{background:linear-gradient(135deg,#7a3fd1,#3f3fb4)}.badge-pill{color:var(--ink);background:#fff;border-radius:8px;padding:6px 10px;font-size:12px;font-weight:600;line-height:1}.badge-pill-brand{background:var(--brand);color:#fff}.venue-top{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.venue-price{color:var(--brand);white-space:nowrap;font-size:18px;font-weight:700}.venue-price small{color:var(--muted);font-size:12px;font-weight:400}.rtypes{flex-wrap:wrap;gap:8px;margin:6px 0;display:flex}.rtype{border:1px solid var(--line);background:var(--surface);border-radius:12px;justify-items:center;padding:6px 12px;font-size:13px;line-height:1.2;display:grid}.rtype small{color:var(--muted);font-size:11px}.rtype-on{border-color:var(--brand);color:var(--brand)}.rtype-off{color:var(--muted);background:var(--bg);text-decoration:line-through}.venue-foot{border-top:1px solid var(--line);background:#fff8f3;margin:8px -16px -16px;padding:12px 16px}.venue-foot .btn{white-space:nowrap;border-radius:999px;padding:12px 22px}.search-row{gap:12px;margin-bottom:12px;display:grid}.searchbox{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);align-items:center;gap:10px;padding:0 14px;display:flex}.searchbox input{border:0;outline:none;padding:14px 0}.timecard{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.timecard .badge-now{background:var(--brand);color:#fff;border-radius:5px;margin-right:6px;padding:3px 6px;font-size:10px;font-weight:700}.timecard summary{cursor:pointer;list-style:none}.timecard summary::-webkit-details-marker{display:none}.timecard-edit{background:var(--brand-soft);color:var(--brand);border-radius:999px;padding:8px 16px;font-size:14px;font-weight:600;display:inline-block}details.timepop{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:12px;padding:14px}.chip-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;display:flex}.chip-row>span{margin-right:4px;font-size:14px}.chip{cursor:pointer;font:inherit;font-size:14px}.promo{border-radius:var(--radius);color:#fff;background:linear-gradient(135deg,#7a3fd1,#a58bf3);gap:4px;min-width:240px;padding:16px;display:grid;position:relative}.promo small{letter-spacing:.05em;background:#ffffff4d;border-radius:5px;justify-self:start;padding:3px 7px;font-size:10px;font-weight:700}.promo p{opacity:.9;font-size:13px}.promo-row{gap:12px;margin-bottom:20px;display:flex;overflow-x:auto}.home-cols{gap:16px;display:grid}.map{border-radius:var(--radius);border:1px solid var(--line);background:#eef1f6;height:calc(100vh - 100px);min-height:420px;display:none;position:sticky;top:76px;overflow:hidden}.map svg{width:100%;height:100%;display:block}.map-pin{fill:var(--brand)}.map-pin-off{fill:#fff;stroke:var(--line)}.map-text{font:700 12px var(--font-body), sans-serif;fill:#fff;text-anchor:middle}.map-text-off{fill:var(--ink)}.split{align-items:start;gap:16px;display:grid}.aside,.list-grid,.menu-grid{gap:12px;display:grid}@media (min-width:768px){.container{padding-bottom:96px}.search-row,.venue-grid,.list-grid,.menu-grid{grid-template-columns:1fr 1fr}.promo{flex:1}.page-title{font-size:28px}}@media (min-width:1024px){.container{padding:28px 24px 56px}.header-inner{gap:40px;height:64px;padding:0 24px}.tabbar{background:0 0;border:0;gap:4px;height:100%;position:static;left:auto;right:auto}.tab{border-bottom:2px solid #0000;flex-direction:row;flex:none;align-items:center;gap:8px;height:100%;padding:0 16px;font-size:15px;display:flex}.tab-active{border-bottom-color:var(--brand)}.home-cols{grid-template-columns:minmax(0,1fr) 420px;gap:24px}.map{display:block}.split{grid-template-columns:minmax(0,1fr) 380px;gap:24px}.split-wide{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}.sticky{position:sticky;top:84px}.list-grid{grid-template-columns:repeat(3,1fr)}.page-title{font-size:32px}.venue-cover-lg{height:220px}.grid-row{min-width:0}}@media (max-width:1023px){.sticky{position:static}}.venue-layout{grid-template-areas:"a""b""c";gap:16px;display:grid}.area-a{grid-area:a;min-width:0}.area-b{grid-area:b;min-width:0}.area-c{grid-area:c;min-width:0}@media (min-width:1024px){.venue-layout{grid-template-columns:minmax(0,1fr) 380px;grid-template-areas:"a b""c b";align-items:start;gap:8px 24px}.aside-right{order:2}.area-b{position:sticky;top:84px}}.split-2{align-items:start;gap:0 24px;display:grid}@media (min-width:1024px){.split-2{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.card .actions .form-inline{flex-wrap:wrap}.timecard summary{flex:1;justify-content:space-between;align-items:center;gap:12px;display:flex}details.timecard[open]{flex-wrap:wrap}.chip-bar{display:block}@media (min-width:1024px){.chip-bar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:8px;display:flex}.chip-bar .chip-row{margin-bottom:0}}article.card{margin-bottom:12px}.tiers legend{float:left;width:100%;margin-bottom:4px}.tiers legend+*{clear:both}article.card>span,.ticket>span{display:block}.menu-grid{align-items:start}button.timecard{width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer}.sheet{background:var(--surface);width:100%;max-width:520px;color:var(--ink);border:0;border-radius:20px 20px 0 0;margin:auto auto 0;padding:0}.sheet::backdrop{background:#00000073}.sheet-body{gap:10px;max-height:85vh;padding:18px 16px 20px;display:grid;overflow-y:auto}.sheet-head{justify-content:space-between;align-items:center;font-size:18px;display:flex}.sheet-x{cursor:pointer;color:var(--muted);background:0 0;border:0;font-size:18px}.sheet-label{color:var(--muted);margin-top:4px;font-size:13px}.sheet-party{justify-content:space-between;align-items:center;display:flex}.stepper{align-items:center;gap:14px;display:inline-flex}.stepper button{cursor:pointer;border:1px solid var(--line);background:var(--surface);width:34px;height:34px;color:var(--ink);border-radius:50%;font-size:18px;line-height:1}.sheet-apply{border-radius:999px;margin-top:4px}@media (min-width:768px){.sheet{border-radius:20px;margin:auto}}.quote{margin:0}.quote-total{border-bottom:0;font-size:16px}.quote-total dd strong{color:var(--brand);font-size:20px}.steps{width:100%;color:var(--muted);gap:6px;font-size:12px;list-style:none;display:flex}.steps li{border-top:3px solid var(--line);flex:1;padding-top:8px}.steps-done{border-top-color:var(--brand)!important}.steps-on{color:var(--ink);font-weight:600;border-top-color:var(--brand)!important}.pay-wait{color:#31507a;background:#eef3fb;border-radius:12px;width:100%;padding:10px 12px;font-size:13px}.ticket-phone{font-family:var(--font-heading), sans-serif;letter-spacing:.04em;font-size:30px}.ticket-countdown{color:var(--ok);font-size:13px;font-weight:600}.quick{grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px;margin-top:8px;display:grid}.quick-item{font:inherit;color:var(--ink);cursor:pointer;background:var(--surface);border:1px solid var(--line);border-radius:14px;justify-items:center;gap:4px;padding:12px 6px;font-size:13px;display:grid}.quick-item span{color:var(--brand);font-size:18px}.hold-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.head-tags{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.mono{font-variant-numeric:tabular-nums}.set-title{margin-top:8px;font-weight:600}.inbox{background:var(--surface);border-radius:var(--radius);margin-bottom:20px;padding:16px}.inbox-head{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;display:flex}.inbox-head h2{margin:0;font-size:18px}.inbox-list{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;display:grid}.inbox-card{border:1.5px solid var(--line);border-radius:14px;align-content:start;gap:4px;padding:14px;font-size:14px;display:grid}.inbox-top{justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:4px;display:flex}.inbox-tag{text-transform:uppercase;letter-spacing:.02em;background:var(--line);border-radius:6px;padding:3px 8px;font-size:11px;font-weight:700}.inbox-meta{color:var(--muted);font-size:13px}.inbox-name{font-size:16px}.inbox-note{background:var(--bg);border-radius:10px;margin:6px 0 2px;padding:8px 10px;font-size:13px}.inbox-note-ok{background:#edf7f0}.inbox-note-warn{background:#fdf6e6}.inbox-actions{flex-wrap:wrap;gap:8px;margin-top:6px;display:flex}.inbox-actions .btn,.inbox-card .btn{padding:10px 14px;font-size:14px}.inbox-card select{border-radius:12px;width:auto;padding:9px 10px}.inbox-overtime{background:#fff6f4;border-color:#e9a99f}.inbox-overtime .inbox-tag,.inbox-late .inbox-tag{color:var(--danger);background:#fbe1dc}.inbox-late{background:#fffaf3;border-color:#f0c49a}.inbox-late .inbox-meta{color:var(--danger)}.inbox-paid{border-color:#b6dcc3}.inbox-paid .inbox-tag{color:var(--ok);background:#dcf0e3}.inbox-pending{border-color:#ecd391}.inbox-pending .inbox-tag{color:var(--warn);background:#fbefc9}.inbox-pending .inbox-meta{color:var(--warn);font-size:15px}.cal-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.cal-day-nav{gap:6px;display:flex}.cal-day-nav .btn{padding:10px 14px}.quota-bar{background:var(--surface);border:1px solid var(--line);border-radius:12px;margin-bottom:10px;padding:10px 14px;font-size:13px}.rg-legend{color:var(--muted);flex-wrap:wrap;gap:6px 16px;margin-bottom:10px;font-size:12px;display:flex}.rg-legend span{align-items:center;gap:6px;display:inline-flex}.rg-dot{border-radius:3px;width:14px;height:10px;display:inline-block}.rg{padding:8px 12px;overflow-x:auto}.rg-row{border-bottom:1px solid var(--line);align-items:stretch;min-width:1100px;display:flex}.rg-row:last-child{border-bottom:0}.rg-label{width:76px;color:var(--muted);flex:none;align-content:center;padding:6px 0;font-size:13px;display:grid}.rg-label strong{color:var(--ink);font-size:14px}.rg-track{background:repeating-linear-gradient(90deg, transparent 0 calc(100% / 18 - 1px), var(--line) calc(100% / 18 - 1px) calc(100% / 18));flex:1;height:54px;position:relative}.rg-clickable{cursor:copy}.rg-clickable:hover{background-color:#fafaf8}.rg-axis .rg-track{background:0 0;height:26px}.rg-hour{color:var(--muted);padding-left:4px;font-size:11px;position:absolute;top:4px}.rg-nowtag{color:#fff;background:var(--danger);border-radius:6px;padding:1px 6px;font-size:11px;font-weight:700;position:absolute;top:2px;transform:translate(-50%)}.rg-now{background:var(--danger);pointer-events:none;width:2px;position:absolute;top:0;bottom:0}.rg-bar{font:inherit;text-align:left;white-space:nowrap;color:var(--ink);cursor:pointer;border:1px solid #0000;border-left-width:3px;border-radius:6px;align-content:center;padding:0 8px;font-size:12px;line-height:1.25;display:grid;position:absolute;top:5px;bottom:5px;overflow:hidden}.rg-bar small{opacity:.8;font-size:11px}.rg-bar span{text-overflow:ellipsis;font-weight:600;overflow:hidden}.rg-pending{background:#fdf6e0;border:1px dashed #d9b44a}.rg-review{border:1px dashed var(--danger);background:#fdecea}.rg-confirmed{background:#e9effb;border-color:#e9effb #e9effb #e9effb #3a62c4}.rg-late{background:#fde9dc;border-color:#fde9dc #fde9dc #fde9dc #c2410c}.rg-arrived{border-color:#e3f3e8;border-left-color:var(--ok);background:#e3f3e8}.rg-done{color:var(--muted);background:#eeedea;border-color:#eeedea #eeedea #eeedea #9a978f}.rg-block{color:var(--muted);cursor:default;background:repeating-linear-gradient(45deg,#ecebe7 0 6px,#f6f5f2 6px 12px);border-color:#e0ded8}.rg-legend .rg-dot{border-style:solid;border-width:1px 1px 1px 4px;width:18px;height:12px}.rg-legend .rg-pending,.rg-legend .rg-review{border-style:dashed;border-width:1px}.list-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:4px;display:flex}.list-bar .chips{margin-bottom:8px}.list-search{align-items:center;gap:8px;display:flex}.list-search input,.list-search select{border-radius:12px;width:auto;min-width:0;padding:10px 12px}.list-search .btn{padding:10px 14px}.table-card{margin-bottom:16px;padding:8px 16px 12px;overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:14px}.table th{color:var(--muted);text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;padding:10px 8px;font-size:12px;font-weight:500}.table td{vertical-align:top;border-bottom:1px solid var(--line);padding:10px 8px}.table tr:last-child td{border-bottom:0}.table td small{color:var(--muted);font-size:12px;display:block}.table-actions{flex-wrap:wrap;justify-content:flex-end;align-items:flex-start;gap:6px;display:flex}.table .nowrap{white-space:nowrap}.sheet .form-inline select{flex:1;width:auto}.table-actions .btn{padding:8px 12px;font-size:13px}.table-actions input{width:140px;padding:8px 10px}.table-total td{background:var(--bg);font-weight:600}.text-warn{color:var(--warn);font-weight:600}.pill{white-space:nowrap;border-radius:6px;padding:3px 8px;font-size:12px;font-weight:600;display:inline-block}.pill-ok{color:var(--ok);background:#dcf0e3}.pill-warn{color:#b45309;background:#fbe9d6}.pill-muted{background:var(--line);color:var(--muted)}.dispute summary{color:var(--brand);cursor:pointer;margin-top:6px;font-size:13px}.dispute .form{min-width:220px;margin-top:8px}.dispute input{padding:8px 10px}@media (max-width:767px){.table thead{display:none}.table tr{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;gap:4px 12px;padding:12px 0;display:grid}.table td{border:0;padding:0}.table td[data-label]:before{content:attr(data-label);color:var(--muted);font-size:11px;display:block}.table td:has(.table-actions){grid-column:1/-1}.table-actions{justify-content:flex-start}.list-search{width:100%}.list-search input{flex:1}}.settle-link{color:var(--brand);justify-content:space-between;align-items:center;margin-bottom:16px;font-size:22px;display:flex}.settle-steps{margin:4px 0 16px}.settle-steps small{color:var(--muted);font-weight:400}.kpis{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;margin-bottom:16px;display:grid}.kpis .stat{padding:14px 16px}.kpis .stat strong{font-size:24px}.kpis .stat small{color:var(--muted);font-size:12px}.stat-warn{background:#fff8ec;outline:1px solid #f0d19a}.flow>div{font-size:13px}.flow-sum,.flow-total{font-weight:600}.flow-total{border-bottom:0!important;font-size:15px!important}.flow-total dd{color:var(--brand)}.devpanel{z-index:50;color:#e8e6df;background:#1c1c1a;border-radius:12px;max-width:min(360px,100vw - 24px);padding:8px 12px;font-size:12px;position:fixed;bottom:76px;left:12px;box-shadow:0 4px 16px #00000040}@media (min-width:768px){.devpanel{bottom:12px}}.devpanel summary{cursor:pointer;color:#ffb47a;font-weight:600}.dev-list{gap:2px;margin:8px 0;display:grid}.dev-list div{justify-content:space-between;gap:12px;display:flex}.dev-list dt{color:#a8a59c}.dev-list dd{text-align:right;word-break:break-all}.dev-sub{color:#a8a59c;margin-top:6px}.dev-venues{gap:2px;list-style:none;display:grid}.dev-venues li{justify-content:space-between;gap:12px;display:flex}.dev-inline{background:#fff8ec;border:1px dashed #e0b25a;border-radius:12px;margin:-4px 0 12px;padding:8px 12px;font-size:13px}.dev-inline summary{cursor:pointer}.dev-perms{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:2px 12px;margin-top:6px;font-family:ui-monospace,monospace;font-size:12px;list-style:none;display:grid}.dev-ok{color:var(--ok)}.dev-no{color:var(--muted)}.container:has(.admin-shell){max-width:1440px}.admin-shell{gap:20px;display:grid}.admin-side{align-content:start;gap:10px;display:grid}.admin-brand{align-items:center;gap:8px;font-weight:600;display:flex}.admin-logo{background:var(--ink);color:#fff;border-radius:9px;place-items:center;width:32px;height:32px;display:grid}.admin-role{justify-self:start}.admin-nav{gap:6px;padding-bottom:4px;display:flex;overflow-x:auto}.admin-nav-item{color:var(--muted);white-space:nowrap;border-radius:10px;flex:none;justify-content:space-between;align-items:center;gap:8px;padding:9px 12px;font-size:14px;display:flex}.admin-nav-item:hover{background:var(--line);color:var(--ink)}.admin-nav-active{background:var(--surface);color:var(--ink);font-weight:600;box-shadow:0 1px 2px #0000000f}.admin-main{min-width:0}.admin-main>.card,.admin-main>section,.admin-split,.admin-main .split-2{margin-bottom:16px}.admin-split{align-items:start;gap:16px;display:grid}.admin-detail{gap:10px;display:grid}.admin-detail h2{margin:0}.admin-detail .section-title{margin:8px 0 0;font-size:15px}@media (min-width:1024px){.admin-shell{grid-template-columns:200px minmax(0,1fr)}.admin-side{position:sticky;top:72px}.admin-nav{flex-direction:column;overflow:visible}.admin-split{grid-template-columns:minmax(0,1fr) 380px}.admin-detail{max-height:calc(100vh - 90px);position:sticky;top:72px;overflow-y:auto}}.row-active td{background:var(--brand-soft)}.link{color:var(--brand)}.link:hover{text-decoration:underline}.text-ok{color:var(--ok);font-weight:600}.text-danger{color:var(--danger);font-weight:600}.text-info{color:#4c3aa8;font-weight:600}.muted{color:var(--muted)}.pill-info{color:#4c3aa8;background:#ebe7fb}.pill-danger{color:var(--danger);background:#f8dfdb}.btn-locked:disabled{cursor:not-allowed;opacity:.45}.note-box{color:var(--muted);background:var(--surface);border:1px solid var(--line);border-radius:12px;margin-bottom:16px;padding:10px 14px;font-size:13px;line-height:1.6}.admin-detail .note-box{color:#4c3aa8;background:#f5f3ff;border-color:#e4defa;margin:0}.todo{list-style:none;display:grid}.todo a{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:10px 0;display:flex}.todo li:last-child a{border-bottom:0}.todo a>span:nth-child(2){flex:1;display:grid}.todo small{color:var(--muted);font-size:12px}.todo-n{color:#b45309;background:#fbe9d6;border-radius:14px;place-items:center;min-width:28px;height:28px;font-size:13px;font-weight:700;display:grid}.checks{gap:4px;margin:8px 0;font-size:13px;list-style:none;display:grid}.checks-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:2px 16px}.checks small{color:var(--muted)}.check-ok{color:var(--ok)}.check-no{color:var(--danger)}.check-na{color:var(--muted)}.dispute-row{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:12px 16px;padding:12px 0;font-size:14px;display:flex}.dispute-row:last-child{border-bottom:0}.dispute-row>div:first-child{flex:1;min-width:260px}.dispute-row p{margin-top:4px}.timeline{border-left:2px solid var(--line);gap:6px;padding-left:12px;font-size:13px;list-style:none;display:grid}.timeline small{color:var(--muted);display:block}.mini-list{gap:6px;font-size:13px;list-style:none;display:grid}.mini-list small{color:var(--muted);display:block}.delta{color:var(--muted);font-size:12px;font-weight:700;font-family:var(--font-body), sans-serif;margin-left:6px}.delta-up{color:var(--ok)}.delta-down{color:var(--danger)}.delta-new{color:#4c3aa8}.bar{background:var(--line);border-radius:4px;width:100%;min-width:120px;height:8px;display:flex;overflow:hidden}.bar i{background:var(--brand);height:100%;display:block}.bar i.held{background:#f7b98a}.bar-col{width:22%}.table-group td{background:var(--bg);font-weight:700}.table .indent{padding-left:24px}.flow-table td:not(:first-child),.flow-table th:not(:first-child){text-align:right}.rules{border:0;gap:12px;display:grid}.rules .check{align-items:flex-start}.rules .check span{display:grid}.rules .check small{color:var(--muted);font-size:12px}.rules label:not(.check){gap:4px;max-width:280px;font-size:13px;display:grid}code{background:var(--bg);border-radius:5px;padding:1px 5px;font-size:12px}@media (max-width:767px){.table .indent{padding-left:0}.bar-col{display:none}}.delta{white-space:nowrap;display:inline-block}.report-filter{flex-wrap:wrap;margin-bottom:12px}.form-inline .btn{white-space:nowrap}
