:root{
  --bg:#030303;--panel:#090909;--panel2:#12100b;--gold:#d9a741;--gold2:#ffe28a;--gold3:#8b641d;--text:#fff8df;--muted:#d4c39a;--line:rgba(226,177,69,.78);--soft:rgba(226,177,69,.18);--danger:#f07070;--ok:#78d493;
}
*{box-sizing:border-box}html,body{margin:0;width:100%;min-height:100%;background:#000;color:var(--text);font-family:Arial,'Noto Sans TC','Noto Sans JP','Noto Sans KR',sans-serif;overflow:hidden}button,input,select,textarea{font:inherit}button,a{cursor:pointer}a{text-decoration:none;color:inherit}.booking-bg{position:fixed;inset:0;background:radial-gradient(circle at 78% 18%,rgba(255,199,77,.22),transparent 28%),radial-gradient(circle at 12% 88%,rgba(255,199,77,.12),transparent 24%),linear-gradient(180deg,#040404,#090805 52%,#000);z-index:-2}.booking-bg:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 0 3%,rgba(255,197,72,.05) 48%,transparent 97%);box-shadow:inset 0 0 120px rgba(0,0,0,.95);z-index:-1}.booking-shell{width:100vw;height:100vh;padding:14px 20px 16px;display:grid;grid-template-rows:96px 72px 42px 1fr 66px;gap:10px}.booking-topbar{display:grid;grid-template-columns:260px 1fr 260px;align-items:center;gap:18px}.touch-btn{-webkit-tap-highlight-color:transparent;touch-action:manipulation}.back-btn,.home-btn{height:78px;border:1.5px solid var(--line);border-radius:20px;background:linear-gradient(180deg,rgba(24,20,12,.92),rgba(4,4,4,.94));box-shadow:0 0 18px rgba(226,177,69,.18),inset 0 0 16px rgba(226,177,69,.06);display:flex;align-items:center;justify-content:center;gap:14px;color:var(--gold2);font-weight:900}.back-btn .arrow{font-size:48px;line-height:1}.home-icon{font-size:38px}.back-btn b,.home-btn b{display:block;font-size:22px;letter-spacing:.04em}.back-btn small,.home-btn small{display:block;color:#fff;font-size:13px;margin-top:3px;letter-spacing:.08em}.brand-block{height:96px;text-align:center;display:flex;align-items:center;justify-content:center;gap:18px}.brand-crown{font-size:58px;line-height:.8;color:var(--gold2);filter:drop-shadow(0 0 10px rgba(255,209,92,.55))}.brand-block h1{margin:0;color:var(--gold2);font-family:Georgia,'Times New Roman',serif;font-size:58px;line-height:.92;letter-spacing:.1em;text-shadow:0 0 10px rgba(255,210,92,.55),0 2px 0 #5a3709}.brand-block p{margin:8px 0 0;color:#fff;font-size:18px;letter-spacing:.16em}.lang-row{height:72px;border:1.5px solid var(--line);border-radius:18px;background:rgba(8,8,8,.88);display:grid;grid-template-columns:repeat(5,1fr);overflow:hidden}.lang-btn{background:transparent;border:0;border-right:1px solid rgba(226,177,69,.58);color:var(--gold2);font-weight:900;font-size:24px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}.lang-btn:last-child{border-right:0}.lang-btn small{font-size:12px;color:#fff;opacity:.9}.lang-btn.active{background:linear-gradient(180deg,rgba(226,177,69,.24),rgba(226,177,69,.04));box-shadow:inset 0 0 22px rgba(226,177,69,.22)}.booking-flowbar{height:42px;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.flow-step{border:1px solid rgba(226,177,69,.38);border-radius:999px;background:rgba(9,9,9,.78);display:flex;align-items:center;justify-content:center;gap:10px;color:var(--muted);font-size:15px}.flow-step span{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--gold3);color:var(--gold2);font-weight:900}.flow-step.active{border-color:var(--gold);color:#fff;background:linear-gradient(180deg,rgba(226,177,69,.22),rgba(0,0,0,.45))}.booking-grid{min-height:0;display:grid;grid-template-columns:410px 1fr 420px;gap:14px}.panel{min-height:0;border:1.5px solid var(--line);border-radius:22px;background:linear-gradient(180deg,rgba(17,15,10,.95),rgba(4,4,4,.96));box-shadow:0 14px 38px rgba(0,0,0,.45),inset 0 0 16px rgba(226,177,69,.06);padding:18px;overflow:hidden}.panel h2{margin:0 0 14px;color:var(--gold2);font-size:28px;letter-spacing:.04em;text-shadow:0 0 8px rgba(255,205,87,.35)}.form-grid,.guest-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid .wide,.guest-fields .wide,.gold-action.wide{grid-column:1/-1}.form-grid label,.guest-fields label{display:grid;gap:6px;color:var(--gold2);font-size:14px;font-weight:800}input,select,textarea{width:100%;min-height:48px;border:1.5px solid rgba(226,177,69,.74);border-radius:12px;background:#050505;color:#fff8df;padding:10px 12px;outline:none;font-weight:800}textarea{resize:none;min-height:72px}.gold-action,.ghost-action{min-height:54px;border:1.5px solid var(--line);border-radius:14px;font-weight:950;letter-spacing:.06em}.gold-action{background:linear-gradient(180deg,#ffe28a,#d39b2c 52%,#8d5b12);color:#120c02;box-shadow:0 0 18px rgba(255,203,75,.22)}.ghost-action{background:#080808;color:var(--gold2)}.mini-info{margin-top:16px;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.mini-info div{border:1px solid rgba(226,177,69,.42);border-radius:14px;background:rgba(0,0,0,.4);padding:12px;text-align:center}.mini-info b{display:block;color:var(--gold2);font-size:26px}.mini-info small{display:block;color:#fff;font-size:12px;margin-top:4px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.badge{border:1px solid rgba(226,177,69,.58);border-radius:999px;padding:8px 12px;color:#fff;background:rgba(226,177,69,.12);font-weight:900}.room-cards{height:calc(100% - 50px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;overflow:auto;padding-right:4px}.room-card{border:1.5px solid rgba(226,177,69,.62);border-radius:18px;background:linear-gradient(180deg,rgba(10,10,10,.96),rgba(16,12,6,.9));padding:14px;display:grid;grid-template-rows:auto auto auto 1fr auto;gap:8px;position:relative}.room-card.selected{border-color:#ffe28a;box-shadow:0 0 24px rgba(255,216,101,.28),inset 0 0 16px rgba(255,216,101,.08)}.room-card h3{margin:0;color:var(--gold2);font-size:22px}.room-card p{margin:0;color:#fff;line-height:1.35;font-size:14px}.room-tags{display:flex;gap:6px;flex-wrap:wrap}.room-tags span{border:1px solid rgba(226,177,69,.36);border-radius:999px;padding:4px 8px;color:#fff;font-size:12px;background:rgba(226,177,69,.1)}.room-price{font-size:30px;color:#fff;font-weight:950}.room-price small{font-size:12px;color:var(--muted);font-weight:600}.room-card button{width:100%;min-height:44px}.summary-card{border:1px solid rgba(226,177,69,.45);border-radius:16px;background:rgba(0,0,0,.42);padding:14px;margin:14px 0}.summary-card h3{margin:0 0 8px;color:var(--gold2);font-size:20px}.summary-line{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid rgba(226,177,69,.14);font-size:14px}.summary-line:last-child{border-bottom:0}.summary-line b{color:var(--gold2)}.booking-footer{border:1px solid rgba(226,177,69,.5);border-radius:18px;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:space-between;padding:10px 16px;color:#fff}.booking-footer b{color:var(--gold2);font-size:17px}.booking-footer small{display:block;color:#fff;font-size:13px}.support-btn{border:1px solid var(--line);border-radius:999px;padding:12px 20px;color:var(--gold2);font-weight:900;background:rgba(226,177,69,.09)}.success-dialog{border:0;background:transparent;color:var(--text);padding:0}.success-dialog::backdrop{background:rgba(0,0,0,.75)}.dialog-card{width:min(620px,92vw);border:1.5px solid var(--line);border-radius:24px;background:linear-gradient(180deg,#161107,#040404);padding:28px;box-shadow:0 20px 60px rgba(0,0,0,.65)}.dialog-card h2{margin:0 0 12px;color:var(--gold2);font-size:34px}.dialog-card p{line-height:1.7}.dialog-actions{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}.dialog-actions a,.dialog-actions button{display:flex;align-items:center;justify-content:center;text-align:center}.invalid{border-color:var(--danger)!important;box-shadow:0 0 12px rgba(240,112,112,.32)}
@media (max-width:1100px){html,body{overflow:auto}.booking-shell{height:auto;min-height:100vh;grid-template-rows:auto auto auto auto auto}.booking-topbar{grid-template-columns:1fr}.brand-block{order:-1}.booking-grid{grid-template-columns:1fr}.room-cards{height:auto;grid-template-columns:1fr}.booking-footer{flex-direction:column;gap:10px}.back-btn,.home-btn{height:64px}.brand-block h1{font-size:42px}}


/* V289: simple hotel location selector map */
.hotel-map{position:relative;height:154px;margin:0 0 12px;border:1.5px solid rgba(226,177,69,.58);border-radius:18px;background:radial-gradient(circle at 20% 20%,rgba(255,216,101,.12),transparent 38%),linear-gradient(180deg,rgba(10,9,6,.88),rgba(0,0,0,.68));box-shadow:inset 0 0 18px rgba(226,177,69,.07);overflow:hidden}
.hotel-map:before{content:'';position:absolute;left:28px;right:28px;top:82px;height:2px;background:linear-gradient(90deg,transparent,rgba(255,226,138,.42),rgba(255,226,138,.68),rgba(255,226,138,.42),transparent);box-shadow:0 0 9px rgba(255,210,92,.28)}
.hotel-map-title{position:absolute;left:12px;top:8px;color:var(--gold2);font-size:14px;font-weight:950;letter-spacing:.06em;text-shadow:0 0 8px rgba(255,210,92,.35)}
.hotel-map-hint{position:absolute;right:12px;top:9px;color:#fff;font-size:11px;opacity:.82;letter-spacing:.03em}
.map-station{position:absolute;top:33px;border:1px solid rgba(226,177,69,.34);border-radius:999px;color:rgba(255,248,223,.82);font-size:10px;font-weight:900;padding:3px 8px;background:rgba(0,0,0,.38)}
.map-station.sky{left:16px}.map-station.kin{left:138px}.map-station.kura{right:16px}
.hotel-map-btn{position:absolute;top:62px;width:112px;height:78px;border:1.5px solid rgba(226,177,69,.58);border-radius:16px;background:linear-gradient(180deg,rgba(15,13,8,.96),rgba(0,0,0,.9));color:#fff;padding:8px 7px;text-align:center;display:grid;grid-template-rows:26px 18px 1fr;align-items:center;justify-items:center;box-shadow:0 0 12px rgba(0,0,0,.5);-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.hotel-map-btn[data-hotel="king"]{left:12px}.hotel-map-btn[data-hotel="amin"]{left:calc(50% - 56px)}.hotel-map-btn[data-hotel="ido"]{right:12px}
.hotel-map-btn .pin{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(180deg,#ffe28a,#c99027);color:#090600;font-size:15px;font-weight:950;box-shadow:0 0 12px rgba(255,205,87,.42)}
.hotel-map-btn b{color:var(--gold2);font-size:15px;line-height:1;letter-spacing:.03em;text-shadow:0 0 7px rgba(255,210,92,.35)}
.hotel-map-btn small{color:#fff;font-size:10px;line-height:1.18;opacity:.93;max-width:96px;white-space:normal}
.hotel-map-btn.active{border-color:#ffe28a;background:linear-gradient(180deg,rgba(226,177,69,.28),rgba(0,0,0,.82));box-shadow:0 0 20px rgba(255,216,101,.32),inset 0 0 18px rgba(255,216,101,.1)}
.hotel-map-btn:active{transform:scale(.985)}
@media (max-width:1100px){.hotel-map{height:170px}.hotel-map-btn{top:72px}.map-station{top:42px}}


/* V292: Kiosk 16:9 landscape fit fix for Customer Booking.
   Prevents the page from switching into phone/stacked layout on Fully/KTC screens.
   Keeps all main controls visible without vertical scrolling. */
html,body{overflow:hidden!important;width:100%!important;height:100%!important;min-height:100%!important}.booking-shell{width:100vw!important;height:100vh!important;min-height:0!important;overflow:hidden!important;padding:clamp(8px,1.3vh,14px) clamp(12px,1.4vw,20px) clamp(8px,1.3vh,14px)!important;display:grid!important;grid-template-rows:clamp(62px,10.6vh,90px) clamp(46px,7.6vh,66px) clamp(30px,5.2vh,40px) minmax(0,1fr) clamp(42px,7vh,58px)!important;gap:clamp(6px,1.15vh,10px)!important}.booking-topbar{display:grid!important;grid-template-columns:clamp(150px,18vw,230px) 1fr clamp(150px,18vw,230px)!important;align-items:center!important;gap:clamp(8px,1.1vw,16px)!important}.back-btn,.home-btn{height:100%!important;min-height:0!important;border-radius:clamp(12px,1.5vw,18px)!important;gap:clamp(8px,1vw,13px)!important}.back-btn .arrow{font-size:clamp(28px,4.4vh,46px)!important}.home-icon{font-size:clamp(24px,4vh,38px)!important}.back-btn b,.home-btn b{font-size:clamp(15px,2.45vh,22px)!important}.back-btn small,.home-btn small{font-size:clamp(9px,1.55vh,13px)!important}.brand-block{height:100%!important;gap:clamp(8px,1.1vw,16px)!important}.brand-crown{font-size:clamp(30px,6.2vh,54px)!important}.brand-block h1{font-size:clamp(30px,6.0vh,56px)!important;letter-spacing:.10em!important}.brand-block p{margin-top:clamp(2px,.75vh,7px)!important;font-size:clamp(11px,2.05vh,18px)!important;letter-spacing:.13em!important}.lang-row{height:100%!important;border-radius:clamp(10px,1.3vw,16px)!important}.lang-btn{font-size:clamp(15px,2.7vh,24px)!important;gap:1px!important}.lang-btn small{font-size:clamp(8px,1.6vh,12px)!important}.booking-flowbar{height:100%!important;gap:clamp(6px,.8vw,10px)!important}.flow-step{font-size:clamp(10px,1.75vh,15px)!important;gap:clamp(5px,.7vw,10px)!important}.flow-step span{width:clamp(18px,3.0vh,26px)!important;height:clamp(18px,3.0vh,26px)!important}.booking-grid{min-height:0!important;display:grid!important;grid-template-columns:minmax(300px,31%) minmax(260px,1fr) minmax(310px,31%)!important;gap:clamp(7px,1vw,14px)!important;overflow:hidden!important}.panel{min-height:0!important;padding:clamp(10px,1.7vh,16px)!important;border-radius:clamp(12px,1.8vw,20px)!important;overflow:hidden!important}.panel h2{font-size:clamp(19px,3.2vh,28px)!important;margin:0 0 clamp(7px,1.1vh,12px)!important}.form-grid,.guest-fields{gap:clamp(6px,1.05vh,11px)!important}.form-grid label,.guest-fields label{font-size:clamp(10px,1.8vh,14px)!important;gap:clamp(3px,.55vh,6px)!important}input,select,textarea{min-height:clamp(34px,6.2vh,46px)!important;border-radius:clamp(8px,1vw,12px)!important;padding:clamp(6px,1vh,10px) clamp(8px,1vw,12px)!important}.gold-action,.ghost-action{min-height:clamp(38px,6.6vh,52px)!important;border-radius:clamp(9px,1.1vw,14px)!important}.hotel-map{height:clamp(78px,16.5vh,128px)!important;margin-bottom:clamp(6px,1vh,10px)!important;border-radius:clamp(11px,1.5vw,18px)!important}.hotel-map:before{top:52%!important}.hotel-map-title{font-size:clamp(10px,1.8vh,14px)!important;top:clamp(5px,.8vh,8px)!important}.hotel-map-hint{font-size:clamp(8px,1.35vh,11px)!important;top:clamp(5px,.8vh,9px)!important}.map-station{display:none!important}.hotel-map-btn{top:36%!important;height:55%!important;width:31%!important;border-radius:clamp(9px,1.2vw,15px)!important;padding:clamp(4px,.7vh,7px)!important;grid-template-rows:clamp(18px,3.4vh,25px) clamp(13px,2.2vh,17px) 1fr!important}.hotel-map-btn[data-hotel="king"]{left:2%!important}.hotel-map-btn[data-hotel="amin"]{left:34.5%!important}.hotel-map-btn[data-hotel="ido"]{right:2%!important}.hotel-map-btn .pin{width:clamp(18px,3.4vh,25px)!important;height:clamp(18px,3.4vh,25px)!important;font-size:clamp(10px,1.9vh,14px)!important}.hotel-map-btn b{font-size:clamp(10px,1.9vh,14px)!important}.hotel-map-btn small{font-size:clamp(7px,1.25vh,10px)!important;line-height:1.08!important;max-width:none!important}.mini-info{margin-top:clamp(6px,1vh,12px)!important;gap:clamp(5px,.7vw,8px)!important}.mini-info div{padding:clamp(5px,.85vh,10px)!important;border-radius:clamp(9px,1vw,13px)!important}.mini-info b{font-size:clamp(16px,3.3vh,24px)!important}.mini-info small{font-size:clamp(7px,1.25vh,11px)!important}.panel-head{height:auto!important}.badge{padding:clamp(5px,.8vh,8px) clamp(8px,1vw,12px)!important;font-size:clamp(10px,1.8vh,14px)!important}.room-cards{height:calc(100% - clamp(35px,6.2vh,50px))!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:clamp(6px,.85vw,10px)!important;overflow:auto!important}.room-card{padding:clamp(8px,1.2vh,13px)!important;border-radius:clamp(10px,1.4vw,17px)!important;gap:clamp(4px,.7vh,8px)!important}.room-card h3{font-size:clamp(15px,2.5vh,21px)!important}.room-card p{font-size:clamp(10px,1.65vh,14px)!important;line-height:1.22!important}.room-tags{gap:4px!important}.room-tags span{font-size:clamp(8px,1.35vh,11px)!important;padding:3px 6px!important}.room-price{font-size:clamp(18px,3.4vh,28px)!important}.room-price small{font-size:clamp(8px,1.3vh,11px)!important}.room-card button{min-height:clamp(32px,5.2vh,42px)!important}.guest-fields textarea{min-height:clamp(48px,8vh,70px)!important}.summary-card{padding:clamp(8px,1.3vh,13px)!important;margin:clamp(7px,1vh,12px) 0!important;border-radius:clamp(10px,1.2vw,15px)!important}.summary-card h3{font-size:clamp(15px,2.5vh,20px)!important;margin-bottom:clamp(4px,.6vh,8px)!important}.summary-card p,.summary-line{font-size:clamp(10px,1.7vh,14px)!important}.summary-line{padding:clamp(4px,.7vh,7px) 0!important}.booking-footer{padding:clamp(6px,1vh,10px) clamp(10px,1.2vw,16px)!important;border-radius:clamp(11px,1.3vw,17px)!important;flex-direction:row!important}.booking-footer b{font-size:clamp(12px,2vh,17px)!important}.booking-footer small{font-size:clamp(9px,1.45vh,13px)!important}.support-btn{padding:clamp(8px,1.3vh,12px) clamp(12px,1.4vw,20px)!important;font-size:clamp(10px,1.8vh,14px)!important}
@media (max-width:1100px){html,body{overflow:hidden!important}.booking-shell{height:100vh!important;min-height:0!important;grid-template-rows:clamp(62px,10.6vh,90px) clamp(46px,7.6vh,66px) clamp(30px,5.2vh,40px) minmax(0,1fr) clamp(42px,7vh,58px)!important}.booking-topbar{grid-template-columns:clamp(150px,18vw,230px) 1fr clamp(150px,18vw,230px)!important}.brand-block{order:0!important}.booking-grid{grid-template-columns:minmax(300px,31%) minmax(260px,1fr) minmax(310px,31%)!important}.room-cards{height:calc(100% - clamp(35px,6.2vh,50px))!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}.booking-footer{flex-direction:row!important}.back-btn,.home-btn{height:100%!important}.brand-block h1{font-size:clamp(30px,6.0vh,56px)!important}}
@media (max-height:700px){.mini-info{display:none!important}.hotel-map{height:clamp(72px,15vh,102px)!important}.panel h2{font-size:clamp(18px,3vh,24px)!important}.brand-block p{margin-top:2px!important}.guest-fields textarea{min-height:44px!important}.summary-card{max-height:24vh!important;overflow:hidden!important}}
@media (max-width:980px){.booking-grid{grid-template-columns:30% 34% 34%!important}.panel{padding:8px!important}.hotel-map-btn small{display:none!important}.hotel-map-btn{grid-template-rows:1fr 1fr!important}.mini-info{display:none!important}.room-cards{grid-template-columns:1fr!important}.brand-block h1{font-size:clamp(26px,5.4vh,46px)!important}}



/* V293: force one-screen customer booking layout.
   Purpose: keep Back, Home, language, steps, search, room list, guest info all visible on the monitor.
   This block is intentionally placed after all old responsive rules and uses !important to defeat cached/stacked mobile layout. */
html,body{overflow:hidden!important;width:100vw!important;height:100vh!important;min-width:0!important;min-height:0!important;background:#000!important}.booking-bg{position:fixed!important;inset:0!important}.booking-shell{position:fixed!important;inset:0!important;width:100vw!important;height:100vh!important;min-height:0!important;max-height:100vh!important;overflow:hidden!important;padding:8px 14px 10px!important;display:grid!important;grid-template-rows:64px 48px 28px minmax(0,1fr)!important;gap:7px!important;transform:none!important}.booking-topbar{height:64px!important;min-height:0!important;display:grid!important;grid-template-columns:165px minmax(0,1fr) 165px!important;gap:9px!important;align-items:center!important}.brand-block{height:64px!important;min-height:0!important;order:0!important;gap:8px!important;display:flex!important;align-items:center!important;justify-content:center!important}.brand-crown{font-size:34px!important;line-height:.8!important}.brand-block h1{font-size:37px!important;line-height:.85!important;letter-spacing:.10em!important;margin:0!important}.brand-block p{font-size:12px!important;line-height:1.1!important;margin:4px 0 0!important;letter-spacing:.12em!important}.back-btn,.home-btn{height:58px!important;min-height:0!important;border-radius:14px!important;gap:8px!important;padding:0 8px!important}.back-btn .arrow{font-size:30px!important}.home-icon{font-size:25px!important}.back-btn b,.home-btn b{font-size:16px!important;line-height:1!important}.back-btn small,.home-btn small{font-size:9px!important;margin-top:1px!important;line-height:1!important}.lang-row{height:48px!important;min-height:0!important;border-radius:13px!important;grid-template-columns:repeat(5,1fr)!important}.lang-btn{font-size:15px!important;line-height:1!important;padding:0!important;gap:1px!important}.lang-btn small{font-size:8px!important;line-height:1!important}.booking-flowbar{height:28px!important;min-height:0!important;display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:6px!important}.flow-step{height:28px!important;min-height:0!important;border-radius:999px!important;font-size:10px!important;line-height:1!important;gap:5px!important}.flow-step span{width:18px!important;height:18px!important;font-size:10px!important;line-height:1!important}.booking-grid{height:100%!important;min-height:0!important;max-height:100%!important;display:grid!important;grid-template-columns:30% 38% 30%!important;gap:8px!important;overflow:hidden!important}.panel{height:100%!important;min-height:0!important;max-height:100%!important;padding:9px!important;border-radius:14px!important;overflow:hidden!important}.panel h2{font-size:20px!important;line-height:1!important;margin:0 0 7px!important}.search-panel{display:grid!important;grid-template-rows:auto 82px auto auto!important;gap:6px!important}.hotel-map{height:82px!important;min-height:0!important;margin:0!important;border-radius:11px!important}.hotel-map:before{top:50%!important;left:18px!important;right:18px!important}.hotel-map-title{font-size:10px!important;top:5px!important;left:8px!important}.hotel-map-hint{font-size:8px!important;top:6px!important;right:8px!important}.map-station{display:none!important}.hotel-map-btn{top:28px!important;height:47px!important;width:31%!important;border-radius:10px!important;padding:3px!important;display:grid!important;grid-template-rows:18px 13px 1fr!important}.hotel-map-btn[data-hotel="king"]{left:2%!important}.hotel-map-btn[data-hotel="amin"]{left:34.5%!important}.hotel-map-btn[data-hotel="ido"]{right:2%!important}.hotel-map-btn .pin{width:18px!important;height:18px!important;font-size:10px!important}.hotel-map-btn b{font-size:10px!important;line-height:1!important}.hotel-map-btn small{font-size:7px!important;line-height:1.0!important;max-width:none!important;white-space:normal!important}.form-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px!important}.form-grid label,.guest-fields label{font-size:10px!important;line-height:1!important;gap:3px!important}.form-grid label span,.guest-fields label span{line-height:1!important}input,select,textarea{min-height:30px!important;height:30px!important;border-radius:8px!important;padding:4px 7px!important;font-size:11px!important;line-height:1.1!important}.search-panel .gold-action{min-height:32px!important;height:32px!important;font-size:11px!important;border-radius:9px!important}.mini-info{display:grid!important;margin:0!important;gap:5px!important}.mini-info div{padding:4px!important;border-radius:9px!important}.mini-info b{font-size:15px!important;line-height:1!important}.mini-info small{font-size:7px!important;line-height:1!important;margin-top:2px!important}.rooms-panel{display:grid!important;grid-template-rows:32px minmax(0,1fr)!important;gap:5px!important}.panel-head{height:32px!important;min-height:0!important}.panel-head h2{margin:0!important}.badge{font-size:10px!important;padding:5px 8px!important;border-radius:999px!important}.room-cards{height:100%!important;min-height:0!important;max-height:100%!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important;overflow:auto!important;padding-right:2px!important}.room-card{padding:7px!important;border-radius:11px!important;gap:4px!important;min-height:0!important}.room-card h3{font-size:15px!important;line-height:1.08!important;margin:0!important}.room-card p{font-size:9px!important;line-height:1.16!important;margin:0!important}.room-tags{gap:3px!important}.room-tags span{font-size:7px!important;line-height:1!important;padding:2px 5px!important}.room-price{font-size:17px!important;line-height:1!important}.room-price small{font-size:7px!important;line-height:1!important}.room-card button{min-height:28px!important;height:28px!important;font-size:10px!important;border-radius:8px!important}.guest-panel{display:grid!important;grid-template-rows:26px auto minmax(74px,auto) 34px!important;gap:6px!important}.guest-panel h2{margin:0!important}.guest-fields{display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px!important}.guest-fields textarea{height:42px!important;min-height:42px!important;max-height:42px!important}.summary-card{margin:0!important;padding:7px!important;border-radius:10px!important;max-height:92px!important;overflow:hidden!important}.summary-card h3{font-size:14px!important;line-height:1!important;margin:0 0 4px!important}.summary-card p,.summary-line{font-size:9px!important;line-height:1.12!important}.summary-line{padding:3px 0!important}.guest-panel>.gold-action{height:34px!important;min-height:34px!important;font-size:11px!important;border-radius:9px!important}.booking-footer{display:none!important}.support-btn{display:none!important}.success-dialog{max-width:100vw!important;max-height:100vh!important}.dialog-card{width:min(520px,90vw)!important;padding:18px!important;border-radius:18px!important}.dialog-card h2{font-size:26px!important}.dialog-card p{font-size:14px!important}.dialog-actions{gap:10px!important}.dialog-actions a,.dialog-actions button{min-height:42px!important;font-size:13px!important}
@media (max-width:1100px){.booking-shell{grid-template-rows:64px 48px 28px minmax(0,1fr)!important}.booking-topbar{grid-template-columns:165px minmax(0,1fr) 165px!important}.brand-block{order:0!important}.booking-grid{grid-template-columns:30% 38% 30%!important}.room-cards{grid-template-columns:repeat(2,minmax(0,1fr))!important}.booking-footer{display:none!important}.back-btn,.home-btn{height:58px!important}.brand-block h1{font-size:37px!important}}
@media (max-width:860px){.booking-shell{padding:6px!important;grid-template-rows:54px 40px 24px minmax(0,1fr)!important;gap:5px!important}.booking-topbar{height:54px!important;grid-template-columns:120px 1fr 120px!important}.brand-crown{font-size:26px!important}.brand-block h1{font-size:26px!important}.brand-block p{font-size:9px!important}.back-btn,.home-btn{height:50px!important}.back-btn b,.home-btn b{font-size:12px!important}.back-btn small,.home-btn small{font-size:7px!important}.lang-btn{font-size:12px!important}.lang-btn small{font-size:7px!important}.booking-grid{grid-template-columns:31% 36% 31%!important;gap:5px!important}.panel{padding:6px!important}.panel h2{font-size:15px!important}.hotel-map{height:62px!important}.hotel-map-title,.hotel-map-hint,.hotel-map-btn small{display:none!important}.hotel-map-btn{top:15px!important;height:40px!important}.mini-info{display:none!important}.room-cards{grid-template-columns:1fr!important}.guest-fields{grid-template-columns:1fr 1fr!important}input,select,textarea{height:26px!important;min-height:26px!important;font-size:9px!important}.summary-card{max-height:70px!important}.guest-fields textarea{height:32px!important;min-height:32px!important}.guest-panel{grid-template-rows:20px auto minmax(55px,auto) 28px!important}.guest-panel>.gold-action{height:28px!important;min-height:28px!important}}
@media (max-height:620px){.booking-shell{grid-template-rows:54px 40px 24px minmax(0,1fr)!important;gap:5px!important}.booking-topbar{height:54px!important}.brand-crown{font-size:28px!important}.brand-block h1{font-size:29px!important}.brand-block p{font-size:10px!important}.back-btn,.home-btn{height:50px!important}.lang-row{height:40px!important}.booking-flowbar{height:24px!important}.flow-step{height:24px!important}.hotel-map{height:58px!important}.mini-info{display:none!important}.guest-fields textarea{display:none!important}.summary-card{max-height:64px!important}.room-card p{display:none!important}.room-tags span:nth-child(n+3){display:none!important}.room-price small{display:none!important}}

/* V296 PMS + Payment integration UI */
.payment-status{margin:10px 0 10px;border:1px solid rgba(226,177,69,.48);border-radius:14px;background:rgba(0,0,0,.42);min-height:42px;padding:8px 12px;display:flex;align-items:center;gap:10px;color:#fff;font-size:13px;line-height:1.25}
.payment-status b{color:var(--gold2);font-size:14px;letter-spacing:.08em;text-shadow:0 0 8px rgba(255,210,92,.35)}
.payment-status span{opacity:.94}.payment-status.ok{border-color:rgba(120,212,147,.78);box-shadow:0 0 14px rgba(120,212,147,.10)}.payment-status.warn{border-color:rgba(255,226,138,.75);box-shadow:0 0 14px rgba(255,226,138,.12)}.payment-status.err{border-color:rgba(240,112,112,.78);box-shadow:0 0 14px rgba(240,112,112,.10)}
.room-card .hold-badge{display:inline-flex;align-items:center;justify-content:center;margin-left:6px;padding:2px 7px;border-radius:999px;border:1px solid rgba(255,226,138,.45);color:#ffe28a;font-size:11px;font-weight:900;background:rgba(226,177,69,.08)}
.room-card.selected{box-shadow:0 0 22px rgba(255,205,76,.18),inset 0 0 16px rgba(255,205,76,.12)}
.guest-fields select option{background:#111;color:#fff}.summary-card .pay-line b{color:#ffe28a}.gold-action.processing{opacity:.75;pointer-events:none;filter:saturate(.8)}
.integration-note{font-size:11px;color:var(--muted);line-height:1.35;margin-top:6px;opacity:.85}
@media(max-height:760px){.payment-status{min-height:34px;padding:6px 10px;font-size:12px}.summary-card{min-height:82px}.guest-fields{gap:8px}}
/* V296 final one-page row allocation: guest panel now includes PMS/payment status line. */
.guest-panel{grid-template-rows:26px auto 34px minmax(74px,auto) 34px!important}
@media(max-width:860px){.guest-panel{grid-template-rows:20px auto 28px minmax(55px,auto) 28px!important}}
@media(max-height:620px){.payment-status{min-height:24px!important;height:24px!important;padding:3px 6px!important;font-size:9px!important}.guest-panel{grid-template-rows:20px auto 24px minmax(55px,auto) 28px!important}}

/* V300 production booking refinements */
.payment-status{margin-top:14px;border:1px solid rgba(226,177,69,.48);border-radius:14px;background:rgba(0,0,0,.44);padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:#fff;font-weight:850}
.payment-status b{color:var(--gold2);letter-spacing:.08em}.payment-status.ok{border-color:rgba(117,211,146,.72)}.payment-status.warn{border-color:rgba(255,210,92,.7)}.payment-status.err{border-color:rgba(240,112,112,.78)}
.hold-badge{display:inline-flex;margin-left:8px;padding:3px 8px;border:1px solid rgba(255,226,138,.75);border-radius:999px;color:#ffe28a;font-size:12px;vertical-align:middle;background:rgba(0,0,0,.48)}
.gold-action.processing{opacity:.72;pointer-events:none;filter:saturate(.85)}
@media (max-width:1100px),(max-height:720px){.booking-shell{grid-template-rows:78px 58px 36px 1fr 54px;padding:10px 12px;gap:8px}.booking-topbar{grid-template-columns:190px 1fr 190px}.brand-block h1{font-size:42px}.brand-crown{font-size:44px}.booking-grid{grid-template-columns:34% 1fr 34%;gap:9px}.panel{padding:12px}.panel h2{font-size:22px}.room-card h3{font-size:18px}.room-price{font-size:24px}}

/* V301 hotel selector visibility fix
   Fix: on 31.5-inch landscape kiosk the three hotel names were clipped because the map row and buttons were too short. */
@media (min-width:861px) and (orientation:landscape){
  .search-panel{grid-template-rows:auto 122px auto auto!important;gap:7px!important}
  .hotel-map{height:122px!important;min-height:122px!important;overflow:visible!important;margin:0 0 2px!important;border-radius:13px!important}
  .hotel-map:before{top:61px!important;left:18px!important;right:18px!important}
  .hotel-map-title{font-size:12px!important;top:8px!important;left:11px!important}
  .hotel-map-hint{font-size:10px!important;top:9px!important;right:11px!important}
  .hotel-map-btn{top:40px!important;height:74px!important;width:31%!important;padding:7px 5px 6px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:4px!important;overflow:visible!important;border-radius:13px!important}
  .hotel-map-btn .pin{width:24px!important;height:24px!important;font-size:14px!important;flex:0 0 auto!important}
  .hotel-map-btn b{display:block!important;color:#ffeeb2!important;font-size:13px!important;line-height:1.05!important;letter-spacing:.02em!important;white-space:nowrap!important;max-width:100%!important;overflow:visible!important;text-align:center!important;text-shadow:0 0 8px rgba(255,210,92,.42)!important}
  .hotel-map-btn small{display:block!important;color:#fff!important;font-size:8px!important;line-height:1.05!important;max-width:100%!important;white-space:normal!important;text-align:center!important;overflow:visible!important;opacity:.92!important}
}
@media (max-height:620px) and (min-width:861px){
  .search-panel{grid-template-rows:auto 96px auto auto!important}
  .hotel-map{height:96px!important;min-height:96px!important;overflow:visible!important}
  .hotel-map-btn{top:32px!important;height:58px!important;gap:2px!important;padding:4px!important}
  .hotel-map-btn .pin{width:20px!important;height:20px!important;font-size:12px!important}
  .hotel-map-btn b{font-size:11px!important}
  .hotel-map-btn small{font-size:7px!important;line-height:1!important}
}


/* V306 customer booking UI polish: larger hotel selector, clearer room cards, full summary, hold timer. */
@media (min-width:861px) and (orientation:landscape){
  .booking-grid{grid-template-columns:32% 38% 30%!important;gap:10px!important}
  .search-panel{display:grid!important;grid-template-rows:auto 142px auto!important;gap:8px!important}
  .hotel-map{height:142px!important;min-height:142px!important;overflow:visible!important;margin-bottom:4px!important}
  .hotel-map-title{font-size:14px!important;top:9px!important}.hotel-map-hint{font-size:12px!important;top:10px!important}
  .hotel-map:before{top:76px!important}
  .hotel-map-btn{top:40px!important;height:94px!important;width:31%!important;padding:8px 6px!important;gap:5px!important;display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;overflow:visible!important}
  .hotel-map-btn .pin{width:30px!important;height:30px!important;font-size:16px!important}.hotel-map-btn b{font-size:15px!important;color:#fff2b8!important}.hotel-map-btn small{font-size:9px!important;line-height:1.12!important}.hotel-map-btn.active{border-width:2px!important;box-shadow:0 0 26px rgba(255,226,138,.48),inset 0 0 20px rgba(255,226,138,.13)!important}
  .room-cards{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}.room-card{min-height:150px!important}.room-card h3{font-size:20px!important}.room-card p{font-size:12px!important}.room-tags span{font-size:10px!important}.room-price{font-size:25px!important}.room-card button{font-size:13px!important}
  .guest-panel{grid-template-rows:28px auto 38px minmax(126px,1fr) 42px!important;gap:7px!important}.summary-card{max-height:none!important;overflow:auto!important;min-height:126px!important}.summary-line{font-size:12px!important;line-height:1.15!important}.summary-card h3{font-size:17px!important}.payment-status{min-height:36px!important;font-size:12px!important;margin:6px 0!important;padding:6px 10px!important}.guest-panel>.gold-action{height:42px!important;min-height:42px!important}
  .hold-timer-card{border:1.5px solid rgba(255,226,138,.78);border-radius:14px;background:linear-gradient(180deg,rgba(255,226,138,.16),rgba(0,0,0,.52));padding:8px 10px;margin:8px 0;display:flex;align-items:center;justify-content:space-between;gap:10px;box-shadow:0 0 16px rgba(255,226,138,.13)}
  .hold-timer-card span{font-size:12px;color:#fff;font-weight:900}.hold-timer-card b{font-size:23px;color:#ffe28a;letter-spacing:.08em;text-shadow:0 0 9px rgba(255,226,138,.45)}
  .hold-timer-card.warning b{color:#ffb347}.hold-timer-card.danger b{color:#ff6961}.summary-total b{font-size:15px;color:#fff2b8!important}.room-left{color:#ffe28a!important;font-weight:950!important}
}

/* V311 booking rule fix: remove hotel selector background line and show pricing rules clearly */
.hotel-map:before{display:none!important;content:none!important}
.hotel-map{background-image:none!important}
#payMethod.disabled,#payMethod:disabled{opacity:.62;filter:saturate(.65);cursor:not-allowed}
.price-rule-note,.rule-note{font-size:10px!important;line-height:1.25!important;color:#ffe6a6!important;margin:2px 0 0!important;opacity:.95!important}
.summary-card{max-height:150px!important;overflow:auto!important}
@media (max-height:720px){.summary-card{max-height:120px!important}.price-rule-note,.rule-note{font-size:8px!important}}


/* B1503 front booking: group reservation UI */
.group-size-wrap[hidden], .group-planner[hidden]{display:none!important}
.group-planner{grid-column:1/-1;border:1px solid rgba(226,177,69,.55);border-radius:14px;background:linear-gradient(180deg,rgba(226,177,69,.16),rgba(0,0,0,.42));padding:10px 12px;color:#fff;display:grid;gap:4px;box-shadow:inset 0 0 18px rgba(226,177,69,.06)}
.group-planner b{color:#ffe28a;font-size:14px;letter-spacing:.04em}.group-planner span{font-size:13px;font-weight:900}.group-planner small{color:rgba(255,255,255,.76);font-size:11px;line-height:1.35}.group-plan-card{border-color:rgba(255,226,138,.72)!important;background:linear-gradient(180deg,rgba(255,226,138,.13),rgba(0,0,0,.50))!important}.group-plan-card h3{color:#fff2b8!important}.group-detail{font-size:12px;color:#fff;border-top:1px solid rgba(226,177,69,.28);border-bottom:1px solid rgba(226,177,69,.22);padding:6px 0;margin:5px 0;line-height:1.35}.group-plan-card .room-tags span{background:rgba(255,226,138,.12)!important;border-color:rgba(255,226,138,.45)!important}.group-plan-card .room-left{color:#ffe28a!important}
@media (max-width:860px){.group-planner{padding:8px}.group-planner b{font-size:12px}.group-planner span{font-size:11px}.group-detail{font-size:10px}}


/* V5166 Channel Manager readiness */
.channel-status{margin:8px 0 4px;border:1px solid rgba(226,177,69,.48);border-radius:14px;background:linear-gradient(180deg,rgba(226,177,69,.11),rgba(0,0,0,.46));padding:9px 11px;display:grid;gap:6px;color:#fff}
.channel-status-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.channel-status-head b{color:#ffe28a;font-size:12px;letter-spacing:.08em}.channel-state{padding:3px 8px;border-radius:999px;border:1px solid rgba(255,255,255,.24);font-size:10px;font-weight:900}.channel-state.online{color:#9ff0b8;border-color:rgba(117,211,146,.75)}.channel-state.queued,.channel-state.pending{color:#ffe28a;border-color:rgba(255,226,138,.65)}.channel-state.error{color:#ff9f9f;border-color:rgba(240,112,112,.75)}
.channel-platforms{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.channel-platforms span{display:flex;align-items:center;justify-content:center;min-height:24px;border-radius:8px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.12);font-size:10px;font-weight:900}.channel-status small{color:rgba(255,255,255,.72);font-size:9px;line-height:1.3}
@media(max-width:860px){.channel-platforms{grid-template-columns:1fr}.channel-status{padding:8px}.channel-status small{font-size:10px}}

/* V5167 secure card payment panel */
.card-payment-panel{border:1px solid rgba(214,177,85,.48);border-radius:14px;padding:14px;background:linear-gradient(180deg,rgba(31,25,12,.88),rgba(8,8,8,.92));display:grid;gap:10px}.card-payment-panel[hidden]{display:none!important}.card-payment-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.card-payment-head b{color:#f2d17a;font-size:16px}.card-payment-head span{font-size:12px;color:#c8c8c8}.card-brands{display:flex;flex-wrap:wrap;gap:8px}.card-brands span{min-width:72px;padding:8px 10px;border-radius:8px;background:#fff;color:#111;font-weight:900;text-align:center;letter-spacing:.4px}.card-payment-panel p{margin:0;color:#ddd;font-size:13px;line-height:1.55}.card-payment-meta{display:flex;flex-wrap:wrap;gap:8px 16px;color:#9fe0b5;font-size:12px}@media(max-width:720px){.card-payment-head{align-items:flex-start;flex-direction:column}.card-brands span{min-width:62px;padding:7px 8px}.card-payment-meta{display:grid;gap:6px}}
