@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@400;500;600;700;800&display=swap');
:root{--ink:#243c33;--muted:#859087;--green:#315f4b;--bg:#f7f8f4;--line:#e4e8e0}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:'Noto Sans TC',sans-serif;font-size:14px}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0;background:none;color:inherit}button:disabled{cursor:not-allowed;opacity:.35}button:focus-visible,a:focus-visible{outline:3px solid #c49b5b;outline-offset:4px}aside{position:fixed;inset:0 auto 0 0;width:238px;background:#fff;border-right:1px solid var(--line);padding:37px 24px;display:flex;flex-direction:column}.brand{font-size:30px;font-weight:800;text-decoration:none;color:var(--ink);letter-spacing:3px}.brand span{font-size:11px;letter-spacing:3px;margin-left:9px}.workspace{font-size:11px;margin-top:28px;color:var(--muted);line-height:2.5}.workspace small{display:block;font-size:9px;letter-spacing:1.5px;color:#a8afa9}nav{display:grid;gap:9px;margin-top:30px}nav button{text-align:left;padding:15px 13px;border-radius:8px;display:flex;gap:14px;color:#7c8881;font-size:17px}nav button span{font-size:13px}nav button.active{background:#eaf0e8;color:var(--green);font-weight:600}nav b{font-size:10px;background:#d3e0ce;margin-left:auto;border-radius:20px;padding:2px 6px}.sidebottom{display:flex;gap:11px;align-items:center;margin-top:auto;border-top:1px solid var(--line);padding-top:22px;font-size:12px}.avatar{background:#e5eadb;color:#6f8052;border-radius:50%;padding:12px 16px}.sidebottom small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.online{background:#7f9b64;width:6px;height:6px;border-radius:100%;margin-left:auto}main{margin-left:238px}header{height:84px;background:#fff;border-bottom:1px solid var(--line);padding:0 48px;display:flex;align-items:center;justify-content:space-between}.crumb{font-size:12px;color:#8d978f}.crumb span{margin:0 16px;color:#c3cac3}.crumb strong{font-weight:500;color:#455b4f}.demo{font-size:11px;color:#75865a;background:#f1f3e9;padding:7px 12px;border-radius:20px}.content{max-width:1350px;margin:auto;padding:38px 48px 20px}.heading{display:flex;justify-content:space-between;align-items:center}.eyebrow{font-size:9px;letter-spacing:2.5px;color:#8c9b80;margin:0 0 12px;font-weight:600}h1{font-size:30px;letter-spacing:1px;font-weight:600;margin:0 0 12px}h1 span{color:#91a479}.subtitle{color:#8a938b;font-size:12px;line-height:1.8;margin-bottom:26px}.today{font-size:11px;color:#8e978e}.banner{border-radius:12px;background:#dfe7d8;overflow:hidden;display:grid;grid-template-columns:1fr 1.15fr;min-height:285px;margin-bottom:36px}.banner>div:first-child{padding:31px 34px}.pill{font-size:8px;letter-spacing:1.8px;border:1px solid #9faa91;padding:5px 9px;border-radius:20px}.banner h2{font-size:30px;line-height:1.5;font-weight:500;margin:17px 0 12px;letter-spacing:2px}.banner p{font-size:11px;color:#6f7e65}.light{font-size:11px;background:#fff;border-radius:5px;padding:11px 17px;margin-top:10px}.room-art{position:relative;overflow:hidden;background:linear-gradient(135deg,#b9c9aa,#ced6bd 55%,#9daf92);min-height:285px}.window{position:absolute;right:15%;top:0;width:48%;height:70%;background:repeating-linear-gradient(90deg,transparent 0 32%,#8d9f8080 32% 34%),repeating-linear-gradient(0deg,#e8eddd90 0 47%,#8d9f8080 47% 49%);border:9px solid #91a081;box-shadow:-60px 30px 80px #f0eed599;transform:skewY(-7deg)}.sun{position:absolute;bottom:-60px;left:0;width:100%;height:160px;background:#c9cbb1;transform:skewY(-8deg)}.table{position:absolute;left:12%;bottom:45px;width:65%;height:60px;background:#9d7954;transform:skewY(-7deg);border-radius:50%;box-shadow:0 12px 0 #836242,12px 42px 0 -15px #6f6249}.chair{position:absolute;width:50px;height:72px;background:#55745b;bottom:22px;border-radius:22px 22px 5px 5px;box-shadow:0 16px 0 -9px #3d5543}.c1{left:14%}.c2{left:56%;bottom:6px;background:#798d68}.plant{position:absolute;right:7%;bottom:30px;font-size:100px;color:#4d6844;text-shadow:8px -35px #6e8655}.roomtag{position:absolute;right:20px;top:21px;text-align:right;color:#f9fff2;font-size:7px;letter-spacing:1.5px;line-height:2.3}.roomtag b{font-size:11px}.sectionhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:19px}h2{font-size:17px;font-weight:600;margin:0 0 9px}.sectionhead p,.panel>p{font-size:11px;color:var(--muted);margin:0}.filters{display:flex;gap:5px}.filters button{padding:7px 13px;font-size:11px;border-radius:5px;color:#899283}.filters .selected,.amounts .selected{background:#315f4b;color:white}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}.cardart{height:148px;position:relative;overflow:hidden;background:#ece7dd}.cardart.meeting{background:linear-gradient(110deg,#c8c8b4,#eef1e5)}.cardart.studio{background:linear-gradient(110deg,#dbcbb8,#f3eade)}.cardart.event{background:linear-gradient(110deg,#c8d6d0,#edf2e9)}.cardart.equipment{background:linear-gradient(110deg,#c4cbd0,#e6e9ed)}.cardart:before{content:'';position:absolute;top:20px;left:15%;width:50%;height:76px;border:5px solid #fff9;background:repeating-linear-gradient(90deg,#ffffff70 0 30%,#a6ac9e80 30% 33%);box-shadow:90px 20px 70px #fff9}.cardart:after{content:'';position:absolute;bottom:20px;left:25%;width:55%;height:27px;border-radius:50%;background:#9e8769;box-shadow:0 8px #806d54,0 29px 0 -10px #8f7e69}.studio:after{border-radius:3px;background:#e5dbd0;box-shadow:0 8px #b9a994,0 25px 0 -7px #a89982;transform:rotate(-8deg)}.event:after{background:#9baf97;box-shadow:0 9px #7b9176,0 27px 0 -9px #647c5e}.equipment:after{width:75px;height:65px;border-radius:10px;background:#354a4c;box-shadow:22px 0 0 -8px #839799;left:40%;bottom:30px}.tag{position:absolute;z-index:1;left:12px;top:12px;font-size:9px;padding:5px 9px;background:#ffffffdb;border-radius:4px}.cardbody{padding:18px}.cardbody h3{margin:0 0 8px;font-size:15px;font-weight:600}.meta{color:#8f968d;font-size:10px;margin:0 0 14px}.features{font-size:9px;display:flex;gap:6px}.features span{background:#f4f5ef;color:#89907e;padding:4px 6px;border-radius:3px}.cardbottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #f0f1eb;margin-top:17px;padding-top:15px}.price{font-size:19px;font-weight:600}.price small{font-size:9px;color:#939c91;font-weight:400}.bookbtn{background:#edf2e8;padding:9px 12px;border-radius:5px;font-size:10px}.footnote{text-align:center;color:#8e9989;font-size:10px;padding:28px 0}footer{border-top:1px solid var(--line);margin-top:28px;padding-top:21px;font-size:10px;letter-spacing:1px;color:#77876e}footer span{margin-left:15px;color:#abb1a5;font-size:9px}footer small{display:block;letter-spacing:0;font-size:9px;margin-top:10px;color:#9da597}.walletgrid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:28px}.balancecard{position:relative;background:#315746;padding:30px;border-radius:13px;color:white;overflow:hidden;min-height:275px}.balancecard>span{font-size:11px;letter-spacing:2px}.balancecard p{margin:44px 0 9px;font-size:12px;color:#c5d0bc}.balancecard h2{font-size:40px}.balancecard small{color:#b1c1ac;font-size:10px}.rings{position:absolute;right:-30px;top:10px;font-size:230px;color:#ffffff0b}.panel{background:white;padding:26px;border:1px solid var(--line);border-radius:12px}.amounts{display:flex;gap:8px;margin-top:18px}.amounts button{flex:1;border:1px solid var(--line);padding:12px;border-radius:6px}label{display:block;font-size:12px;margin:18px 0 8px}input,select{display:block;width:100%;margin-top:8px;padding:11px;border:1px solid #dce3d8;border-radius:6px;background:#fff;color:var(--ink)}.primary{background:var(--green);color:#fff;border-radius:6px;padding:13px 18px;font-size:12px}.full{width:100%;margin-top:15px}small{font-size:10px;line-height:1.8} .panel>small,form>small{display:block;color:#939b8c;margin-top:10px}.ledger{margin-top:24px}.row{display:flex;align-items:center;gap:15px;padding:19px 0;border-bottom:1px solid var(--line)}.row:last-child{border:0}.row .details{flex:1}.row strong{font-size:13px}.row p{font-size:11px;color:#8c9689;margin:6px 0 0}.row .number{font-size:16px;color:#668551}.row .negative{color:#7f776b}.row button{font-size:11px;padding:9px 12px;border:1px solid var(--line);border-radius:5px}.empty{padding:70px 25px;text-align:center;color:#8e9989;background:white;border-radius:12px;margin-top:25px}.empty p{margin-bottom:25px}.status{font-size:10px;color:#7f9276}.status.cancelled{color:#a4a59c}dialog{border:0;border-radius:15px;padding:30px;max-width:490px;width:calc(100% - 30px);color:var(--ink);box-shadow:0 20px 80px #13281f33}dialog::backdrop{background:#152e235c;backdrop-filter:blur(3px)}.dialoghead{display:flex;justify-content:space-between;align-items:center}.close{font-size:25px}.dialoghead .eyebrow{margin:0}dialog h2{font-size:23px;margin-top:15px}dialog p{font-size:12px;color:#7e8d7a;line-height:1.8}.slots{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:10px 0}.slots button{padding:9px;border:1px solid var(--line);border-radius:5px;font-size:12px}.slots .selected{background:var(--green);color:#fff}.summary{margin-top:22px;padding-top:17px;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:12px}.summary strong{font-size:20px}.error{color:#b94a38!important}.confirmbuttons{display:flex;justify-content:flex-end;gap:12px;margin-top:25px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#264735;color:#fff;padding:14px 24px;border-radius:8px;font-size:12px;z-index:9;opacity:0;pointer-events:none;transition:opacity .2s}#toast.show{opacity:1}[hidden]{display:none!important}@media(min-width:1500px){.content{padding-top:55px}.banner{min-height:330px}.room-art{min-height:330px}.cardart{height:180px}}@media(max-width:1100px){aside{width:190px;padding:30px 18px}main{margin-left:190px}.content{padding:30px 25px}header{padding:0 25px}.today{display:none}.cards{gap:12px}.cardbody{padding:13px}.sectionhead{align-items:flex-start;gap:15px;flex-direction:column}.banner h2{font-size:25px}}@media(max-width:760px){aside{position:sticky;top:0;width:100%;height:auto;padding:14px 18px;z-index:2;flex-direction:row;align-items:center;justify-content:space-between}.brand{font-size:22px}.brand span{font-size:8px;margin-left:4px}.workspace,.sidebottom{display:none}nav{display:flex;gap:0;margin:0}nav button{font-size:14px;padding:9px;gap:5px}nav button span{font-size:10px}nav b{display:none}main{margin:0}header{height:52px;padding:0 20px}.content{padding:27px 20px}h1{font-size:24px}.subtitle{font-size:11px}.banner{grid-template-columns:1fr 1fr;min-height:265px}.banner>div:first-child{padding:25px 20px}.banner h2{font-size:23px;letter-spacing:0}.banner p{font-size:9px;line-height:1.9}.pill{font-size:6px;letter-spacing:1px}.room-art{min-height:265px}.plant{font-size:70px;right:0}.table{left:0;width:85%}.cards{grid-template-columns:1fr 1fr}.walletgrid{grid-template-columns:1fr}.row{flex-wrap:wrap}.row .details{min-width:55%}.filters button{padding:7px 14px}.footnote{font-size:8px}footer span{display:block;margin:7px 0}}@media(max-width:430px){.cards{grid-template-columns:1fr}.cardart{height:180px}.banner{grid-template-columns:1.15fr 1fr}.banner h2{font-size:21px}.roomtag{display:none}.cardbody{padding:18px}.price{font-size:20px}.features{font-size:10px}.cardbody h3{font-size:17px}}

/* Karaoke rooms: screen, low table and lounge seating. */
.cardart{background:linear-gradient(135deg,#382d4c,#786285)!important}.cardart:before{left:26%;width:48%;height:67px;top:18px;border:5px solid #25222c;background:linear-gradient(135deg,#6b8c9c,#cf9eca);box-shadow:0 0 35px #e1b5e355}.cardart:after{left:12%;width:76%;height:39px;bottom:14px;border-radius:9px;background:#b2a19e;box-shadow:0 -5px 0 #cbb6b1,0 10px 0 #65546d;transform:none}.studio{filter:hue-rotate(25deg)}.event{filter:hue-rotate(70deg)}.equipment{filter:hue-rotate(310deg)}.equipment:after{left:12%;width:76%;height:39px;bottom:14px;background:#8d718c}.room-art{background:linear-gradient(145deg,#53465e,#968597)}.window{top:35px;right:20%;height:43%;width:60%;transform:none;background:linear-gradient(145deg,#496876,#ceafc9);border:9px solid #3e3847;box-shadow:0 0 60px #e5c6f044}.sun{background:#6b5c70}.table{background:#b19b88;box-shadow:0 12px #806d73;bottom:36px}.chair{width:80px;height:58px;background:#a092a7}.c2{background:#b0a1b1}.plant{color:#cebbd2;font-size:80px}.price{font-size:17px}.price small{display:block;margin-top:4px}.brand{letter-spacing:1px}.brand span{font-size:8px;letter-spacing:1px}
/* RockBar: charcoal, electric lime and muted violet. */
:root{--ink:#f0f0ed;--muted:#99999f;--green:#f7f233;--bg:#101012;--line:#303034}body{background:var(--bg);color:var(--ink)}aside,header{background:#161618}.brand{color:#fff;font-size:27px;letter-spacing:-1px}.brand span{display:block;font-size:9px;letter-spacing:5px;margin:4px 0 0}.workspace small{color:#747479}nav button{color:#aaaab1}nav button.active{background:#2c3220;color:#f7f233}nav b{background:#4d5c30;color:#e7f2d3}.avatar{background:#303035;color:#f7f233}.crumb strong{color:#dedee2}.demo{background:#2b2b25;color:#d4d1a2}.eyebrow,h1 span{color:#f7f233}.subtitle,.meta,.panel>p,.row p{color:#a5a5ac}.banner{background:#202022}.banner h2{font-size:35px;font-weight:700;letter-spacing:-1px;line-height:1.3}.banner p{color:#b2b2ba}.pill{border-color:#666672;color:#f7f233}.light,.primary{background:#f7f233;color:#14170b;font-weight:700}.room-art{background:linear-gradient(140deg,#1e182b,#64506a)}.window{background:linear-gradient(135deg,#4c3b64,#bc77af);border-color:#1e1d23;box-shadow:0 0 70px #c477c766}.sun{background:#2a252f}.chair,.c2{background:#645168}.table{background:#5a4a5f;box-shadow:0 12px #302937}.plant{color:#f7f233}.card,.panel,.empty{background:#1b1b1f}.cardbody h3{color:#f1f1f2}.features span{background:#29292d;color:#bcbcc2}.cardbottom{border-color:var(--line)}.bookbtn{background:#303728;color:#daf5a1}.tag{background:#18171dde;color:#dad4df}.price small{color:#a5a5ac}.sectionhead p{line-height:1.9}.balancecard{background:linear-gradient(145deg,#272c22,#181d16);border:1px solid #485237}.balancecard h2{color:#f7f233}.amounts button{border-color:#44444c}.amounts .selected{background:#f7f233;color:#15180b}.amounts small{display:block;font-size:10px;margin-top:6px}.bonusnote{padding-top:20px!important;color:#f7f233!important;line-height:1.9}dialog{background:#202024;color:var(--ink)}dialog p{color:#b6b6bf}input,select{background:#141416;border-color:#484850;color:#f4f4f4;color-scheme:dark}.slots .selected{background:#f7f233;color:#15180c}.slots button{border-color:#4a4a51}.slots button:disabled{opacity:.25}.error{color:#ffa994!important}.number{color:#f7f233!important}.status{color:#cbd6b0}footer{color:#a5a5ac}footer span,footer small{color:#85858e}.hours-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0;margin:-10px 0 32px}.hours-strip strong{display:block;font-size:9px;letter-spacing:2px;color:#92929a}.hours-strip span{display:block;font-size:15px;margin-top:8px}.formgrid{display:flex;gap:14px;align-items:flex-end;flex-wrap:wrap}.formgrid label{flex:1;min-width:130px}.formgrid>button{margin-bottom:8px;padding:12px}.notice{padding:16px;background:#332c21;border:1px solid #554834;border-radius:8px;color:#e2c996;line-height:1.8;font-size:12px}.muted{color:#92929a;padding:20px 0;font-size:12px}.row{border-color:var(--line)}.confirmbuttons>button:not(.primary){color:#bdbdc5}.online{background:#f7f233}#toast{background:#f7f233;color:#171c0d}.footnote{line-height:2;color:#93939c}.roomtag{color:#e7e0e9}.content{max-width:1400px}.row .details{min-width:200px}#adminorders .row{flex-wrap:wrap}.walletgrid{align-items:start}@media(max-width:760px){.brand{font-size:21px}.brand span{font-size:7px;letter-spacing:3px}nav button{padding:8px 6px;gap:4px}nav button span{font-size:9px}.hours-strip span{font-size:11px}.hours-strip strong{font-size:8px;letter-spacing:1px}.banner h2{font-size:25px}.banner>div:first-child{padding:26px 18px}.balancecard h2{font-size:33px}.amounts button{font-size:12px;padding:12px 8px}.content{padding:27px 16px}}@media(max-width:430px){nav button{flex-direction:column;gap:0}.brand{font-size:19px}.cards{grid-template-columns:1fr}.banner h2{font-size:23px}}

/* English navigation and headings. */
h1{line-height:1.25}dialog{max-width:540px}.summary{gap:15px;align-items:center}.summary strong{white-space:nowrap;font-size:18px}.amounts button{font-size:12px}.amounts small{font-size:9px}@media(max-width:760px){aside{flex-wrap:wrap;gap:12px}.brand span{display:inline;margin-left:8px}nav{width:100%;justify-content:space-between}nav button{flex-direction:row;font-size:13px}nav button span{font-size:11px}.heading h1{font-size:27px}.banner h2{font-size:24px}.summary{flex-wrap:wrap}.amounts{flex-wrap:wrap}}

/* Official RockBar logo, shown at its original aspect ratio. */
.brand{display:block;width:100%;max-width:184px;line-height:0}.brand img{display:block;width:100%;height:auto}.workspace{margin-top:23px}.wallet-logo{display:block;width:116px;height:auto;margin-bottom:15px}.balancecard>span{font-size:9px;letter-spacing:2px}.balancecard p{margin-top:26px}.footer-logo{display:inline-block;width:94px;height:auto;vertical-align:middle;margin-right:12px}nav button.active{background:#32311c;color:#f7f233}.bookbtn{background:#34331d;color:#f7f233}.balancecard{background:linear-gradient(145deg,#28271c,#171714);border-color:#494733}.light,.primary,.amounts .selected{color:#151507}.online{background:#f7f233}.pill{color:#f7f233}@media(max-width:760px){.brand{width:122px;max-width:122px}.brand img{height:auto}.balancecard h2{margin-bottom:12px}.footer-logo{width:80px}}

.slot-help{font-size:11px;line-height:1.8;color:#b8b8bf}.slots button.busy{border-style:dashed;border-color:#a47c51;color:#e5bc91}.slots button small{display:block;font-size:8px;line-height:1.5;margin-top:4px}.slots button.busy.selected{background:#3c2d23;color:#ffd4a4;border-color:#d6a16c}.recommendations{padding:16px;margin:15px 0;border:1px solid #686427;border-radius:8px;background:#29281c}.recommendations h3{font-size:15px;margin:0 0 8px;color:#f7f233}.recommendations p{font-size:11px;line-height:1.7;margin:7px 0}.room-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.room-option{display:grid;gap:8px;text-align:left;border:1px solid #56543b;border-radius:7px;background:#181916;padding:13px}.room-option strong{font-size:14px;color:white}.room-option span{font-size:10px;color:#c0c5ae}.room-option b{font-size:10px;color:#f7f233}.room-option:hover{border-color:#f7f233}@media(max-width:430px){.room-options{grid-template-columns:1fr}.slots{grid-template-columns:repeat(3,1fr)}}

.authlinks{display:flex;flex-wrap:wrap;gap:16px;margin-top:20px}.authlinks button{font-size:12px;color:#f7f233}#authclose{font-size:24px}
