/* Customer portal visual system, with agent-only controls kept separate. */
:root{--teal:#00a8b3;--darkteal:#008e98;--navy:#16334a;--muted:#72808f;--line:#e6ebef;--bg:#f7fafb;--mint:#e4f8fa;--yellow:#fff500;--shadow:0 3px 12px #18334a06}
body,button,input,select,textarea{font-family:'Segoe UI',Arial,sans-serif}
h1,h2,h3,h4{font-family:'Segoe UI',Arial,sans-serif;letter-spacing:-.45px}
h1{font-size:30px;line-height:1.2;font-weight:750}
h2{font-size:21px}h3{font-size:16px}
button,input,select,textarea{max-width:100%}
.sidebar{width:70px;padding:15px 0 12px;align-items:center;gap:0}
.sidebar .brand{margin:0 0 25px;display:block}
.sidebar .brandtext,.sidebar .nav-label,.sidebar .navtext,.sidebar .navcount,.sidebar .sideart,.sidebar .agentname{display:none}
.brandmark{width:46px;height:46px;background:transparent;border-radius:12px;overflow:hidden}
.brandmark img{width:100%;height:100%;object-fit:contain;display:block}
.sidebar nav{display:grid;gap:10px;width:100%;justify-items:center}
.navbtn{width:42px;height:42px;min-height:42px;padding:10px;margin:0;border-radius:12px;display:grid;place-items:center;color:#6f8391}
.navbtn.active{color:var(--teal);background:#e4f8fa}
.navbtn:hover{color:var(--teal);background:#eef9fa}
.sidebottom{display:grid;justify-items:center;width:100%;gap:12px}
.agentmini{padding:12px 0 0;width:46px;justify-content:center}
.avatar{background:#bd075d;color:white;width:33px;height:33px;font-size:11px}
.shell{margin-left:70px;min-width:0}
.topbar{height:72px;padding:0 36px;gap:16px;box-shadow:none}
.headerbrand{font-size:19px;font-weight:750;letter-spacing:-.5px;display:flex;align-items:center;gap:14px;white-space:nowrap}
.portalbadge{font-size:10px;font-weight:600;letter-spacing:.7px;color:var(--teal);border-left:1px solid var(--line);padding-left:14px;text-transform:uppercase}
.topright{gap:14px;min-width:0}
.currencyselect{font-weight:500;font-size:12px}
.mode{border-radius:9px;gap:9px;padding:7px 10px;background:#f9fdfd}
.mode strong{font-size:11px;font-weight:650}.mode small{font-size:9px}
.mode .icon{width:16px;height:16px}.iconbtn{border:0;color:#6f8391}
.page{padding:22px 36px 28px;max-width:1850px;min-width:0}
.categorybar{gap:10px;margin:0 0 15px;padding:0 0 2px;scrollbar-width:thin}
.cat{padding:11px 20px;border-radius:30px;border:1px solid var(--line);background:white;font-size:13px;font-weight:650;color:var(--navy);gap:9px;min-height:43px}
.cat .icon{color:var(--teal);width:19px;height:19px}.cat.active{background:var(--teal);border-color:var(--teal);color:white;box-shadow:0 5px 14px #00a8b324}.cat.active .icon{color:white}
.hero{min-height:0;padding:0;margin:12px 0 20px;background:none;border-radius:0;overflow:visible}
.hero:after,.heroimg,.hero-tag{display:none}.hero h1{max-width:none;font-size:32px;letter-spacing:-1px}.hero p{font-size:15px;line-height:1.5;margin:6px 0 0;color:var(--muted)}
.searchbar{border-radius:14px;padding:11px;margin-bottom:20px;box-shadow:0 3px 12px #18334a05;align-items:center;grid-template-columns:1.3fr 1fr 1fr .9fr auto}
.searchbar label{padding:0 13px;font-size:10px;min-width:0;letter-spacing:0}
.searchbar label input,.searchbar label select{font-weight:600;font-size:12px;padding:7px 0 4px;min-width:0}
.searchbar .primary{margin-left:12px;padding:12px 19px;min-height:43px}
.searchlayout{grid-template-columns:225px minmax(0,1fr);gap:22px;align-items:start}
.filters{border-radius:12px;padding:15px;min-width:0;max-width:100%}
.filterhead{margin:0;padding:0 0 10px}.filterhead strong{font-size:14px!important}
.filtergroup{padding:12px 0;border-color:var(--line)}.filtergroup h4{font:650 12px 'Segoe UI',Arial,sans-serif;letter-spacing:0;margin:0 0 8px}
.filtergroup label{font-size:12px;gap:8px;margin:9px 0;line-height:1.4}.filtergroup input[type=checkbox]{width:15px;height:15px;flex:0 0 15px}
.filtergroup select{padding:8px;font-size:11px;border-radius:6px;min-height:34px}
.agentfilter{margin-top:8px;padding:10px!important}.agentfilter input{min-height:34px;font-size:12px}
.resultbar{gap:10px;margin:0 0 12px;flex-wrap:wrap}.resultbar>.row{flex:1;min-width:0}.resultcount{font-size:14px;line-height:1.5}.resultcount .tiny{font-weight:400;font-size:11px;margin-left:4px}
.resultbar select{padding:8px 10px;font-size:11px;min-height:35px;max-width:220px}
.view-switch{display:flex;gap:4px}.view-switch button{width:35px;height:35px;border:1px solid var(--line);border-radius:6px;display:grid;place-items:center;background:white;color:var(--muted)}
.view-switch .icon{width:16px;height:16px}.view-switch button.active{color:var(--teal);background:#e6f9fa;border-color:#bfe8eb}
.results-section,.results-grid{min-width:0}
.listing{grid-template-columns:minmax(180px,25%) minmax(0,1fr);border-radius:12px;margin:0 0 13px;box-shadow:none}
.listingphoto{min-height:200px}.listingbody{padding:15px 17px;min-width:0}.listing h3{font-size:17px;letter-spacing:-.4px;line-height:1.3}
.location{line-height:1.5;flex-wrap:wrap;row-gap:2px;margin-top:5px;overflow-wrap:anywhere;font-size:11px}
.location button{text-align:left;line-height:1.5}.rating{font-size:11px;gap:6px;margin-top:8px}.score{font-size:10px;padding:4px 5px}
.listingdesc{font-size:12px;line-height:1.5;margin:8px 0 9px;max-width:670px}
.chips{gap:5px}.chip{font-size:10px;background:#f8fafb;border:1px solid var(--line);padding:3px 6px;color:#627a88}
.listingbottom{padding-top:11px;gap:12px}.price{font-size:22px;line-height:1.25;letter-spacing:-.5px}.unit{font-size:10px;letter-spacing:0;display:inline-block}
.earn{font-size:10px;line-height:1.4;padding:4px 7px;margin-top:5px;border-radius:5px}
.listing .primary{padding:10px 13px;min-height:38px;font-size:12px;flex-shrink:0}
.photobadge{font-size:10px;font-weight:650;left:11px;top:11px;padding:4px 7px}.fav{width:31px;height:31px}
.results-grid.is-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;align-items:stretch}
.is-grid .listing{display:flex;flex-direction:column;margin:0;min-width:0}.is-grid .listingphoto{min-height:0;height:175px;flex:0 0 175px}.is-grid .listingbody{flex:1;padding:14px;display:flex}
.is-grid .listing h3{font-size:16px}.is-grid .listingbottom{display:grid;grid-template-columns:1fr;gap:10px}.is-grid .listingbottom .primary{width:100%}.is-grid .listingdesc{font-size:11px}.is-grid .price{font-size:21px}.is-grid .location{font-size:10px}
.titlebar{margin:0 0 18px}.sub{font-size:13px;line-height:1.5;margin:6px 0 17px}.eyebrow{font-size:9px;line-height:1.4;margin-bottom:6px;letter-spacing:1.4px}
.panel{padding:16px;border-radius:10px;margin-bottom:13px;min-width:0}.panel h3{font-size:15px;margin:0 0 10px}.panel h2{font-size:20px}
.twocol{grid-template-columns:minmax(0,1.45fr) minmax(300px,1fr);gap:16px}
.summary{top:88px;min-width:0}.summary .panel{padding:15px}.summary .location{font-size:10px}.summary h3{font-size:14px}
.price-line{margin:8px 0;font-size:12px;line-height:1.45;align-items:baseline;gap:10px;min-width:0}.price-line>span{min-width:0}.price-line>strong{text-align:right;min-width:0;overflow-wrap:anywhere;max-width:67%}
.price-line.total{font-size:17px;padding-top:10px;margin-top:10px;flex-wrap:wrap}.price-line.small{font-size:11px}
.notice{padding:10px 12px;font-size:11px;line-height:1.5;margin:12px 0;border-radius:7px}.notice .row{gap:7px}.guestbar{margin-bottom:12px;padding:8px 10px}
.earnbox{padding:13px 15px;margin:12px 0;border-radius:8px}.earnbox .amount{font-size:27px;line-height:1.25;margin-top:5px}.earnbox p{font-size:10px;line-height:1.5;margin-top:5px}
.field{font-size:11px;margin-bottom:11px;min-width:0}.field input,.field select,.field textarea{padding:8px 10px;font-size:12px;margin-top:4px;min-height:36px;border-radius:6px;min-width:0;width:100%}
.field textarea{min-height:70px;resize:vertical}.formgrid{gap:0 12px}.splitdates{gap:10px}
.option{padding:10px;margin:7px 0;gap:9px;min-height:49px}.option strong{font-size:12px}.option small{font-size:10px;line-height:1.45;margin-top:3px}.option input{width:16px;height:16px;flex:0 0 16px}
.primary,.secondary,.soft,.danger{padding:10px 14px;font-size:12px;min-height:36px;border-radius:8px}.textbtn{font-size:11px}.primary .icon,.secondary .icon,.soft .icon{width:16px;height:16px}
.steps{gap:10px;margin:14px 0 16px;font-size:11px}.step span{width:23px;height:23px}.steps .line{width:26px}
.detailgallery{height:255px;border-radius:10px;margin:12px 0}.detailcopy p{font-size:12px;line-height:1.55;margin:9px 0}.detailcopy .chips{margin:11px 0}
.roomcard{grid-template-columns:112px minmax(0,1fr);margin-top:10px}.roomcard img{width:112px;min-height:130px}.roominfo{padding:12px}.roominfo .row{gap:8px}.roominfo p{margin:5px 0;line-height:1.4}
details{padding:9px 0}summary{font-size:11px;line-height:1.5}details p{font-size:11px!important;line-height:1.55;margin:7px 0}
.counter{padding:8px 0}.counter strong{font-size:12px}.counter small{font-size:10px}.counter button{width:29px;height:29px;display:grid;place-items:center}
.tabs{gap:5px;margin:15px 0}.tab{padding:9px 12px;font-size:12px;min-height:36px}.toolbar{gap:9px;margin:13px 0}.toolbar input,.toolbar select{font-size:12px;min-height:36px;padding:8px 10px;min-width:0}
.toolbar input[type=date]{max-width:170px;flex:0 1 170px}.toolbar input:not([type=date]){min-width:180px}.statgrid{gap:12px;margin:17px 0}.stat{padding:13px 15px}.stat strong{font-size:22px;margin-top:5px}
table{font-size:11px}th{padding:11px 13px;font-size:9px}td{padding:13px;border-color:var(--line)}.bookingimg{width:44px;height:42px}.tablewrap .secondary{font-size:11px;padding:7px 10px;min-height:33px}.money{white-space:nowrap}.status{line-height:1.4;font-size:10px;padding:4px 8px}
.walletgrid{gap:15px}.walletcard{padding:19px;border-radius:11px}.walletcard h3{font-size:16px}.balance{font-size:31px;margin:16px 0 5px}.walletcard .price-line{font-size:12px;margin:9px 0}.walletcard .primary{margin-top:12px}
.savedgrid{gap:13px}.personcard{padding:17px}.personcard p{font-size:12px}.personcard .row{gap:9px;flex-wrap:wrap}.profilegrid{gap:16px}
.chatlayout{grid-template-columns:235px minmax(0,1fr);min-height:440px}.chatlist{padding:10px}.chatentry{padding:12px 9px;gap:8px}.chatentry strong{font-size:11px}.chathead{padding:14px 17px}.bubbles{padding:18px;gap:10px}.bubble{padding:10px 13px;font-size:12px;line-height:1.5}.chatcompose{padding:12px}.chatcompose input{padding:9px;font-size:12px;min-width:0}
.ticket{padding:17px}.ticket .brand{font-size:19px}.ticket .brandtext{display:block}.ticket h3{margin:13px 0}.ticket .price-line{font-size:12px}
.modal{padding:22px;border-radius:14px;max-height:calc(100dvh - 36px)}.modal.wide{width:min(850px,calc(100vw - 32px))}.modal h2{font-size:22px;line-height:1.25}.modal p{font-size:12px;line-height:1.5}.modal .formgrid{margin-top:12px}.modal .close{padding:4px;width:31px;height:31px;margin-top:-8px;margin-right:-7px}
.pinmodal .pinicon{margin:8px auto 13px}.pinmodal .pininput{font-size:25px;min-height:49px}
.hostbanner{height:auto;min-height:150px;padding:24px;border-radius:11px;margin-bottom:15px}.hostbanner h1{font-size:29px}.footer{font-size:10px;line-height:1.5;margin-top:24px;padding:13px 0 5px}.empty{padding:35px 18px}
.drawer-close{display:none}
@media(min-width:1600px){.listing{grid-template-columns:260px minmax(0,1fr)}.listingphoto{min-height:215px}.results-grid.is-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.is-grid .listingphoto{height:190px;flex-basis:190px}}
@media(max-width:1250px){.page{padding:22px 26px 28px}.topbar{padding:0 26px}.searchlayout{grid-template-columns:205px minmax(0,1fr);gap:17px}.results-grid.is-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.listing{grid-template-columns:190px minmax(0,1fr)}.listingbottom{flex-wrap:wrap}.listingbottom .primary{margin-left:auto}.searchbar label{padding:0 9px}.listing h3{font-size:16px}}
@media(max-width:1000px){.page{padding:20px}.topbar{padding:0 20px}.portalbadge{display:none}.topright{gap:9px}.searchbar{grid-template-columns:repeat(2,minmax(0,1fr));padding:9px;gap:7px}.searchbar label{border:0;padding:4px 8px}.searchbar label:nth-child(4){grid-column:auto;border:0}.searchbar .primary{grid-column:1/-1;margin:0;min-height:40px}.searchlayout{grid-template-columns:190px minmax(0,1fr);gap:15px}.listing{display:flex;flex-direction:column}.listingphoto{height:190px;min-height:0;flex-basis:190px}.listingdesc{display:block}.listingbottom{flex-wrap:nowrap}.listingbottom .primary{margin-left:0}.twocol{grid-template-columns:minmax(0,1fr)}.summary{position:static}.detailgallery{height:260px}.roomcard{grid-template-columns:120px minmax(0,1fr)}.roomcard img{width:120px}.chatlayout{grid-template-columns:200px minmax(0,1fr)}.results-grid.is-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.is-grid .listingphoto{height:150px;flex-basis:150px}.is-grid .listingbody{padding:12px}.is-grid .listingdesc{display:none}.is-grid .location{font-size:10px}.is-grid .chips{gap:4px}.is-grid .chip{font-size:9px}.is-grid .price{font-size:19px}.is-grid .unit{display:block}}
@media(max-width:740px){
 .sidebar{display:none}.shell{margin-left:0}.headerbrand{display:none}.mobilebrand{display:flex;align-items:center;gap:7px;font-size:16px;font-weight:750;letter-spacing:-.5px;min-width:0;margin-right:auto}.mobilebrand img{display:block;object-fit:contain;border-radius:7px;flex:0 0 27px}.mobile-menu{display:block;min-width:28px;min-height:36px;padding:5px}.mobile-menu .icon{width:20px}
 .topbar{height:auto;min-height:66px;padding:10px 14px;gap:8px;flex-wrap:wrap;position:sticky}.topright{gap:8px;flex-shrink:0;margin-left:0}.topright>.currencyselect{display:none}.topright>.avatar,.topbar .iconbtn{display:none}.mode{padding:6px 8px;gap:7px;max-width:none}.mode .icon{display:none}.mode strong{font-size:10px}.mode small{font-size:8px;line-height:1.3}.switch{width:30px;height:18px}.switch:after{width:12px;height:12px}.mode.on .switch:after{left:15px}
 .page{padding:16px 14px 26px}.categorybar{gap:7px;margin:0 0 13px;padding:0 0 4px}.cat{min-height:40px;padding:9px 14px;font-size:12px;gap:7px}.cat .icon{width:17px;height:17px}.hero{margin:10px 0 16px}.hero h1{font-size:28px;max-width:none;letter-spacing:-.8px}.hero p{font-size:13px;max-width:none;margin-top:5px}.searchbar{margin-bottom:16px;border-radius:11px}.searchbar label:first-child{grid-column:1/-1;border-bottom:1px solid var(--line);padding-bottom:9px}.searchbar label input,.searchbar label select{min-height:29px;font-size:13px;padding:6px 0}.searchbar label:nth-child(4){grid-column:auto}.searchbar .primary{grid-column:1/-1;min-height:42px;margin:0}.searchbar label{font-size:10px;padding:3px 7px}
 .searchlayout{display:block}.filters{display:none;scroll-margin-top:80px;padding:14px;max-height:70dvh;overflow:auto;margin-bottom:15px}.filters.expanded{display:block}.filter-mobile{display:inline-flex;font-size:11px;min-height:37px;padding:8px 11px}.filtergroup label{min-height:27px;font-size:12px}.filtergroup select,.agentfilter input{min-height:40px;font-size:14px}.filtergroup{padding:11px 0}.filters .filterhead{position:sticky;top:-14px;background:white;z-index:1;padding:8px 0 11px}
 .resultbar{gap:9px;align-items:center;margin-bottom:12px}.resultbar>.row{flex-basis:100%;justify-content:space-between}.resultbar select{flex:1;max-width:none;min-height:37px;font-size:12px}.resultcount{font-size:12px;max-width:70%;text-align:right}.resultcount .tiny{font-size:10px}.view-switch button{width:37px;height:37px}.results-grid.is-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.is-grid .listingphoto{height:145px;flex-basis:145px}.is-grid .listingbody{padding:12px}.is-grid .listing h3{font-size:15px}.is-grid .unit{display:block}
 .listing{border-radius:11px;margin-bottom:13px}.listingphoto{height:190px;flex-basis:190px}.listingbody{padding:14px}.listing h3{font-size:17px}.listingdesc{font-size:12px;line-height:1.5}.listingbottom{padding-top:12px;gap:10px;flex-wrap:wrap}.listing .primary{min-height:42px;padding:10px 13px}.price{font-size:22px}.listing .fine{font-size:9px!important}.location{font-size:11px}.earn{font-size:11px;padding:5px 7px;line-height:1.4}.chips{gap:5px}.chip{font-size:10px}.primary,.secondary,.soft,.danger{min-height:42px;padding:10px 13px}.textbtn{min-height:32px;line-height:1.4}.backbtn{min-height:32px;font-size:12px;margin-bottom:12px}.titlebar{margin-bottom:16px}.titlebar .primary{margin-top:8px}.titlebar h1{font-size:27px;letter-spacing:-.75px}.sub{font-size:12px;line-height:1.5}
 .twocol{grid-template-columns:minmax(0,1fr);gap:1px}.panel{padding:14px;margin-bottom:12px;border-radius:10px}.panel h3{font-size:15px}.panel h2{font-size:19px}.field{font-size:12px;margin-bottom:12px}.field input,.field select,.field textarea{font-size:16px;min-height:43px;padding:10px;margin-top:5px}.formgrid{grid-template-columns:minmax(0,1fr);gap:0}.formgrid .full{grid-column:auto}.splitdates{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.splitdates input{font-size:14px;padding:9px 7px}.option{padding:11px 10px;min-height:56px;gap:9px}.option strong{font-size:13px}.option small{font-size:11px;line-height:1.5}.option input{margin-top:3px}.counter{padding:9px 0}.counter button{width:36px;height:36px}.counter .row{gap:15px}.counter small{font-size:10px}.detailgallery{height:215px;margin:10px 0 13px}.detailcopy p{font-size:12px}.roomcard{grid-template-columns:95px minmax(0,1fr)}.roomcard img{width:95px;min-height:150px}.roominfo{padding:11px}.roominfo h3{font-size:13px!important}.roominfo .price{font-size:17px}.roominfo .row{align-items:flex-start;gap:8px}.roominfo .field{width:100%;margin-top:3px!important}.roominfo .field select{max-width:110px;min-height:40px;font-size:14px}.roominfo .earn{font-size:10px}
 .summary{position:static;order:0}.summary .panel{padding:14px}.summary .price-line{font-size:12px}.summary .price-line.total{font-size:18px}.earnbox{padding:13px 14px;margin:12px 0}.earnbox .amount{font-size:29px}.earnbox p{font-size:11px}.price-line{align-items:flex-start;gap:10px}.price-line>strong{max-width:63%;overflow-wrap:anywhere}.price-line.total>strong{max-width:100%}.steps{gap:7px;margin:14px 0;font-size:10px;line-height:1.4;flex-wrap:wrap}.steps .line{width:12px}.step{gap:5px}.step span{width:22px;height:22px;flex:0 0 22px}.notice{padding:10px 11px;font-size:11px}.notice .row{flex-wrap:wrap}.notice .textbtn{padding:3px 0}.checkline{font-size:12px;line-height:1.5;gap:9px}.checkline input{width:17px;height:17px;flex:0 0 17px}details{padding:10px 0}summary{font-size:12px;min-height:26px;line-height:1.6}details p{font-size:12px!important}.fine{font-size:11px;line-height:1.5}
 .walletgrid,.profilegrid{grid-template-columns:minmax(0,1fr);gap:12px}.walletcard{padding:17px}.walletcard .balance{font-size:31px;margin:14px 0 7px}.walletcard .primary{margin-top:10px}.walletcard .price-line{font-size:12px}.statgrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:15px 0}.stat{padding:11px 9px}.stat .tiny{font-size:8px;line-height:1.5;letter-spacing:0}.stat strong{font-size:21px}.toolbar{gap:8px;margin:12px 0}.toolbar input:not([type=date]){flex:1 0 100%;min-width:0}.toolbar input,.toolbar select{font-size:14px;min-height:42px}.toolbar input[type=date]{flex:1 1 45%;max-width:none;width:45%}.toolbar select{flex:1 1 45%;min-width:0}.tabs{margin:13px 0;gap:2px}.tab{font-size:12px;padding:10px;min-height:41px}
 .tablewrap{overflow:visible;border-radius:10px}.responsive-records,.responsive-records tbody{display:block;width:100%;white-space:normal}.responsive-records thead{display:none}.responsive-records tbody tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px;padding:15px;border-bottom:1px solid var(--line)}.responsive-records tbody tr:last-child{border-bottom:0}.responsive-records td{display:block;border:0;padding:0;min-width:0;overflow-wrap:anywhere;font-size:12px;line-height:1.5}.responsive-records td:before{content:attr(data-label);display:block;font-size:9px;font-weight:500;letter-spacing:.35px;color:var(--muted);text-transform:uppercase;margin-bottom:4px}.responsive-records td:first-child{grid-column:1/-1;padding-bottom:9px;border-bottom:1px solid #edf2f3}.responsive-records td:first-child:before{display:none}.responsive-records td:first-child .row{gap:10px;align-items:center}.responsive-records td:first-child strong{font-size:13px}.responsive-records td:first-child small{font-size:11px}.responsive-records td:last-child{grid-column:1/-1}.responsive-records td:last-child:before{display:none}.responsive-records td:last-child .secondary{width:100%;min-height:40px;font-size:12px}.responsive-records .bookingimg{width:53px;height:48px}.responsive-records .status{font-size:10px;white-space:normal}.responsive-records td .fine{font-size:10px}.responsive-records .money{font-size:13px}.panel:has(.responsive-records){overflow:hidden}
 .savedgrid{grid-template-columns:minmax(0,1fr);gap:11px}.personcard{padding:16px}.personcard p{font-size:12px}.personcard .avatar{margin-bottom:10px}.personcard .row{margin-top:12px!important}.personcard .textbtn{font-size:12px}.chatlayout{grid-template-columns:minmax(0,1fr);min-height:420px}.chatlist{display:flex;gap:6px;overflow-x:auto;padding:9px;border-right:0;border-bottom:1px solid var(--line)}.chatentry{min-width:185px;width:auto;padding:9px;flex:0 0 auto}.chathead{padding:13px}.chatcompose{padding:10px;gap:7px}.chatcompose input{font-size:16px;min-height:43px;width:0;flex:1}.chatcompose .primary{padding:10px 12px}.bubbles{padding:14px;max-height:42dvh;min-height:210px}.bubble{max-width:90%;font-size:12px;padding:10px 12px}.bubble small{font-size:9px}.chatentry strong{font-size:11px}.chatentry small{font-size:10px}
 .modalbackdrop{padding:10px;align-items:center}.modal,.modal.wide{width:min(100%,600px);max-height:calc(100dvh - 20px);padding:18px;border-radius:12px;overscroll-behavior:contain}.modal h2{font-size:21px;margin:8px 0 10px}.modal p{font-size:12px}.modal .formgrid{grid-template-columns:minmax(0,1fr)}.modal .close{min-width:34px;min-height:34px;margin-right:-5px;margin-top:-6px}.pinmodal{max-width:100%}.pinmodal .pininput{font-size:25px!important;min-height:50px}.pinmodal .pinicon{width:49px;height:49px}.modal .price-line{font-size:12px}.modal .row.wrap{gap:9px}.modal .row.wrap .primary,.modal .row.wrap .secondary{flex:1 1 100%}.modal .row.wrap .textbtn{width:100%}.ticket{padding:14px}.ticket .brand{font-size:17px}.ticket .ref{font-size:17px;overflow-wrap:anywhere}.ticket .price-line{font-size:11px}.ticket .price-line>strong{max-width:63%}.ticket .brandmark{width:35px;height:35px}.ticket .brandtext small{font-size:8px}.ticketcode{gap:2px;max-width:100%;overflow:hidden;margin:18px 0}.hostbanner{padding:21px 17px;min-height:150px}.hostbanner h1{font-size:25px;overflow-wrap:anywhere}.hostbanner p{font-size:12px}.footer{font-size:9px;line-height:1.6;margin-top:18px;padding:10px 2px}.mapillustration{padding:25px}
 .sidebar.mobileopen{width:240px;z-index:50;padding:15px;align-items:stretch;box-shadow:0 0 0 100vmax #10293980;gap:0}.sidebar.mobileopen .brand{display:flex;gap:9px;margin:0 0 23px}.sidebar.mobileopen .brandtext{display:block;font-size:18px}.sidebar.mobileopen .brandmark{width:39px;height:39px}.sidebar.mobileopen .nav-label{display:block;font-size:9px;margin:0 10px 9px}.sidebar.mobileopen nav{display:block}.sidebar.mobileopen .navbtn{width:100%;display:flex;justify-content:flex-start;gap:11px;padding:11px 12px;height:44px;margin:3px 0}.sidebar.mobileopen .navtext{display:block;font-size:13px}.sidebar.mobileopen .navcount{display:block}.sidebar.mobileopen .sidebottom{display:grid;justify-items:stretch;margin-top:auto}.sidebar.mobileopen .sideart{display:none}.sidebar.mobileopen .agentmini{width:100%;justify-content:flex-start;padding:12px 5px 0}.sidebar.mobileopen .agentname{display:block}.drawer-close{display:none}.sidebar.mobileopen .drawer-close{display:block;position:absolute;top:14px;right:9px;min-width:30px;min-height:34px;font-size:22px;color:var(--muted)}
}
@media(max-width:420px){.topbar{padding:8px 10px;gap:6px;min-height:64px}.mobilebrand{font-size:14px;gap:5px}.mobilebrand img{width:24px;height:27px;flex-basis:24px}.mobile-menu{min-width:25px;width:25px;padding:3px}.mode{padding:6px;gap:5px}.mode strong{font-size:9px}.mode small{font-size:7px}.switch{width:27px;height:17px}.switch:after{width:11px;height:11px}.mode.on .switch:after{left:13px}.topright{gap:0}.page{padding:14px 11px 23px}.hero h1{font-size:26px}.hero p{font-size:12px}.cat{padding:9px 12px;font-size:11px;gap:6px}.categorybar{gap:6px}.searchbar{padding:8px;gap:6px}.searchbar label{padding:3px 5px}.searchbar label input,.searchbar label select{font-size:12px}.results-grid.is-grid{grid-template-columns:minmax(0,1fr)}.is-grid .listingphoto{height:180px;flex-basis:180px}.is-grid .listingbody{padding:14px}.is-grid .listingdesc{display:block;font-size:12px}.is-grid .listing h3{font-size:17px}.is-grid .listingbottom{display:flex;flex-wrap:wrap}.is-grid .listingbottom .primary{width:auto;margin-left:auto}.is-grid .unit{display:inline-block}.listingphoto{height:180px;flex-basis:180px}.listingbottom{align-items:flex-start}.listingbottom>.primary{margin-left:auto}.price{font-size:21px}.earn{font-size:10px}.steps{gap:5px;font-size:9px}.steps .line{width:7px}.steps .step{gap:4px}.step span{width:21px;height:21px;flex-basis:21px}.roomcard{grid-template-columns:minmax(0,1fr)}.roomcard img{width:100%;height:135px;min-height:135px;object-fit:cover}.roominfo .field{width:auto}.resultcount .tiny{display:block;margin-left:0}.responsive-records tbody tr{padding:13px;gap:11px}.balance{font-size:28px}.modal{padding:16px}.stat .tiny{font-size:8px}.stat strong{font-size:19px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media print{.headerbrand,.mobilebrand,.view-switch,.drawer-close{display:none!important}.shell{margin:0}.page{padding:0}.ticket{break-inside:avoid}}

.commission-share{font-size:30px;line-height:1.1;color:var(--teal);white-space:nowrap}.commission-divider{border:0;border-top:1px solid var(--line);margin:18px 0}

/* Search stays in view; filter scrolling is independent of the results. */
:root{--agent-header-height:72px;--agent-search-height:90px}
.search-dock{position:sticky;top:calc(var(--agent-header-height) + 8px);z-index:30;background:var(--bg);padding:0 0 12px;margin-bottom:8px}
.search-dock .searchbar{margin-bottom:0;box-shadow:0 4px 16px #16334a0b}
.mobile-search-summary,.filter-close,.filter-footer{display:none}
.filters{position:sticky;top:calc(var(--agent-header-height) + var(--agent-search-height) + 16px);max-height:calc(100vh - var(--agent-header-height) - var(--agent-search-height) - 28px);max-height:calc(100dvh - var(--agent-header-height) - var(--agent-search-height) - 28px);overflow-y:auto;overscroll-behavior-y:contain;scrollbar-width:thin;scrollbar-gutter:stable}
.filters .filterhead{position:sticky;top:-15px;background:white;z-index:2;padding-top:10px}
@media(max-width:740px){
 .search-dock{top:var(--agent-header-height);padding:8px 0;margin-bottom:10px;z-index:35}
 .mobile-search-summary{display:flex;align-items:center;gap:8px;background:white;border:1px solid var(--line);border-radius:11px;padding:7px;box-shadow:0 3px 12px #16334a0a}
 .search-summary-button{display:flex;align-items:center;gap:8px;flex:1;min-width:0;padding:4px;text-align:left}
 .search-summary-button>.icon{color:var(--teal);flex-shrink:0;width:18px}
 .search-summary-button>span:first-of-type{flex:1;min-width:0}
 .search-summary-button strong,.search-summary-button small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.5}
 .search-summary-button strong{font-size:12px}.search-summary-button small{font-size:10px;color:var(--muted)}
 .search-edit-label{font-size:11px;color:var(--teal);flex-shrink:0}
 .mobile-search-summary>.secondary{display:flex;align-items:center;gap:5px;font-size:11px;padding:10px 8px;min-height:39px;flex-shrink:0}
 .search-dock .searchbar{display:none;margin-top:8px;max-height:58vh;max-height:58dvh;overflow-y:auto;overscroll-behavior:contain}
 .search-dock .searchbar.search-open{display:grid}
 .resultbar .filter-mobile{display:none}
 .filters{position:fixed;top:calc(var(--agent-header-height) + var(--agent-search-height) + 6px);left:14px;right:14px;bottom:14px;width:auto;max-height:none;margin:0;z-index:45;box-shadow:0 15px 65px #16334a38;border:1px solid #d4e2e8;background:white;overflow-y:auto;padding:14px;scrollbar-gutter:auto}
 .filters.expanded{display:block}.filter-close{display:inline-flex;justify-content:center;align-items:center;font-size:23px;min-width:36px;min-height:36px;padding:4px}
 .filters .filterhead{top:-14px;padding:5px 0 10px;border-bottom:1px solid var(--line)}
 .filter-footer{display:block;position:sticky;bottom:-14px;background:white;padding:12px 0 5px;border-top:1px solid var(--line);z-index:2}
 .filters input,.filters select,.search-dock input,.search-dock select{font-size:16px}
}

.referral-profile h2{margin:3px 0 10px}.referral-code-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:#f0fbfc;border:1px dashed #86cdd2;border-radius:9px;padding:10px 12px;margin:12px 0}.referral-code-row>strong{letter-spacing:1.5px;color:var(--teal);font-size:18px}.referral-rates{display:flex;gap:10px;flex-wrap:wrap}.referral-rates>span{border:1px solid var(--line);border-radius:8px;padding:8px 11px;font-size:12px}.referral-rates strong{color:var(--teal);margin-left:6px}.referral-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}.referral-metrics>div{padding:12px;background:#f7fafb;border:1px solid var(--line);border-radius:9px}.referral-metrics small{display:block;color:var(--muted);font-size:10px}.referral-metrics strong{display:block;font-size:21px;margin:6px 0}.referral-booking-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.referral-booking-grid>article{padding:14px;border:1px solid var(--line);border-radius:10px}.referral-booking-grid .status{display:block;width:fit-content;margin-top:6px}.booking-source{display:inline-block;margin-top:5px;padding:3px 6px;border-radius:4px;background:#e4f8fa;color:#008e98;font-size:10px}.referral-banner{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:15px}.referral-banner .fine{margin:4px 0 0}.referral-banner .primary{flex-shrink:0}.share-copy-input{width:100%;font-size:16px}.listing-share{margin-left:auto}.photo-count{position:absolute;left:12px;bottom:12px;color:white;background:#16334ac9;border-radius:6px;padding:4px 8px;font-size:10px}.gallery-thumbs{display:flex;gap:9px;margin:9px 0 18px}.gallery-thumbs button{padding:0;width:88px;height:64px;border:2px solid transparent;border-radius:8px;overflow:hidden;background:#e4f8fa}.gallery-thumbs button.active{border-color:var(--teal)}.gallery-thumbs img{width:100%;height:100%;object-fit:cover}.gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);background:#fffffff0;color:var(--navy);border-radius:50%;width:38px;height:38px;font-size:28px;line-height:1}.gallery-arrow.prev{left:12px}.gallery-arrow.next{right:12px}
@media(max-width:1000px){.referral-metrics,.referral-booking-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:740px){.referral-profile .row>.primary{width:100%}.referral-rates{gap:6px}.referral-rates>span{flex:1 1 40%;font-size:11px;padding:8px}.referral-metrics{gap:8px}.referral-metrics strong{font-size:18px;overflow-wrap:anywhere}.referral-booking-grid{grid-template-columns:minmax(0,1fr)}.referral-banner{flex-wrap:wrap}.referral-banner .primary{width:100%}.referral-code-row{gap:8px}.gallery-thumbs button{width:78px;height:58px}}

.referral-earnings-list h3{margin:0 0 12px}.referral-earnings-list .tablewrap{border-radius:8px}.referral-earnings-list th{font-size:11px;padding:10px 14px}.referral-earnings-list td{padding:11px 14px;vertical-align:middle}.referral-earnings-list td:first-child strong,.referral-earnings-list td:first-child small{display:block}.referral-earnings-list td:first-child small{margin-top:3px}.referral-earnings-list th:nth-child(3),.referral-earnings-list td:nth-child(3){text-align:right;white-space:nowrap}.referral-earnings-list th:last-child,.referral-earnings-list td:last-child{text-align:right}.referral-earnings-list .secondary{min-height:34px;padding:7px 11px;font-size:11px}
@media(max-width:740px){.referral-earnings-list .responsive-records tbody tr{grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;padding:12px}.referral-earnings-list .responsive-records td{padding:0}.referral-earnings-list .responsive-records td:before{display:none}.referral-earnings-list .responsive-records td:first-child{grid-column:1;grid-row:1;border:0;padding:0}.referral-earnings-list .responsive-records td:nth-child(2){grid-column:1;grid-row:2;align-self:center}.referral-earnings-list .responsive-records td:nth-child(3){grid-column:2;grid-row:1;align-self:center;font-weight:700}.referral-earnings-list .responsive-records td:last-child{grid-column:2;grid-row:2}.referral-earnings-list .responsive-records td:last-child .secondary{width:auto;min-height:34px;font-size:11px}.referral-earnings-list .status{font-size:9px}.referral-earnings-list td:first-child small{font-size:10px}}

.support-center-btn{margin-top:2px;flex-shrink:0}.support-question{display:grid;place-items:center;width:22px;height:22px;border:1.8px solid currentColor;border-radius:50%;font-size:16px;font-weight:700;line-height:1}.support-welcome{text-align:center;padding:25px 10px 23px}.support-welcome-icon{display:grid;place-items:center;width:54px;height:54px;margin:0 auto 16px;border-radius:50%;background:var(--mint);color:var(--teal);font-size:31px;font-weight:700}.support-welcome h2{margin:0;font-size:24px}@media(max-width:740px){.support-center-btn{display:flex;gap:12px}.support-welcome{padding:21px 4px}.support-welcome h2{font-size:22px}}

.payment-unavailable{opacity:.65;background:#f4f6f7}.payment-unavailable input{cursor:not-allowed}.document-tabs{display:flex;gap:8px;margin:0 0 16px;flex-wrap:wrap}.document-tabs button{display:flex;gap:7px;align-items:center;border:1px solid var(--line);border-radius:9px;padding:10px 15px;font-size:12px;background:white}.document-tabs button.active{color:var(--teal);border-color:var(--teal);background:var(--mint)}.customer-record-layout{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:18px;align-items:start}.booking-document{padding:22px}.booking-document-head{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding-bottom:16px}.document-brand{display:flex;align-items:center;gap:10px}.document-brand img{width:45px;height:45px;object-fit:contain}.document-brand strong{font-size:21px;letter-spacing:-.6px}.document-brand small,.document-reference small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.document-reference{text-align:right;font-size:14px}.document-summary{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:16px 0}.document-summary h2{font-size:21px}.document-qr{width:76px;flex-shrink:0}.document-qr svg{width:100%;height:auto}.document-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.document-section{border:1px solid var(--line);border-radius:9px;padding:13px;min-width:0}.document-section h3{font-size:13px;color:var(--teal);margin:0 0 10px}.document-section:last-child{grid-column:1/-1}.document-row{display:flex;justify-content:space-between;gap:10px;line-height:1.5;font-size:11px;padding:6px 0;border-bottom:1px solid #f0f4f5}.document-row:last-child{border:0}.document-row>span{color:var(--muted);flex:1;min-width:0}.document-row>strong{font-weight:600;text-align:right;flex:1.25;min-width:0;overflow-wrap:anywhere}.document-actions{display:flex;gap:9px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:16px;margin-top:16px}.document-actions button{flex:1;font-size:12px;min-height:40px}
@media(max-width:1100px){.customer-record-layout{grid-template-columns:minmax(0,1fr)}.customer-record-layout>aside{max-width:100%}}@media(max-width:740px){.booking-document{padding:14px}.booking-document-head{gap:9px}.document-brand{gap:7px}.document-brand img{width:32px;height:32px}.document-brand strong{font-size:17px}.document-reference{font-size:11px;overflow-wrap:anywhere;max-width:45%}.document-brand small,.document-reference small{font-size:9px}.document-sections{grid-template-columns:minmax(0,1fr)}.document-summary h2{font-size:18px}.document-section{padding:11px}.document-row{font-size:11px}.document-actions button{flex:1 1 100%}.document-tabs button{flex:1;justify-content:center;padding:10px;font-size:11px}}
