@import url('https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:wght@400;500;600;700;800&display=swap');
:root{--ink:#162c29;--green:#136e59;--pale:#eff5f0;--line:#e4e9e4}*{box-sizing:border-box}body{margin:0;background:#fbfcf9;color:var(--ink);font:14px 'Be Vietnam Pro',Arial,sans-serif}button,input,select{font:inherit}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer;border:1px solid var(--line);background:white;color:var(--ink);border-radius:10px;padding:11px 17px}button:hover{border-color:var(--green);background:#f1f7f2}a{color:inherit;text-decoration:none}header{height:84px;padding:0 4%;display:flex;align-items:center;gap:20px;background:white;border-bottom:1px solid var(--line)}.brand{display:flex;gap:10px;align-items:center;font-size:23px;font-weight:800;letter-spacing:2px}.brand b{background:var(--green);color:white;display:grid;place-items:center;width:44px;height:44px;border-radius:13px;font-size:28px;letter-spacing:-3px}.small{display:block;font-size:8px;letter-spacing:3px;margin-top:2px}nav{display:flex;gap:32px;margin:auto;font-weight:500}nav a.active{color:var(--green)}nav span{font-size:10px;background:var(--pale);border-radius:20px;padding:3px 6px}.post,.primary{background:var(--green);color:white;border-color:var(--green)}.avatar{background:#eee7d6;border:0;border-radius:50%;width:40px;padding:11px}.demo{font-size:9px;letter-spacing:1px;padding:8px 4%;background:#eef3ec;color:#51675b}.demo span{letter-spacing:0;margin-left:12px;font-size:11px}.intro{padding:30px 4% 22px;display:flex;align-items:flex-end;justify-content:space-between}h1{font-size:31px;letter-spacing:-1.1px;margin:0 0 9px}p{color:#74817b;line-height:1.7}.intro p{margin:0}.eyebrow{color:var(--green);letter-spacing:2px;font-size:10px;font-weight:700;margin-bottom:10px}.search{display:flex;align-items:center;border:1px solid var(--line);border-radius:12px;background:white;padding:7px;width:350px;gap:8px}.search input{border:0;outline:0;width:100%;padding:8px;background:none}.filters{display:flex;gap:10px;padding:0 4% 22px;flex-wrap:wrap}.filters select{border:1px solid var(--line);padding:11px 16px;border-radius:9px;background:white;color:var(--ink);max-width:175px}.filters .toggle{margin-left:auto;display:flex;background:#eaf0e9;border-radius:10px;padding:3px}.toggle button{border:0;background:none;padding:8px 16px}.toggle .on{background:white;box-shadow:0 2px 5px #16322515}.workspace{display:grid;grid-template-columns:49% 51%;height:calc(100vh - 328px);min-height:440px;border-top:1px solid var(--line)}.results{overflow:auto;padding:20px 26px 50px 8%}.result-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;font-size:12px}.muted{color:#7c8980}.cards{display:grid;grid-template-columns:1fr 1fr;gap:21px}.card{background:white;border:1px solid var(--line);border-radius:14px;overflow:hidden;position:relative;cursor:pointer;transition:.2s}.card:hover{transform:translateY(-3px);box-shadow:0 8px 24px #17352b12}.photo{height:175px;position:relative;background:#e8eade}.photo img{width:100%;height:100%;object-fit:cover}.heart{position:absolute;right:10px;top:10px;border:0;border-radius:50%;padding:5px 9px;font-size:20px;background:#fffffff0}.badge{position:absolute;left:10px;top:12px;background:#ffffffed;color:var(--green);font-size:9px;border-radius:5px;padding:5px 7px}.cardbody{padding:15px}.price{font-size:19px;font-weight:700;color:var(--green)}.price small{color:#7b887e;font-size:11px;font-weight:400}.card h3{font-size:13px;margin:10px 0 7px}.address{font-size:10px;color:#839087}.facts{display:flex;gap:12px;margin:14px 0;font-size:10px;color:#6b7d72}.ownerline{padding-top:11px;border-top:1px solid #edf0eb;display:flex;justify-content:space-between;font-size:10px}.available{color:var(--green)}.map{position:relative;overflow:hidden;background:#e8eee4}.mapbg{position:absolute;width:100%;height:100%;object-fit:cover;opacity:.78;filter:saturate(.55)}.map:after{content:'';position:absolute;inset:0;background:#e2e9d71c;pointer-events:none}.maplabel{position:absolute;top:20px;left:20px;padding:10px 14px;background:white;box-shadow:0 3px 15px #22332215;border-radius:9px;font-size:11px;z-index:2}.pin{position:absolute;padding:4px;border:2px solid white;border-radius:11px;background:white;box-shadow:0 3px 14px #12382935;z-index:3;width:77px;transform:translate(-50%,-50%)}.pin:hover{transform:translate(-50%,-50%) scale(1.12);z-index:5}.pin img{display:block;width:65px;height:49px;object-fit:cover;border-radius:6px}.pin strong{display:block;padding:5px 0 1px;font-size:11px}.pin:after{content:'';position:absolute;bottom:-7px;left:28px;border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid white}.mapcontrols{position:absolute;right:20px;bottom:30px;z-index:3;display:grid;gap:5px}.mapnote{position:absolute;left:15px;bottom:12px;background:white;padding:5px 8px;font-size:9px;z-index:3}.listonly{display:block;height:auto}.listonly .map{display:none}.listonly .results{padding:20px 4%}.listonly .cards{grid-template-columns:repeat(4,1fr)}dialog{border:0;border-radius:20px;padding:0;max-width:900px;width:92%;max-height:90vh;color:var(--ink);box-shadow:0 25px 100px #102e3540}dialog::backdrop{background:#102b286b;backdrop-filter:blur(4px)}.modalhead{padding:18px 24px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.close{padding:5px 12px;border:0;font-size:22px}.detailcontent{padding:24px}.gallery{display:grid;grid-template-columns:2fr 1fr;gap:10px}.gallery .mainimage{width:100%;height:320px;object-fit:cover;border-radius:12px}.thumbs{display:grid;gap:10px;grid-template-columns:1fr 1fr}.thumbs img{width:100%;height:155px;object-fit:cover;border-radius:10px;cursor:pointer}.detailgrid{display:grid;grid-template-columns:1fr 250px;gap:24px;padding-top:20px}.detailgrid h2{margin:8px 0 12px}.chips{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.chip{border:1px solid var(--line);border-radius:8px;padding:9px;font-size:12px}.contact{background:var(--pale);padding:20px;border-radius:12px}.contact button{width:100%;margin-top:10px}.page{padding:30px 5%;max-width:1400px;margin:auto}.ownerhero{background:#e9eee0;border:1px solid #dce5d7;border-radius:20px;padding:38px;display:flex;align-items:center;gap:24px;margin-bottom:26px}.owneravatar{width:86px;height:86px;border-radius:24px;background:var(--green);color:white;font-size:45px;display:grid;place-items:center}.ownerhero h1{font-size:29px}.ownerhero .primary{margin-left:auto}.page .cards{grid-template-columns:repeat(4,1fr)}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:22px 0}.stat{background:white;border:1px solid var(--line);border-radius:12px;padding:22px}.stat strong{font-size:30px;display:block;margin-top:12px}table{width:100%;background:white;border-collapse:collapse}th,td{padding:16px;border-bottom:1px solid var(--line);text-align:left;font-size:12px}td img{width:60px;height:45px;object-fit:cover;border-radius:7px;vertical-align:middle;margin-right:10px}.form{padding:24px;display:grid;grid-template-columns:1fr 1fr;gap:16px}.form label{display:grid;gap:8px;font-size:12px}.form input,.form select{border:1px solid #d6dfd7;padding:12px;border-radius:8px;min-width:0}.wide{grid-column:1/-1}.checklist{display:flex;flex-wrap:wrap;gap:16px}.checklist label{display:flex;align-items:center;gap:7px}.empty{padding:55px 20px;text-align:center;grid-column:1/-1;color:#7a8980}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:20;padding:14px 24px;background:#153e31;color:white;border-radius:10px;display:none}.sectiontitle{display:flex;justify-content:space-between;align-items:center;margin:25px 0}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #85bda6;outline-offset:3px}@media(max-width:850px){header{height:70px;padding:0 16px;gap:12px}nav{gap:15px;font-size:11px}.brand{font-size:18px}.brand b{width:35px;height:35px;font-size:23px}.post{display:none}.demo{padding:8px 16px}.demo span{font-size:9px}.intro{padding:24px 16px 18px;display:block}h1{font-size:25px}.intro .search{width:100%;margin-top:16px}.filters{padding:0 16px 16px;gap:7px}.filters select{max-width:125px;padding:10px}.filters .toggle{margin-left:0}.workspace{height:auto;display:flex;flex-direction:column-reverse}.map{height:410px;flex-shrink:0}.results{padding:20px 16px}.cards,.page .cards{grid-template-columns:repeat(2,1fr);gap:12px}.photo{height:170px}.listonly .cards{grid-template-columns:repeat(2,1fr)}.gallery{display:block}.gallery .mainimage{height:260px}.thumbs{margin-top:10px;grid-template-columns:repeat(4,1fr)}.thumbs img{height:80px}.detailgrid{display:block}.ownerhero{padding:24px;flex-wrap:wrap}.ownerhero .primary{margin-left:0}.page{padding:24px 16px}table{display:block;overflow:auto}.stats{gap:8px}.stat{padding:14px;font-size:11px}.form{grid-template-columns:1fr}.form label{grid-column:1}.avatar{display:none}}
/* WISH · warm architectural palette */
:root{--ink:#292d30;--green:#755b3e;--pale:#f3eee6;--line:#e7e1d8}body{background:#faf8f4;color:var(--ink);font-family:'Be Vietnam Pro',Arial,sans-serif;font-weight:400}header{height:88px;background:#fffefb}h1,h2{font-weight:500;letter-spacing:-1px}h1{font-size:34px}.brand{color:#282e32}.brand b{background:#292f32;color:#e5c8a0;border-radius:4px}.small{color:#947b59}nav a.active{color:#947149;border-bottom:2px solid #b89a70;padding-bottom:9px}.post,.primary{background:#2e3637;color:#fff;border-color:#2e3637}.primary:hover,.post:hover{background:#465151;color:white}.demo{background:#f0eae0;color:#897253}.intro{padding-top:32px}.eyebrow{color:#9a7951}.search{border-radius:6px}.filters button,.filters select{border-radius:6px}.filters .toggle{background:#eee9e0}.workspace{grid-template-columns:minmax(300px,33%) minmax(0,67%);height:calc(100vh - 340px);min-height:490px}.workspace:not(.listonly) .results{padding:22px 22px 40px 30px}.workspace:not(.listonly) .cards{grid-template-columns:1fr;gap:20px}.workspace:not(.listonly) .photo{height:210px}.card{border-radius:9px;box-shadow:0 3px 16px #302a2005}.card h3{font-weight:500;font-size:14px;line-height:1.6}.photo{height:235px}.price{color:#806442;font-weight:600}.available{color:#667b5b}.badge{color:#4c6047;letter-spacing:.5px}.cardbody{padding:18px}.address{font-size:11px;line-height:1.5}.facts{font-size:11px}.ownerline{font-size:11px}.listonly{display:block;width:100%;height:auto}.listonly .results{width:100%;max-width:none;padding:24px 4% 60px}.listonly .cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:25px}.listonly .photo{height:270px}.mapbg{opacity:.65}.map{border-left:1px solid var(--line)}dialog{max-width:1050px;border-radius:12px;background:#fffefa}.modalhead{position:sticky;top:0;background:#fffefbf5;z-index:4}.detailcontent{padding:24px 30px}.gallery{display:block;position:relative;background:#eae5dc;border-radius:10px;overflow:hidden}.gallery .mainimage{height:min(52vh,490px);width:100%;object-fit:contain;border-radius:0;display:block}.slide-arrow{position:absolute;top:50%;transform:translateY(-50%);border:0;border-radius:50%;width:44px;height:44px;padding:0;font-size:29px;background:#fffefbed;box-shadow:0 3px 12px #0002}.slide-arrow.prev{left:16px}.slide-arrow.next{right:16px}.slide-count{position:absolute;bottom:16px;right:18px;border-radius:20px;background:#252d32b8;color:white;font-size:12px;padding:7px 13px}.gallery-note{font-size:10px;color:#908578;margin:9px 0 16px}.detailgrid{grid-template-columns:minmax(0,1fr) 280px;gap:35px}.detailgrid h2{font-size:25px;line-height:1.45}.contact{background:#f2ede5;border:1px solid var(--line);height:fit-content}.contact p{color:#6d6a65}.specs{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:1px solid var(--line);margin:16px 0 26px}.spec{padding:13px 8px;border-bottom:1px solid var(--line);font-size:12px}.spec span{display:block;color:#8a8276;font-size:10px;margin-bottom:7px}.detailsection{border-top:1px solid var(--line);padding-top:16px;margin-top:22px}.detailsection h3{font-size:15px;font-weight:600}.detailsection p{font-size:12px;color:#6f7069}.owner-picker{display:flex;gap:12px;flex-wrap:wrap;margin:12px 0 26px}.owner-choice{display:flex;align-items:center;gap:11px;padding:12px 20px;text-align:left;border-radius:8px}.owner-choice.active{border-color:#a88758;background:#f0e9dd}.owner-choice small{display:block;margin-top:4px;color:#8a8175;font-size:10px}.mini-avatar{width:36px;height:36px;display:grid;place-items:center;background:#e5dccd;border-radius:50%;color:#7d6646}.ownerhero{background:#ede7db;border:0;position:relative;overflow:hidden}.owneravatar{background:#343e3c;color:#dfc5a0;border-radius:6px}.ownerhero h1 span{display:none}.share-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px}.contact .share-buttons button{padding:9px 5px;font-size:11px;margin-top:0}.contact .share-buttons{margin-top:12px}.contact .share-buttons .facebook{color:#2263a9}.contact .share-buttons .zalo{color:#0871d4}.owner-tools{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:12px}.owner-tools label{font-size:12px}.owner-tools select{border:1px solid var(--line);background:white;padding:10px;border-radius:6px;margin-left:10px}.result-head{gap:8px;flex-wrap:wrap}.result-head .muted{font-size:10px}.hero-subtitle{color:#967d58}.share-help{padding:20px 26px;line-height:1.8}.share-help .share-buttons button{font-size:13px}.chip{border-radius:5px;color:#696351}.stat strong{color:#806442}@media(min-width:1600px){.workspace{grid-template-columns:30% 70%}.workspace:not(.listonly) .photo{height:230px}}@media(max-width:850px){header{height:72px}.intro h1{font-size:27px}.workspace{display:flex;min-height:0;height:auto}.workspace:not(.listonly) .results{padding:20px 16px}.workspace:not(.listonly) .cards{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace:not(.listonly) .photo{height:165px}.listonly .cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.listonly .photo{height:200px}.map{height:470px}.detailcontent{padding:16px}.detailgrid{display:block}.gallery .mainimage{height:320px}.contact{margin-top:20px}.ownerhero{gap:16px}.ownerhero h1{font-size:26px}.owner-choice{padding:10px 14px}.page .photo{height:200px}}@media(max-width:480px){.listonly .cards{grid-template-columns:1fr}.listonly .photo{height:270px}.workspace:not(.listonly) .cards{grid-template-columns:1fr}.workspace:not(.listonly) .photo{height:230px}.gallery .mainimage{height:270px}.specs{grid-template-columns:1fr 1fr}.page .cards{grid-template-columns:1fr}.photo{height:250px}nav{gap:12px}.brand{font-size:16px}.demo span{display:block;margin:4px 0 0}.ownerhero{padding:24px}.owner-tools select{margin:8px 0 0}.owner-choice{flex:1}.intro .eyebrow{font-size:9px}}
.extra-fields textarea{font:inherit;border:1px solid var(--line);border-radius:8px;padding:12px;width:100%;resize:vertical}.extra-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}.share-link{display:inline-block;border-radius:6px;padding:10px 20px}
.map{cursor:grab;touch-action:none;isolation:isolate;background:#e8ede4;min-width:0}.map.dragging{cursor:grabbing}.map:after{display:none}.map-canvas{position:absolute;left:50%;top:50%;margin-left:calc(-.5 * var(--map-size,0px));transform-origin:center;translate:-50% -50%;will-change:transform}.map-canvas .mapbg{inset:0;width:100%;height:100%;object-fit:fill;opacity:1;filter:saturate(.65);pointer-events:none;user-select:none}.map-canvas #pins{position:absolute;inset:0}.map-canvas .pin{transform:translate(-50%,-50%) scale(calc(1 / var(--map-zoom,1)));touch-action:manipulation}.map-canvas .pin:hover{transform:translate(-50%,-50%) scale(calc(1.08 / var(--map-zoom,1)))}.mapcontrols,.maplabel,.mapnote{cursor:default}.mapcontrols{bottom:55px}.mapcontrols button:disabled{opacity:.4;cursor:default}.mapnote{display:flex;gap:12px;flex-wrap:wrap;max-width:calc(100% - 30px)}.mapnote a{text-decoration:underline}.maplabel{pointer-events:none}.mapcontrols button{touch-action:manipulation}.map:focus-visible{outline:3px solid #b89a70;outline-offset:-3px}.filters #area{max-width:180px}
.map{overflow:clip}.map-canvas{margin:0}
/* Live geographic map */
.workspace:not(.listonly){grid-template-columns:290px minmax(0,1fr)}.workspace:not(.listonly) .results{padding:17px 13px 30px}.workspace:not(.listonly) .photo{height:150px}.workspace:not(.listonly) .cardbody{padding:12px}.workspace:not(.listonly) .card h3{font-size:12px;line-height:1.5;margin:8px 0 5px}.workspace:not(.listonly) .price{font-size:17px}.workspace:not(.listonly) .facts{font-size:10px;gap:8px;margin:10px 0}.workspace:not(.listonly) .address{font-size:10px}.workspace:not(.listonly) .ownerline{font-size:10px}.workspace:not(.listonly) .cards{gap:14px}.live-map-shell{position:relative;overflow:hidden;touch-action:auto;cursor:default;isolation:isolate}#live-map{position:absolute;inset:0;width:100%;height:100%;z-index:0;background:#e9eee6}.live-map-shell .maplabel{z-index:500;max-width:calc(100% - 40px);font-size:10px;box-shadow:0 3px 15px #0001}.leaflet-container{font-family:'Be Vietnam Pro',Arial,sans-serif}.room-map-marker{background:transparent;border:0}.live-pin{position:relative;display:block;width:80px;padding:4px;border:2px solid white;border-radius:10px;box-shadow:0 3px 15px #28392940;background:white;cursor:pointer;transition:box-shadow .15s}.live-pin img{display:block;width:68px;height:49px;object-fit:cover;border-radius:5px}.live-pin strong{display:block;font-size:11px;padding:5px 0 1px;white-space:nowrap}.live-pin:after{content:'';position:absolute;bottom:-9px;left:29px;border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid white}.live-pin:hover{background:white;border-color:#b89a70;box-shadow:0 5px 24px #23392c55}.leaflet-control-zoom{border:1px solid #ddd6cb!important;border-radius:9px!important;overflow:hidden;box-shadow:0 3px 14px #0001!important;margin:0 20px 28px 0!important}.leaflet-control-zoom a{width:40px!important;height:40px!important;line-height:40px!important;color:#293333!important;font-family:Arial,sans-serif!important;font-weight:400!important;background:#fffefa!important}.leaflet-control-attribution{font-size:9px!important;background:#fffefbe8!important}.tile-warning{position:absolute;bottom:25px;left:15px;padding:10px 15px;background:#fff6dd;border-radius:8px;z-index:500;max-width:75%;font-size:11px}.tile-warning[hidden]{display:none}@media(min-width:1700px){.workspace:not(.listonly){grid-template-columns:310px minmax(0,1fr)}}@media(max-width:850px){.workspace:not(.listonly){display:flex;flex-direction:column-reverse;height:auto;min-height:0}.live-map-shell{height:530px;flex-shrink:0}.workspace:not(.listonly) .results{padding:20px 16px}.workspace:not(.listonly) .cards{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace:not(.listonly) .photo{height:165px}}@media(max-width:480px){.live-map-shell{height:500px}.workspace:not(.listonly) .cards{grid-template-columns:1fr}.workspace:not(.listonly) .photo{height:190px}.live-map-shell .maplabel{left:10px;top:12px;font-size:9px;padding:8px 10px}}
.region-picker{position:relative;z-index:700}.region-trigger{min-width:190px;display:flex;align-items:center;justify-content:space-between;gap:16px;text-align:left;height:44px}.region-trigger span{max-width:200px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.region-dropdown{position:absolute;top:calc(100% + 9px);left:0;width:320px;background:#fffefa;border:1px solid var(--line);border-radius:10px;box-shadow:0 15px 45px #30372a25;overflow:hidden}.region-dropdown[hidden]{display:none}.region-search{display:flex;align-items:center;gap:8px;margin:12px;border:1px solid #ddd4c4;border-radius:6px;padding:9px 12px;background:#fff}.region-search input{font:inherit;width:100%;border:0;outline:0;background:transparent;min-width:0}.region-hint{font-size:10px;color:#8b806d;padding:0 15px 9px}#region-options{max-height:330px;overflow-y:auto;padding:0 6px 6px;overscroll-behavior:contain}#region-options button{width:100%;display:flex;justify-content:space-between;align-items:center;border:0;padding:12px 10px;border-radius:5px;text-align:left;background:transparent}#region-options button[aria-selected=true]{color:#86663e;background:#f0e9de}#region-options button:hover{background:#f3eee5}#region-options small{font-size:10px;color:#8c8578}.region-empty{padding:12px;font-size:12px}.workspace:not(.listonly){height:760px;min-height:0}.workspace:not(.listonly) .results{overflow-y:auto}.listonly{height:auto!important}.region-picker button:focus-visible{outline:2px solid #ae8c59;outline-offset:-2px}@media(max-width:850px){.workspace:not(.listonly){height:auto}.live-map-shell{height:700px}.region-trigger{min-width:170px}.region-dropdown{width:min(320px,calc(100vw - 32px))}.region-picker{z-index:700}}@media(max-width:480px){.live-map-shell{height:650px}.region-trigger{min-width:160px}.filters{align-items:center}.region-dropdown{width:calc(100vw - 32px)}}
/* Compact WISH masthead — forest, ivory and brushed gold */
header{height:68px;padding:0 30px;gap:16px;background:#193b34;border-bottom:1px solid #ffffff12;box-shadow:0 2px 10px #18392e0b}.brand{color:#fffdf7;font-size:22px;gap:9px}.brand b{width:38px;height:38px;background:#ffffff0d;color:#e9c994;border:1px solid #d6ba8144;border-radius:7px;font-size:27px}.brand .small{color:#ddc69f;font-size:7px;letter-spacing:2.7px}header nav{gap:26px;font-size:12px;height:100%;align-items:center}header nav a{color:#d2ded7;padding:10px 2px;border-bottom:2px solid transparent;transition:color .15s}header nav a.active{color:#f5dfb4;border-bottom-color:#d8ba83;padding-bottom:10px}header nav a:hover{color:white}header nav span{background:#ffffff17;color:#f3e4c8;padding:2px 5px}header .post{background:#dfc69d;color:#243a31;border:1px solid #dfc69d;border-radius:7px;font-size:12px;font-weight:600;padding:10px 16px}header .post:hover{background:#eddbbc;color:#243a31;border-color:#eddbbc}.avatar{width:33px;height:33px;background:#ffffff12;color:#e7d8be;border:1px solid #ffffff2b;font-size:12px;padding:7px}.demo{padding:5px 30px;background:#f2eee5;color:#8d795c;font-size:8px;letter-spacing:1px;line-height:1.5;border-bottom:1px solid #e9e2d5}.demo span{font-size:10px;color:#827c6f;letter-spacing:0}.intro{padding:18px 30px 14px;align-items:center;gap:25px;background:linear-gradient(110deg,#eef3eb 0%,#f7f5ee 65%,#f0f1e8 100%)}.intro .eyebrow{font-size:8px;letter-spacing:1.8px;color:#9b7b49;margin-bottom:5px}.intro h1{font-size:27px;line-height:1.25;color:#23463b;letter-spacing:-.8px;margin:0 0 5px;font-weight:600}.intro p{font-size:11px;color:#6e7e71;line-height:1.5;margin:0}.intro .search{width:380px;max-width:40%;padding:5px 6px 5px 12px;border:1px solid #dbe2d5;border-radius:9px;box-shadow:0 3px 10px #2c4b3220;background:#fffffff2;flex-shrink:0}.intro .search input{font-size:11px;padding:8px 3px;color:#304b3d}.intro .search input::placeholder{color:#879184}.intro .search button{font-size:11px;padding:9px 15px;border-radius:6px;background:#2b5545;border-color:#2b5545}.filters{padding:0 30px 15px;gap:8px;background:linear-gradient(110deg,#eef3eb 0%,#f7f5ee 65%,#f0f1e8 100%);align-items:center;border-bottom:1px solid #dde4d7}.filters select,.filters>button,.filters .region-trigger{font-size:11px;height:38px;min-height:38px;padding:8px 12px;border-radius:7px;background:#fffefa;border-color:#dbe1d4}.filters select{max-width:155px}.region-trigger{min-width:180px}.region-trigger span{max-width:170px}.filters>button[title]{width:36px;padding:7px}.filters .toggle{padding:3px;border-radius:8px;background:#dfe7da;gap:1px}.filters .toggle button{font-size:11px;padding:7px 12px;border-radius:6px;color:#506552}.filters .toggle .on{color:#264a3b;background:#fffefa;box-shadow:0 2px 7px #233b2320}.workspace{border-top:0}.region-dropdown{font-size:12px}.region-search{font-size:12px}.region-hint{font-size:9px}.region-dropdown button{font-size:12px}.region-picker{z-index:700}@media(min-width:1700px){header,.demo{padding-left:40px;padding-right:40px}.intro{padding:20px 40px 15px}.filters{padding:0 40px 16px}.intro .search{width:430px}.intro h1{font-size:29px}}@media(max-width:850px){header{padding:0 16px;height:62px;gap:10px}.brand{font-size:18px}.brand b{width:32px;height:32px;font-size:23px}.brand .small{font-size:6px;letter-spacing:2px}header nav{gap:16px;font-size:11px}.demo{padding:5px 16px}.demo span{font-size:9px}.intro{padding:15px 16px 12px;display:flex;gap:14px;flex-wrap:wrap}.intro h1{font-size:24px}.intro .search{width:100%;max-width:none;margin-top:0}.filters{padding:0 16px 13px;gap:7px}.filters .toggle{margin-left:auto}.filters select{max-width:133px}.filters .region-trigger{min-width:164px}}@media(max-width:480px){header{height:60px}.brand{font-size:16px}header nav{gap:11px;font-size:10px}.demo{font-size:7px}.demo span{display:inline;margin-left:6px;font-size:8px}.intro h1{font-size:23px}.intro .eyebrow{font-size:7px}.intro p{font-size:10px}.filters .toggle{margin-left:0}.filters .region-trigger{min-width:164px}.region-dropdown{font-size:12px}.avatar{display:none}}
/* Sunny WISH navigation and compact adaptive map pins. */
header{background:#ffbd16;border-color:#eeb022;color:#30270f;box-shadow:none}.brand{color:#332a16}.brand b{background:#fff7d5;color:#eb9500;border:1px solid #fff5c3}.brand .small{color:#7d5a12}header nav a{color:#594618}header nav a.active{color:#33280e;border-bottom-color:#6b4b10}header nav a:hover{color:#17130b}header nav span{background:#fff6d4;color:#6e510f}header .post{background:#352c1c;color:#fff8e9;border-color:#352c1c}header .post:hover{background:#53402b;color:white;border-color:#53402b}.avatar{color:#674b17;background:#fff7dc;border-color:#fff0b1}.demo{background:#fff6db;border-color:#f2e2b4;color:#946d25}.intro{position:relative;background:linear-gradient(100deg,#ffdf55,#ffc52b);overflow:hidden;isolation:isolate;padding:20px 30px 17px}.intro:before{content:'';position:absolute;inset:0;background-image:var(--hero-image,none);background-size:cover;background-position:center;z-index:-2;pointer-events:none}.intro:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#ffde53e6 0%,#ffdc4ada 47%,#ffd33b99 100%);z-index:-1;pointer-events:none}.intro h1{color:#3c2d0d}.intro p{color:#745a1d}.intro .eyebrow{color:#8d5f0d}.intro .search{box-shadow:0 4px 13px #765a1925;border-color:#fff1b6}.intro .search button{background:#4b3d20;border-color:#4b3d20}.filters{background:#fff3c7;border-color:#f0dfac;padding-top:10px}.filters .toggle{background:#f5df9f}.filters .toggle .on{color:#68480e}.province-filter{display:flex;align-items:center;gap:7px;border:1px solid #e2d6b4;border-radius:7px;background:#fffefa;padding:0 10px;height:38px}.province-filter>span{font-size:9px;color:#9b7a31;white-space:nowrap}.filters .province-filter select{border:0;padding:5px 0;height:32px;max-width:130px;background:transparent;font-weight:500}.live-map-shell>.maplabel{display:none}.live-pin{width:var(--pin-w,44px);padding:2px;border:2px solid white;border-radius:7px;box-shadow:0 2px 7px #223b2e40}.live-pin img{width:100%;height:calc(var(--pin-w,44px) * .64);border-radius:3px}.live-pin strong{font-size:9px;line-height:14px;padding:3px 0 0;font-weight:700}.live-pin:after{left:calc(50% - 5px);bottom:-6px;border-width:5px 5px 0;border-color:white transparent transparent;border-style:solid}.cluster-pin{border-color:#f1b935;background:#fff9e7}.cluster-pin:after{border-top-color:#f1b935}.cluster-count{position:absolute;right:-7px;top:-8px;border:2px solid white;background:#f3a811;color:#362709;border-radius:20px;padding:1px 4px;font-size:9px;font-weight:700;min-width:19px;line-height:13px}.cluster-pin:hover{border-color:#d2951d}.cluster-sub{font-size:11px;margin:4px 0 0}.cluster-actions{padding:12px 20px;border-bottom:1px solid var(--line)}.cluster-rooms{padding:10px 20px 20px;display:grid;gap:9px}.cluster-room{display:flex;gap:12px;align-items:center;text-align:left;padding:9px;border-radius:8px}.cluster-room img{width:65px;height:52px;object-fit:cover;border-radius:5px}.cluster-room span{flex:1;min-width:0;font-size:12px}.cluster-room small{display:block;color:#8a8273;margin-top:6px;font-size:10px}.cluster-room>strong{font-size:12px;color:#876423;white-space:nowrap}.detail-save{margin-left:auto;margin-right:12px;font-size:12px;padding:9px 14px;background:#fff8e8;border-color:#efdcad;white-space:nowrap}.detail-save.is-saved{color:#b14e27;background:#fff0e8;border-color:#e7c1ac}.house-block{border:1px solid var(--line);background:#fffefa;border-radius:12px;margin:14px 0;overflow:hidden}.house-block>summary{list-style:none;display:flex;align-items:center;gap:15px;padding:20px;cursor:pointer;background:#f3efe5}.house-block>summary::-webkit-details-marker{display:none}.house-symbol{display:grid;place-items:center;width:44px;height:44px;border-radius:10px;background:#e7dbc5;color:#826338;font-size:26px}.house-info{flex:1;min-width:0}.house-info b{font-size:14px;display:block}.house-info small{display:block;color:#918575;font-size:10px;margin-top:7px}.house-total{font-size:12px;color:#6e685b;text-align:right}.house-total em{font-style:normal;display:block;margin-top:6px;color:#5d7955;font-size:10px}.house-chevron{font-size:18px;transition:.2s}.house-block[open] .house-chevron{transform:rotate(180deg)}.house-content{padding:18px}.house-toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:15px;font-size:11px;color:#8b816f}.house-toolbar button{font-size:11px;padding:9px 12px}.house-toolbar>div{display:flex;gap:8px}.house-content .cards{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}.room-table-wrap{overflow:auto}.room-title-button{padding:0;border:0;display:flex;align-items:center;gap:9px;background:transparent;text-align:left;font-size:11px;max-width:330px;line-height:1.5}.room-title-button img{flex-shrink:0;margin:0;width:56px;height:42px}.admin-note{font-size:11px;color:#9c8f7e}.owner-tools>div p{margin:7px 0;font-size:12px}.owner-tools{margin-bottom:15px}#houseDialog{max-width:600px}#clusterDialog{max-width:650px}.house-block td{font-size:11px}.house-block td>button{font-size:10px;padding:8px 10px}.house-block td .room-title-button{padding:0}.hero-subtitle{color:#9b772f}@media(min-width:1700px){.intro{padding-left:40px;padding-right:40px}}@media(max-width:850px){.intro{padding:17px 16px 13px}.intro:after{background:#ffd94de0}.filters{padding-top:8px}.house-content .cards{grid-template-columns:repeat(2,minmax(0,1fr))}.house-block>summary{padding:14px;gap:10px}.house-info b{font-size:12px}.house-content{padding:12px}.detail-save{padding:8px 10px;font-size:11px;margin-right:4px}.province-filter{max-width:210px}}@media(max-width:480px){.house-content .cards{grid-template-columns:1fr}.house-symbol{width:34px;height:34px;font-size:22px}.house-total{font-size:10px}.house-info small{font-size:9px}.house-toolbar{flex-wrap:wrap}.detailcontent+.detail-save{font-size:10px}.modalhead{gap:6px;padding:14px}.modalhead>b{font-size:11px}.detail-save{font-size:10px;padding:8px}.cluster-room img{width:52px;height:48px}.cluster-room span{font-size:11px}.house-info b{overflow-wrap:anywhere}.province-filter{height:38px}.filters .province-filter select{max-width:116px}}
.intro{--hero-image:url('assets/wish-sunny-banner.jpg');min-height:135px}.intro:before{background-size:cover;background-position:center 50%}.intro:after{background:linear-gradient(90deg,#ffdb52d9 0%,#ffdc4ac7 40%,#ffd33b66 72%,#ffd33b44 100%)}.intro>div:first-child{padding-left:110px}.intro .search{position:relative;margin-right:105px}@media(min-width:1700px){.intro>div:first-child{padding-left:150px}.intro .search{margin-right:160px}}@media(max-width:1100px){.intro>div:first-child{padding-left:50px}.intro .search{margin-right:45px}.intro h1{font-size:25px}}@media(max-width:850px){.intro{min-height:165px}.intro>div:first-child{padding-left:0}.intro .search{margin-right:0}.intro:before{background-position:right center}.intro:after{background:#ffdc52bb}}@media(max-width:480px){.intro{min-height:170px}.intro h1{font-size:23px}.intro:before{opacity:.7}.intro:after{background:#ffdb52b8}}
/* Continuous golden header and apartment banner. */
header{background:#ffcc27;border-bottom:0;box-shadow:none;margin:0}.intro{background:#ffcc27;margin-top:0;border-top:0}.intro:after{background:linear-gradient(180deg,#ffcc27 0%,#ffcc2700 52%),linear-gradient(90deg,#ffda50c9 0%,#ffdc4aa8 40%,#ffd33b44 75%,#ffd33b33 100%)}@media(max-width:850px){.intro:after{background:linear-gradient(180deg,#ffcc27 0%,#ffcc2700 45%),linear-gradient(90deg,#ffdc52ce,#ffdc52a6)}}

/* WISH owner account and building workspace */
header{position:relative;justify-content:center}
header .brand{position:absolute;left:30px}
header nav{font-size:clamp(16px,1.35vw,21px);gap:clamp(22px,3vw,50px);font-weight:700}
header nav a{white-space:nowrap}
header nav span{font-size:12px}
.listing-video{width:100%;max-height:420px;border-radius:12px;background:#1d1b17;margin:8px 0 14px}
.portal{max-width:1250px;margin:0 auto;padding:42px 24px 64px;color:#302a21;font-size:15px;line-height:1.55}
.portal p,.wish-editor p{margin:8px 0 14px}
.portal h1{font-size:clamp(28px,3.2vw,47px);line-height:1.13;margin:10px 0 12px;letter-spacing:-.04em}
.portal h2,.wish-editor h2{margin:0;font-size:22px;line-height:1.25;color:#302a21}
.portal-kicker{font-size:12px;font-weight:800;letter-spacing:.1em;color:#775719}
.portal:has(.portal-intro){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:26px;align-items:start;max-width:1110px}
.portal-intro,.portal-panel{border:1px solid #ece2ce;border-radius:18px;padding:clamp(18px,3vw,30px);background:#fffdfa}
.portal-intro{background:#fff3c8}
.portal-steps{list-style:none;padding:0;margin:25px 0}
.portal-steps li{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #e9d9a5}
.portal-steps b{display:grid;place-items:center;flex:0 0 28px;height:28px;border-radius:50%;background:#ffcc27;color:#39280d}
.portal-review-link{font-weight:650;font-size:13px;text-decoration:underline;text-underline-offset:4px;color:#654710;display:inline-block;margin-top:12px}
.portal-single{max-width:530px;margin:auto}
.portal-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}
.portal button,.wish-editor button{font-size:14px;min-height:40px;border-radius:9px}
.portal button:disabled,.wish-editor button:disabled{opacity:.55;cursor:wait}
.portal-tabs button[aria-pressed=true]{background:#fff0b8;border-color:#e7be45;color:#634712;font-weight:700}
.portal-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 15px;margin-top:15px;font-size:14px}
.portal-form.one-column{grid-template-columns:1fr}
.portal-form .wide{grid-column:1/-1}
.portal-form h3,.portal-media h3{font-size:16px;margin:0}
.portal-form label:not(.portal-check){display:flex;flex-direction:column;gap:6px;font-weight:650;min-width:0}
.portal-form input:not([type=checkbox]):not([type=file]),.portal-form select,.portal-form textarea{font:inherit;font-weight:400;width:100%;min-height:42px;padding:9px 11px;border:1px solid #dcd1bb;border-radius:8px;background:white;color:#302a21}
.portal-form textarea{resize:vertical}
.portal-check{display:flex;align-items:flex-start;gap:8px;font-weight:500;cursor:pointer}
.portal-check input{margin:4px 0 0;accent-color:#8d6414}
.portal-hint,.portal-media>p,.portal-extra p{color:#675b46;font-size:13px}
.portal-feedback,.portal-media-error{background:#fff0e9;color:#9b342b;border-radius:7px;padding:9px 12px}
.portal-heading,.portal-section-title,.portal-actions,.editor-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.portal-section-title h2{font-size:19px}
.portal-section-title p{color:#6f614a;font-size:13px;margin:4px 0}
.portal-heading{margin-bottom:24px}
.portal-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:20px}
.portal-stats>div{background:#fff6d5;border:1px solid #efe0a7;border-radius:12px;padding:13px 14px;font-size:13px}
.portal-stats strong{font-size:26px;display:block;color:#5c4111}
.portal-columns{display:grid;grid-template-columns:minmax(285px,.8fr) minmax(0,1.4fr);gap:18px;align-items:start}
.portal-houses,.portal-rooms{padding:18px}
.portal-house-row,.portal-room-row{display:grid;grid-template-columns:50px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;width:100%;margin-top:9px;text-align:left;background:#fff;border:1px solid #eadfc9;color:#342b1d}
.portal-house-row[aria-pressed=true]{border-color:#b4811c;background:#fff6da}
.portal-house-row img,.portal-room-row img{width:50px;height:45px;border-radius:6px;object-fit:cover}
.portal-house-row small,.portal-room-row small{display:block;margin-top:2px;color:#665a47;font-size:12px;overflow-wrap:anywhere}
.portal-house-row strong,.portal-room-row strong{overflow-wrap:anywhere}
.portal-room-entry{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;margin-top:9px;padding:5px;border:1px solid #eadfc9;border-radius:10px;background:#fff}
.portal-room-entry .portal-room-row{margin:0;border:0}
.portal-room-copy{white-space:nowrap;background:#fff7df;color:#67490d;border-color:#ebd79c;padding:7px 10px}
.portal-room-copy:hover{background:#ffefbb}
.portal-badges{text-align:right}
.portal-status{display:inline-block;font-size:12px;font-weight:700;padding:4px 8px;border-radius:20px;background:#eeeae2;color:#5f574b}
.portal-status.available{background:#e7f3e6;color:#28592e}
.portal-status.soon{background:#fff1c1;color:#744d03}
.portal-defaults{display:flex;flex-wrap:wrap;gap:6px 16px;padding:10px 12px;background:#fbf4e1;border-radius:8px;margin:12px 0;font-size:13px}
.portal-empty{padding:24px 10px;text-align:center;color:#675b46}
.portal-empty>span{display:block;font-size:33px;color:#84611b}
.wish-editor{width:min(700px,calc(100% - 24px));max-height:90dvh;border:1px solid #e9dfca;border-radius:16px;font-size:15px;line-height:1.5}
.wish-editor::backdrop{background:#251d0e86}
.wish-editor .modalhead{position:sticky;top:0;z-index:1;background:#fff8e5;border-bottom:1px solid #e9dfca;padding:14px 20px}
.wish-editor .modalhead small{display:block;color:#6b561e;font-size:12px;margin-bottom:2px}
.editor-body{padding:4px 20px 20px}
.editor-actions{justify-content:flex-end;background:#fffdfa;padding-top:8px}
.portal-extra,.portal-media{border:1px solid #e9dfc6;border-radius:10px;background:#fffdf5;padding:12px}
.portal-extra summary{cursor:pointer;font-weight:700}
.portal-amenities,.portal-uploads{display:flex;flex-wrap:wrap;gap:8px 14px}
.portal-amenities label{font-size:13px}
.portal-photo-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:8px 0}
.portal-photo-grid figure{margin:0;position:relative}
.portal-photo-grid img{width:100%;height:74px;object-fit:cover;border-radius:6px}
.portal-photo-grid figcaption{font-size:11px;color:#5f4c26}
.portal-photo-grid button{position:absolute;top:2px;right:2px;min-height:27px;border-radius:50%;padding:1px 8px;background:#fffdfa}
.portal-form label.portal-upload{display:inline-flex;position:relative;border:1px dashed #bd9f5d;padding:8px 12px;border-radius:8px;cursor:pointer;color:#594009}
.portal-upload input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.portal-upload:focus-within{outline:2px solid #7b5c1a}
.portal-video-preview{display:flex;align-items:center;gap:12px;margin:8px 0}
.portal-video-preview video{max-width:min(230px,65%);max-height:135px;border-radius:6px}
.portal-review-item{margin:12px 0}
.portal-addresses{white-space:pre-line}
.portal-review-item output{display:inline-block;font-weight:750;margin-left:10px}
.portal-code{font-family:monospace;user-select:all;font-size:24px;letter-spacing:.1em;background:#fff1bd;padding:8px 12px;border-radius:7px}
@media(max-width:760px){
  header .brand{left:14px}
  header nav{font-size:16px;gap:18px}
  .portal{padding:22px 13px 42px}
  .portal:has(.portal-intro),.portal-columns{grid-template-columns:1fr}
  .portal:has(.portal-intro){gap:12px}
  .portal-intro h1{font-size:29px}
  .portal-steps{margin:8px 0;font-size:13px}
  .portal-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:460px){
  header{justify-content:flex-end;padding:0 12px}
  header .brand{left:10px}
  header .brand>span{display:none}
  header nav{margin:0;gap:14px;font-size:15px}
  .portal-form{grid-template-columns:1fr}
  .portal-room-row{grid-template-columns:40px minmax(0,1fr) auto;padding:8px;gap:7px}
  .portal-room-row img{width:40px;height:40px}
  .portal-room-entry .portal-room-row{grid-template-columns:34px minmax(0,1fr);padding:6px}
  .portal-room-entry .portal-room-row img{width:34px;height:34px}
  .portal-room-entry .portal-badges{grid-column:2;text-align:left}
  .portal-copy-label{display:none}
  .wish-editor .modalhead{padding:12px 14px}
  .editor-body{padding:4px 14px 16px}
  .portal-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}


.wish-pin-map{height:clamp(220px,37vh,340px);border:1px solid #dcd1bb;border-radius:8px;isolation:isolate;background:#ede9dd;cursor:crosshair}
.wish-pin-icon span{display:block;width:24px;height:24px;border:2px solid #fff;border-radius:50% 50% 50% 0;background:#a15117;transform:rotate(-45deg);box-shadow:0 2px 5px #35231170;margin:2px}
.wish-pin-icon span::after{content:'';position:absolute;inset:6px;border-radius:50%;background:#fff}
.portal-pin-actions{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;margin-top:10px;color:#675b46;font-size:13px}
.portal-pin-actions button{padding:5px 9px;min-height:34px;font-size:13px}
.portal-pin-coordinates,.portal-furniture-extra{margin-top:10px;color:#675b46;font-size:13px}
.portal-pin-coordinates summary,.portal-furniture-extra summary{cursor:pointer}
.portal-furniture{min-width:0;border:1px solid #e9dfc6;border-radius:10px;padding:10px 12px;margin:0}
.portal-furniture legend{padding:0 5px;font-weight:700}
.portal-furniture-grid{display:flex;flex-wrap:wrap;gap:8px}
.portal-form label.portal-furniture-option{position:relative;display:flex;flex-direction:row;align-items:center;gap:7px;padding:7px 10px;min-height:38px;border:1px solid #e4d9c1;border-radius:8px;cursor:pointer;background:#fff;color:#423620;font-size:13px}
.portal-furniture-option input{margin:0;accent-color:#8d6414}
.portal-form label.portal-furniture-option:has(:checked){background:#fff1bd;border-color:#b98b23;color:#533a0b}
.portal-furniture-extra label{margin-top:7px}

/* Compact public navigation and listing management */
header.wish-header{height:auto;min-height:68px;justify-content:space-between;gap:20px;padding:8px clamp(14px,4vw,58px)}
.wish-tagline{font-size:clamp(18px,1.8vw,29px);font-weight:800;color:#32260f;letter-spacing:-.025em;line-height:1.1}
header.wish-header nav{margin:0;gap:clamp(16px,3vw,46px)}
.wish-header + main > .filters{padding-top:12px}
.portal-profile-strip,.public-owner-profile{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:16px 18px;border:1px solid #e7d8ad;border-radius:14px;background:#fff8e3;margin-bottom:16px}
.portal-profile-strip>div:nth-child(2),.public-owner-profile>div:nth-child(2){flex:1 1 190px}
.portal-profile-strip h2{margin-top:4px}
.portal-profile-strip p,.public-owner-profile p{margin:4px 0;color:#675b46}
.portal-profile-avatar{width:58px;height:58px;flex:0 0 58px;border-radius:50%;object-fit:cover;display:grid;place-items:center;background:#ffe8a2;color:#62410c;font-size:24px;font-weight:800}
.portal-link-button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:6px 11px;border:1px solid #e1d7c3;border-radius:9px;background:#fff;color:#493719;text-decoration:none;font-size:13px;font-weight:650;white-space:nowrap}
.portal-link-button:hover{background:#fff6dc}
.portal-list-filters{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin:12px 0 8px}
.portal-list-filters input[type=search],.portal-list-filters select,.portal-share-field input{font:inherit;min-height:38px;border:1px solid #dfd4be;border-radius:8px;background:#fff;color:#392f1f;padding:7px 9px;font-size:13px}
.portal-list-filters input[type=search]{flex:1 1 125px;min-width:0}
.portal-list-filters select{max-width:100%}
.room-filters .portal-check{font-size:13px;flex-basis:100%;margin-top:3px}
.portal-house-row .portal-status{display:inline-block;margin-top:4px}
.portal-room-entry{display:block;padding:6px 8px}
.portal-room-entry .portal-room-row{padding:8px 3px}
.portal-room-actions{display:flex;gap:6px;flex-wrap:wrap;align-items:center;padding-top:7px;border-top:1px solid #f2ebdc}
.portal-room-actions button,.portal-room-actions .portal-link-button{min-height:34px;font-size:12px;padding:5px 8px}
.portal-room-actions .portal-bump{color:#6b4707;background:#fff1bc;border-color:#e9ce73;font-weight:750}
.portal-room-actions button:disabled{cursor:default}
.portal-price-group h3{font-size:15px;margin:14px 0 4px}
.portal-price-group small{font-weight:400;color:#675b46;margin-left:6px}
.portal-share-field{display:grid;gap:6px;margin-top:10px}
.portal-share-field input{width:100%}
.public-owner-page{max-width:1150px;margin-inline:auto}
.public-owner-profile{padding:22px}
.public-owner-profile h1{margin:4px 0;font-size:clamp(25px,4vw,38px)}
.public-owner-bio{white-space:pre-line;overflow-wrap:anywhere}
.public-owner-title{font-size:21px;margin:20px 0 12px}
.public-owner-page .house-content>.portal-link-button{margin-bottom:10px}
@media(max-width:660px){
  header.wish-header{min-height:58px;gap:8px;padding:6px 10px}
  .wish-tagline{font-size:clamp(13px,3vw,18px);max-width:42%;line-height:1.1}
  header.wish-header nav{font-size:clamp(11px,3vw,15px);gap:clamp(5px,2vw,12px)}
  header.wish-header nav span{font-size:10px;padding:1px 4px}
  .portal-profile-strip{gap:10px;padding:13px}
  .portal-profile-strip .portal-actions{flex-basis:100%;justify-content:flex-start}
  .public-owner-profile{padding:14px}
  .portal-room-actions{gap:5px}
}

/* WISH customer inbox */
[data-message-badge][hidden],.message-page [hidden]{display:none!important}
.message-count,header.wish-header nav [data-message-badge]{display:inline-grid;place-items:center;min-width:19px;height:19px;padding:0 4px;border-radius:100px;background:#773719;color:#fff7df;font-size:10px;font-weight:800}
.contact .message-owner-link{display:flex;justify-content:center;align-items:center;width:100%;min-height:42px;padding:8px 12px;border-radius:8px;font-weight:750;text-decoration:none;margin:0 0 10px}
.message-page{max-width:1120px;margin-inline:auto}
.message-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}
.message-heading h1{margin:4px 0}
.message-tabs{display:flex;gap:7px;margin-bottom:12px}
.message-tabs a{padding:8px 12px;border:1px solid #eadfc9;border-radius:9px;background:#fffefa;color:#543e22;font-weight:700;text-decoration:none}
.message-tabs a[aria-current]{border-color:#c59639;background:#fff0bd}
.message-layout{display:grid;grid-template-columns:minmax(265px,.8fr) minmax(0,1.6fr);gap:14px}
.message-inbox,.message-detail{min-width:0;border:1px solid #eadfc9;border-radius:14px;background:#fffefa;padding:12px}
.message-inbox{align-self:start}
.message-thread{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:start;gap:9px;border-bottom:1px solid #eee4d1;padding:10px 5px;color:#3e3020;text-decoration:none}
.message-thread:last-child{border-bottom:0}
.message-thread:hover,.message-thread[aria-current]{background:#fff4d1;border-radius:8px}
.message-thread.is-unread{background:#fff8e3}
.message-avatar{width:35px;height:35px;display:grid;place-items:center;background:#f8e5a7;color:#674617;font-weight:800;border-radius:50%}
.message-thread-text{min-width:0}
.message-thread-text>*{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.message-thread-text small,.message-thread-text>span{color:#6d5b41;font-size:12px}
.message-thread.is-unread .message-thread-text>span{color:#49351a;font-weight:700}
.message-thread-meta{display:grid;justify-items:end;gap:7px;min-width:0;color:#6d5b41;font-size:10px}
.message-dot{height:8px;width:8px;border-radius:50%;background:#a74b22}
.message-inbox>button{width:100%;margin-top:9px}
.message-empty{padding:19px 12px;color:#6d5b41}
.message-empty h2{font-size:17px}
.message-detail-top{display:flex;align-items:flex-start;gap:12px;justify-content:space-between;border-bottom:1px solid #eee4d1;padding:1px 2px 9px}
.message-detail-top h2{overflow-wrap:anywhere}
.message-detail-top p{font-size:12px;margin:4px 0;color:#6d5b41}
.message-detail-top small{color:#6d5b41}
.message-back{display:none}
#chat-earlier{margin:9px 0}
.message-history{min-height:200px;max-height:clamp(240px,47vh,560px);display:flex;flex-direction:column;align-items:flex-start;gap:8px;overflow-y:auto;padding:10px 2px}
.message-bubble{max-width:min(87%,540px);border-radius:12px;background:#f3ebdc;padding:7px 10px;flex:none;overflow-wrap:anywhere}
.message-bubble.is-mine{align-self:flex-end;background:#fff0b9}
.message-bubble p{white-space:pre-wrap;margin:0 0 3px}
.message-bubble time{display:block;text-align:right;color:#68543a;font-size:10px}
.message-reply{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;margin:6px 0 0;border-top:1px solid #eee4d1;padding-top:10px}
.message-reply label{display:grid;gap:3px;font-size:12px;font-weight:650}
.message-reply textarea{width:100%;padding:8px;border:1px solid #dcd1bb;border-radius:8px;min-height:48px;max-height:160px;resize:vertical;font:inherit;font-size:14px;background:#fff}
.message-reply .portal-feedback{grid-column:1/-1}
.message-compose>.portal-kicker{display:block;margin-top:14px}
@media(max-width:740px){
  .message-layout{grid-template-columns:1fr}
  .message-detail,.message-thread-open .message-inbox{display:none}
  .message-thread-open .message-detail{display:block}
  .message-detail-top{flex-wrap:wrap}
  .message-back{display:block;flex-basis:100%;color:#674617;font-size:13px}
  .message-heading .portal-link-button{font-size:12px}
}
@media(max-width:560px){
  header.wish-header{flex-direction:column;align-items:stretch;gap:4px}
  header.wish-header .wish-tagline{max-width:none;font-size:17px;text-align:center}
  header.wish-header nav{justify-content:center;gap:clamp(8px,4vw,17px);font-size:clamp(11px,3.5vw,14px)}
  header.wish-header nav a{padding-top:6px;padding-bottom:6px}
  .message-thread-meta{font-size:9px}
}

/* Two-line WISH identity and owner contact actions */
.wish-tagline{display:grid;gap:4px;flex:0 1 auto}
.wish-tagline strong{font-size:clamp(24px,2.25vw,37px);font-weight:850;line-height:1.1}
.wish-tagline small{font-size:clamp(12px,1.15vw,17px);font-weight:600;letter-spacing:0;color:#614816}
.owner-contact-actions .primary.portal-link-button{color:#fff;background:#2d3b36;border-color:#2d3b36}
.message-guest-back{display:block;flex-basis:auto}
.message-detail-top:has(.message-guest-back){flex-wrap:wrap}
.message-guest-back{flex-basis:100%}
@media(max-width:560px){
  header.wish-header .wish-tagline strong{font-size:24px}
  header.wish-header .wish-tagline small{font-size:12px}
  header.wish-header{padding-top:10px}
  .owner-contact-actions{flex-basis:100%;justify-content:flex-start}
}

.brand-logo {
  display: block;
  width: 42px;
  height: 42px;
  padding: 3px;
  flex: none;
  object-fit: contain;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 9px;
}
.card .photo .brand-logo {
  position: absolute;
  bottom: 8px;
  left: 8px;
  width: 42px;
  height: 42px;
  object-fit: contain;
}
.room-owner-name {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 4px;
}
.contact .room-phone {
  font-weight: 750;
  font-size: 1rem;
}
.contact .room-phone-note {
  font-size: .875rem;
  margin: 8px 0 0;
}
.zalo-share-url {
  display: grid;
  gap: 5px;
  font-weight: 650;
}
.zalo-share-url input {
  width: 100%;
  min-width: 0;
}
.zalo-share-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 12px;
}
.zalo-share-actions .share-link {
  margin: 0;
}
#filter h2 {
  margin: 0;
  font-size: clamp(20px, 3vw, 26px);
}
.amenity-options {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.amenity-options label {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 56px;
  padding: 8px 12px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
  font-size: clamp(16px, 2vw, 19px);
  font-weight: 650;
  cursor: pointer;
}
.amenity-options label:has(input:checked) {
  border-color: #98731e;
  background: #fff3c8;
}
.amenity-options input {
  width: 22px;
  height: 22px;
  margin: 0;
  flex: none;
  accent-color: #705215;
}
#filter button[type="submit"] {
  min-height: 52px;
  font-size: 18px;
}
@media (max-width: 620px) {
  .amenity-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 340px) {
  .amenity-options { grid-template-columns: 1fr; }
}
.live-pin img.brand-logo {
  position: absolute;
  left: -5px;
  top: -5px;
  width: 21px;
  height: 21px;
  padding: 1px;
  object-fit: contain;
  border-radius: 5px;
}

.bulk-import {
  display: grid;
  gap: 14px;
}
.bulk-import p { margin: 0; }
.bulk-import > a { justify-self: start; }
.bulk-import label, .admin-search label {
  display: grid;
  gap: 6px;
  font-weight: 650;
}
.bulk-import .admin-table-scroll { margin-top: 8px; }
.bulk-errors {
  max-height: 170px;
  overflow: auto;
  color: #8d301a;
}
.admin-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 18px;
}
.admin-search {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  gap: 12px;
  margin-bottom: 18px;
}
.admin-search label:first-child {
  flex: 1 1 240px;
}
.admin-table-scroll {
  overflow: auto;
  max-height: 56vh;
  border: 1px solid var(--line);
  border-radius: 10px;
}
.admin-table {
  width: 100%;
  min-width: 520px;
  border-collapse: collapse;
  text-align: left;
  font-size: .95rem;
}
.admin-table th, .admin-table td {
  padding: 10px 12px;
  border-bottom: 1px solid var(--line);
}
.admin-table th {
  position: sticky;
  top: 0;
  background: #faf2d8;
}
.admin-table tbody tr:nth-child(even) { background: #fbf8f0; }
.admin-table a { font-weight: 700; text-decoration: underline; }
.admin-pagination:not(:empty) { margin-top: 12px; }
.admin-inventory { min-width: 0; }

body:has(.wish-auth-layout) .wish-header { display: none; }
.portal:has(.wish-auth-layout) { max-width: none; margin: 0; padding: 0; }
.wish-auth-layout {
  display: grid;
  grid-template-columns: 51% 49%;
  min-height: 100svh;
  background: #f7f5f0;
}
.wish-auth-story {
  position: relative;
  isolation: isolate;
  display: grid;
  align-items: center;
  overflow: hidden;
  padding: clamp(34px, 8vw, 145px) clamp(24px, 7vw, 115px);
  background: radial-gradient(ellipse at 100% 66%, #895b21, #3f2319 65%, #311b16);
  color: #fff9e9;
}
.wish-auth-story::before {
  content: "";
  position: absolute;
  inset: 8% -16% -2px 34%;
  z-index: -2;
  background: url('/assets/wish-owner-building.svg') right bottom / contain no-repeat;
  opacity: .85;
}
.wish-auth-story::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg,#321b16 6%,#321b16e6 34%,#321b163b 73%,transparent);
}
.wish-auth-story-content { max-width: 485px; }
.wish-auth-logo {
  display: inline-flex;
  gap: 9px;
  align-items: center;
  color: inherit;
  font-size: clamp(25px, 3vw, 39px);
  font-weight: 850;
  text-decoration: none;
  letter-spacing: .025em;
}
.wish-auth-logo span {
  display: grid;
  place-items: center;
  width: 1.35em;
  height: 1.35em;
  border-radius: 10px;
  color: #452815;
  background: #ffc928;
}
.wish-auth-logo small { font-size: .28em; letter-spacing: .18em; margin-left: 1px; }
.wish-auth-story h1 {
  font-size: clamp(30px, 3.4vw, 56px);
  line-height: 1.08;
  margin: clamp(25px, 5vh, 62px) 0 14px;
  letter-spacing: -.045em;
  color: inherit;
}
.wish-auth-story p { color: #ffefc6; font-size: clamp(15px, 1.3vw, 19px); max-width: 320px; }
.wish-auth-story ul { padding: 0; margin: 32px 0; list-style: none; display: grid; gap: 12px; }
.wish-auth-story li { display: flex; align-items: center; gap: 12px; font-weight: 700; }
.wish-auth-story li span {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: #ffffff16;
  border: 1px solid #ffffff36;
  color: #ffd976;
  font-size: 20px;
}
.wish-auth-location { font-size: 11px; font-weight: 800; letter-spacing: .17em; color: #ffdb90; }
.wish-auth-main {
  display: grid;
  grid-template-rows: auto 1fr auto;
  align-items: center;
  padding: 24px clamp(16px, 3vw, 48px) 18px;
  min-width: 0;
}
.wish-auth-back { text-align: right; font-weight: 700; }
.wish-auth-card {
  width: min(100%, 535px);
  justify-self: center;
  margin-block: 22px;
  padding: clamp(21px, 3vw, 43px);
  border-radius: 24px;
  box-shadow: 0 18px 52px #37251b17;
}
.wish-auth-card h2 { font-size: clamp(25px, 2.45vw, 38px); margin: 6px 0 9px; letter-spacing: -.035em; }
.wish-auth-description { color: #65594b; margin: 0 0 24px; }
.wish-auth-card input:not([type=checkbox]), .wish-auth-card select { min-height: 49px; }
.wish-auth-card button[type=submit] { min-height: 51px; background: #ffc928; color: #2d2117; border-color: #e8ae11; font-weight: 800; }
.wish-password-control { position: relative; display: block; }
.wish-password-control input { width: 100%; padding-right: 52px; }
.wish-password-control button {
  position: absolute; inset: 4px 4px 4px auto; width: 41px; padding: 0;
  display: grid; place-items: center; background: transparent; border: 0;
}
.wish-auth-switch { text-align: center; margin-top: 19px; }
.wish-auth-switch button { padding: 5px; border: 0; background: transparent; color: #694610; text-decoration: underline; font-weight: 750; }
.wish-auth-footer { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px; font-size: 13px; color: #65594b; }
.wish-auth-footer .portal-review-link { margin: 0; }
@media (max-width: 760px) {
  .wish-auth-layout { grid-template-columns: 1fr; }
  .wish-auth-story { padding: 23px 20px; }
  .wish-auth-story h1 { margin-top: 16px; }
  .wish-auth-story ul, .wish-auth-location { display: none; }
  .wish-auth-main { padding-top: 14px; }
  .wish-auth-card { margin-block: 14px; }
}
.public-furniture-items {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 0;
  list-style: none;
}
.public-furniture-items li {
  padding: 6px 10px;
  border: 1px solid #e5d2a4;
  border-radius: 8px;
  background: #fffae9;
}

:root {
  --ink:#202127;
  --green:#831426;
  --pale:#f8eef0;
  --line:#e7e3e7;
  --wish-accent:#831426;
  --wish-accent-deep:#680d1e;
  --wish-soft:#f8eef0;
  --wish-muted:#626a78;
}
body { background:#fcfbfc; }
p, .muted { color:var(--wish-muted); }
h1, h2, h3 { font-weight:700; }
button:hover { border-color:#d4a0a9; background:#fbf2f4; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible { outline:2px solid #b45c72; outline-offset:2px; }
.primary, .post, .wish-auth-card button[type=submit] {
  background:var(--wish-accent);
  border-color:var(--wish-accent);
  color:white;
}
.primary:hover, .post:hover, .wish-auth-card button[type=submit]:hover { background:var(--wish-accent-deep); border-color:var(--wish-accent-deep); color:white; }
header.wish-header { background:#fff; border-color:var(--line); color:var(--ink); }
header.wish-header nav a.active { color:var(--wish-accent); border-color:var(--wish-accent); }
header.wish-header nav span, .wish-tagline strong, .portal-kicker { color:var(--wish-accent); }
header.wish-header nav span { background:var(--wish-soft); }
.filters { background:#faf5f6; border-color:var(--line); }
.filters select, .filters>button, .filters .region-trigger, .filters .province-filter { border-color:var(--line); background:#fff; }
.filters .toggle { background:#f0e3e7; }
.filters .toggle .on { color:var(--wish-accent); }
.card .price, .card .address .wish-icon, .card .facts .wish-icon { color:var(--wish-accent); }
.card .address, .card .facts { color:var(--wish-muted); }
.card .address .wish-icon, .card .facts .wish-icon { width:13px; height:13px; vertical-align:-2px; }
.card .badge, .card .available { color:#217348; }
.portal-stats>div, .portal-profile-card, .portal-fees, .portal-intro, .public-owner-profile { background:#faf2f4; border-color:#ecdce1; }
.portal-stats strong { color:var(--wish-accent); }
.portal-panel, .house-block, .wish-editor .modalhead { border-color:var(--line); background:#fff; }
.portal-house-item.is-selected, .portal-tabs button[aria-pressed=true] { background:#fcf1f3; border-color:#ddb5bf; color:var(--wish-accent); }
.admin-table th { background:#f6e9ed; }
.admin-table tbody tr:nth-child(even) { background:#fcf7f8; }
.wish-auth-story { background:radial-gradient(ellipse at 100% 66%,#a12f42,#690e20 68%,#4c0918); }
.wish-auth-story::after { background:linear-gradient(90deg,#570a1c 5%,#570a1ce8 34%,#6e11273d 75%,transparent); }
.wish-auth-main { background:#f8f6f7; }
.wish-auth-logo span { color:var(--wish-accent); background:white; }
.wish-auth-switch button { color:var(--wish-accent); }
.house-amenity-edit { display:flex; gap:10px 18px; flex-wrap:wrap; }
.house-amenity-edit legend { font-weight:700; padding:0 5px; }
.wish-icon { width:19px; height:19px; flex:none; vertical-align:-.2em; }
#detail {
  width:min(1220px, calc(100% - 36px));
  max-width:none;
  max-height:94dvh;
  border-radius:18px;
  background:#fff;
  overscroll-behavior:contain;
}
.room-detail-head { position:sticky; top:0; z-index:4; display:flex; align-items:center; background:#fff; border-color:var(--line); }
.room-detail-head b { margin-right:auto; color:var(--wish-accent); }
.room-detail-head b span { color:var(--wish-muted); font-weight:500; }
.room-detail-head .detail-save { display:flex; align-items:center; gap:7px; }
.room-detail-head .detail-save.is-saved { color:var(--wish-accent); background:var(--wish-soft); border-color:#e4c6cd; }
.room-detail-content { padding:clamp(15px,3vw,34px); }
.room-detail-content .gallery { overflow:hidden; border-radius:14px; }
.room-detail-content .mainimage { height:clamp(205px,41vh,435px); }
.room-detail-content .gallery-note { margin:4px 0 22px; }
.room-detail-grid { display:grid; grid-template-columns:minmax(0,2fr) minmax(290px,1fr); gap:clamp(16px,3vw,34px); align-items:start; }
.room-detail-main { min-width:0; }
.room-detail-main h2 { font-size:clamp(24px,3vw,36px); line-height:1.2; margin:6px 0 10px; }
.room-listing-label { color:var(--wish-accent); font-size:.86rem; font-weight:700; }
.room-address { display:flex; gap:6px; align-items:center; margin:0 0 19px; }
.room-address .wish-icon { color:var(--wish-accent); }
.room-specs {
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 10px; padding:14px;
  border:1px solid var(--line); border-radius:13px;
}
.room-specs>div { display:flex; align-items:center; gap:8px; color:var(--wish-muted); }
.room-specs i { display:grid; place-items:center; width:37px; height:37px; border-radius:50%; background:var(--wish-soft); color:var(--wish-accent); flex:none; }
.room-specs b { display:block; color:var(--ink); margin-top:3px; }
.room-section, .room-related { margin-top:27px; }
.room-section h3, .room-related h3 { display:flex; align-items:center; gap:8px; font-size:1.07rem; margin:0 0 11px; }
.room-section h3 .wish-icon, .room-related h3 .wish-icon { color:var(--wish-accent); }
.room-costs { margin:0; }
.room-costs>div { display:flex; justify-content:space-between; gap:12px; padding:9px 0; border-bottom:1px solid var(--line); }
.room-costs dt { color:var(--wish-muted); }
.room-costs dd { margin:0; font-weight:650; text-align:right; }
.room-feature-list { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(auto-fit,minmax(147px,1fr)); gap:10px; }
.room-feature-list li { display:flex; align-items:center; gap:7px; color:var(--wish-muted); }
.room-feature-list .wish-icon { color:var(--wish-accent); }
.room-contact {
  position:sticky; top:66px; padding:clamp(14px,2vw,21px); border:1px solid var(--line); border-radius:15px;
  background:#fff; box-shadow:0 12px 32px #48212b0d;
}
.room-contact-top { display:flex; align-items:center; justify-content:space-between; gap:8px; color:var(--wish-muted); }
.room-availability { color:#217348; background:#e7f5ec; border-radius:100px; padding:4px 10px; font-weight:700; }
.room-availability.soon { color:#87601c; background:#fff0d2; }
.room-price { font-size:clamp(24px,3vw,34px); font-weight:800; color:var(--wish-accent); margin-top:12px; }
.room-price small { font-size:.78rem; color:var(--wish-muted); font-weight:500; }
.room-contact>p { margin:6px 0 13px; }
.room-cta { display:flex; align-items:center; justify-content:center; gap:6px; min-height:44px; border:1px solid #e5bac3; border-radius:8px; color:var(--wish-accent); font-weight:700; text-align:center; padding:7px; }
.room-cta.primary { background:var(--wish-accent); color:white; }
.room-cta:disabled { opacity:.55; cursor:default; }
.room-cta:not(:disabled):hover { box-shadow:inset 0 0 0 1px var(--wish-accent); }
.room-contact-pair { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:8px; }
.room-contact-number, .room-contact-chat { display:flex; align-items:center; justify-content:center; gap:6px; margin-top:10px; color:var(--wish-accent); font-weight:650; }
.room-contact .room-contact-note { margin:13px 0 8px; font-size:.82rem; }
.room-owner-link { display:flex; align-items:center; gap:9px; border-top:1px solid var(--line); padding-top:10px; margin-top:10px; }
.room-owner-link span:last-child { margin-left:auto; }
.room-share { padding-top:12px; margin-top:10px; border-top:1px solid var(--line); }
.room-share .share-buttons button { padding:7px 4px; font-size:.78rem; }
.room-related { border-top:1px solid var(--line); padding-top:20px; }
.room-related .cards { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
@media (max-height:820px) { .room-contact { position:relative; top:auto; } }
@media (max-width:750px) {
  #detail { width:calc(100% - 12px); }
  .room-detail-grid { grid-template-columns:1fr; }
  .room-contact { position:static; grid-row:1; }
  .room-related .cards { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:420px) {
  .room-specs { padding:10px; font-size:.83rem; }
  .room-feature-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .room-detail-head b span { display:none; }
}
.portal-house-row[aria-pressed=true],
.portal-form label.portal-furniture-option:has(:checked),
.amenity-options label:has(input:checked) {
  color:var(--wish-accent);
  background:var(--wish-soft);
  border-color:#cb8a98;
}
.portal-extra, .portal-media, .portal-room-actions { border-color:var(--line); }
.portal-extra, .portal-media { background:#fdfafb; }
.portal-room-copy, .portal-room-actions .portal-bump, .portal-code {
  color:var(--wish-accent);
  background:var(--wish-soft);
  border-color:#ecd1d8;
}
.portal-link-button:hover, .portal-room-copy:hover { background:#f8e8ed; }
.primary.portal-link-button:hover { background:var(--wish-accent-deep); }
.amenity-options input { accent-color:var(--wish-accent); }
.cluster-pin { border-color:#c55e72; }
.cluster-count { background:var(--wish-accent); color:#fff; }

.wish-auth-logo small { font-size:clamp(12px,1.4vw,19px); }
.portal-overview-stats { grid-template-columns:repeat(6,minmax(0,1fr)); margin-bottom:8px; }
.portal-overview-stats .portal-stat-action {
  position:relative;
  text-align:left;
  padding:13px 25px 13px 14px;
  background:#faf2f4;
  border:1px solid #dcc0c8;
  border-radius:12px;
  font-size:13px;
  font-weight:700;
  color:var(--wish-accent);
}
.portal-overview-stats .portal-stat-action:hover { background:#f5e5ea; border-color:var(--wish-accent); }
.portal-stat-action span { position:absolute; right:11px; bottom:11px; font-size:20px; line-height:1; }
.portal-stat-note { margin:0 0 20px; }
@media (max-width:920px) { .portal-overview-stats { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:480px) { .portal-overview-stats { grid-template-columns:repeat(2,minmax(0,1fr)); } }

.map-room-count {
  position:absolute;
  z-index:450;
  left:12px;
  top:12px;
  max-width:calc(100% - 24px);
  border:1px solid var(--line);
  border-radius:9px;
  background:#fff;
  color:var(--ink);
  padding:7px 10px;
  font-size:.82rem;
  pointer-events:none;
}
.explore-pagination:not(:empty) {
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:7px;
  padding-top:14px;
}
.explore-pagination button { padding:6px 8px; }
.explore-pagination button:disabled { opacity:.5; cursor:default; }
.portal-delete{color:#9f1239;border-color:#e8a9b6;background:#fff5f7}.portal-delete:hover{background:#fce1e7}
/* Larger photographs and public list downloads. */
.live-pin{padding:0;overflow:visible}.live-pin>img:not(.brand-logo){display:block;width:100%;height:calc(var(--pin-w) * .8);object-fit:cover;border-radius:5px 5px 0 0}.live-pin strong{font-size:11px;line-height:17px;padding:2px 3px}
.room-detail-content .gallery .mainimage{width:100%;height:clamp(330px,63vh,660px);object-fit:cover;object-position:center;display:block}
.public-download-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:20px}.public-download-heading h1,.public-download-heading h2{margin-bottom:8px}.public-download-heading p{margin:0}
.page .cards,.house-content .cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr))}.page .photo,.house-content .photo{height:clamp(270px,26vw,400px)}
.room-contact-number{display:block;width:100%;text-align:center;margin:10px 0;color:var(--wish-accent);font-weight:700}
@media(max-width:600px){.room-detail-content .gallery .mainimage{height:clamp(300px,58vh,480px)}.public-download-heading>button{width:100%}.page .photo,.house-content .photo{height:300px}}

.workspace:not(.listonly) .photo{height:263px}

/* Keep explore photos in a landscape frame without stretching. */
.workspace:not(.listonly) .card .photo{height:auto;aspect-ratio:4/3}
.workspace:not(.listonly) .card .photo>img:not(.brand-logo){display:block;width:100%;height:100%;object-fit:cover;object-position:center}

/* Admin quality bot. */
.quality-dashboard{max-width:1280px;margin:0 auto}.quality-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0}.quality-summary>div{background:#173a33;color:#fff;border-radius:20px;padding:20px;display:flex;flex-direction:column;gap:5px;box-shadow:0 10px 28px #173a3318}.quality-summary strong{font-size:2rem;line-height:1}.quality-summary span{font-size:.9rem;opacity:.85}.quality-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.quality-controls h2,.quality-controls p{margin:0}.quality-controls p{margin-top:5px;color:#64746d}.quality-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.quality-card{margin:0;border-left:5px solid #9dac9f}.quality-card h3{margin:12px 0 6px;font-size:1rem}.quality-card p{margin:0;color:#64746d;font-size:.9rem;line-height:1.5}.quality-card-head{display:flex;align-items:center;justify-content:space-between}.quality-card-head strong{font-size:1.55rem}.quality-status{border-radius:999px;padding:5px 10px;background:#eef3ef;color:#53645c;font-size:.78rem;font-weight:700}.quality-error{border-left-color:#bc4b47}.quality-error .quality-status{background:#fff0ef;color:#9c302d}.quality-warning{border-left-color:#d89828}.quality-warning .quality-status{background:#fff7df;color:#8b5d0c}.quality-info{border-left-color:#5686a5}.quality-info .quality-status{background:#eaf5fb;color:#356b8d}.quality-ok{border-left-color:#4f9273}.quality-ok .quality-status{background:#eaf8f0;color:#327052}.quality-footnote{margin-top:18px}.quality-footnote h2{margin-top:0}@media(max-width:900px){.quality-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.quality-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.quality-summary,.quality-grid{grid-template-columns:1fr}.quality-controls{align-items:flex-start;flex-direction:column}.quality-controls .portal-actions{width:100%}.quality-controls button{flex:1}}

/* Public SEO, availability and appointment improvements. */
.card-title-link{color:inherit;text-decoration:none}.card-title-link:hover{text-decoration:underline;text-underline-offset:3px}.card-movein{display:flex;align-items:center;gap:6px;margin:-2px 0 10px;color:#8c5b18;font-size:.86rem}.card-movein .wish-icon{width:17px;height:17px}.visit-pending{display:flex;flex-direction:column;gap:3px;margin:12px 18px 0;padding:12px 14px;border:1px solid #e0bc68;border-radius:12px;background:#fff8e4;color:#6f4c10}.visit-pending span{font-size:.86rem}.contact-page{max-width:980px;margin:0 auto}.contact-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:24px 0}.contact-options article{background:#fff;border:1px solid #e6dfcf;border-radius:22px;padding:24px;box-shadow:0 12px 30px #243d3210}.contact-options h2{margin-top:0}.seo-room-snapshot{max-width:1100px;margin:30px auto;display:grid;grid-template-columns:minmax(280px,1fr) 1fr;gap:28px;padding:0 24px}.seo-room-snapshot img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:22px}@media(max-width:700px){.contact-options,.seo-room-snapshot{grid-template-columns:1fr}}

/* Mobile-first landlord workspace */
:root{--owner-gold:#b58a45;--owner-gold-dark:#8c672d;--owner-red:#e31b45;--owner-text:#211f1b}
body:has(.owner-app-shell)>header.wish-header{display:none}
.portal:has(.owner-app-shell){max-width:none;margin:0;padding:0;background:#fff;color:var(--owner-text);min-height:100dvh}
.owner-app-shell{min-height:100dvh;background:#fff;padding-bottom:98px}
.owner-mobile-header{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;height:88px;padding:14px max(24px,calc((100% - 1180px)/2));background:#fff;border-bottom:1px solid #eee;box-shadow:0 2px 12px #3c30200a}
.owner-mark{display:flex;align-items:center;gap:12px;color:var(--owner-gold-dark);font-size:24px;font-weight:800;letter-spacing:-.03em}.owner-mark img{width:54px;height:54px;border:1px solid #d8c7a4;border-radius:50%;padding:8px}
.owner-header-actions{display:flex;align-items:center;gap:12px}.owner-bell{position:relative;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#f7f7f6}.owner-bell .wish-icon{width:25px;height:25px}.owner-bell .message-count{position:absolute;top:3px;right:2px;background:var(--owner-red)}
.owner-mini-avatar{display:block;width:50px;height:50px;border-radius:50%;overflow:hidden;border:2px solid #d9c59e}.owner-mini-avatar .portal-profile-avatar{width:100%;height:100%;border:0;border-radius:0;font-size:18px}
.owner-view{width:min(1180px,100%);margin:0 auto;padding:30px 24px 50px}.owner-welcome{padding:8px 0 20px}.owner-welcome>span{color:var(--owner-gold-dark);font-weight:700}.owner-welcome h1,.owner-page-title h1{margin:5px 0 6px;color:#181714;font-size:clamp(28px,4vw,42px);letter-spacing:-.04em}.owner-welcome p,.owner-page-title p{margin:0;color:#79756e}
.owner-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:38px}.owner-stat-grid>div,.owner-stat-grid>button{display:flex;flex-direction:column;align-items:flex-start;min-height:140px;padding:20px;border:1px solid #eee8dc;border-radius:16px;background:#fff;box-shadow:0 8px 24px #735d3611;text-align:left;color:var(--owner-text)}.owner-stat-grid>button:hover{border-color:#d3b77e;background:#fffdf8}.owner-stat-grid span{color:#68635c;font-size:15px}.owner-stat-grid strong{margin:8px 0 5px;color:#111;font-size:34px;line-height:1.1}.owner-stat-grid small{color:#7e7770;font-size:12px}
.owner-section-heading,.owner-page-title{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.owner-section-heading h2,.owner-gallery h2{margin:0;color:#181714;font-size:25px}.owner-section-heading p{margin:5px 0 0;color:#77716a}.owner-section-heading>div:last-child{display:flex;gap:8px}.owner-outline-gold,.owner-gold-button{border-color:var(--owner-gold);background:var(--owner-gold);color:#fff;font-weight:700}.owner-outline-gold{background:#fff;color:var(--owner-gold-dark)}
.owner-house-filters,.owner-listing-filterbar{display:flex;align-items:center;gap:10px;margin-bottom:18px}.owner-house-filters label,.owner-listing-filterbar label{display:flex;align-items:center;gap:8px;flex:1;min-width:220px;padding:0 13px;border:1px solid #e6e2db;border-radius:12px;background:#fff}.owner-house-filters label .wish-icon,.owner-listing-filterbar label .wish-icon{width:22px;color:#625d55}.owner-house-filters input,.owner-listing-filterbar input{width:100%;min-height:46px;border:0;outline:0;background:transparent;font:inherit}.owner-house-filters select,.owner-listing-filterbar select{min-height:46px;padding:0 13px;border:1px solid #e6e2db;border-radius:12px;background:#fff;color:#5a554e;font:inherit}
.owner-house-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.owner-house-card{position:relative;display:grid;grid-template-columns:165px minmax(0,1fr) 20px;gap:18px;align-items:center;padding:18px 0;border-bottom:1px solid #eee;cursor:pointer}.owner-house-card:hover h3{color:var(--owner-gold-dark)}.owner-house-image{position:relative;height:134px;border-radius:15px;overflow:hidden;background:#eee}.owner-house-image>img{width:100%;height:100%;object-fit:cover}.owner-house-image>.portal-status{position:absolute;left:10px;top:10px;background:#777;color:#fff}.owner-house-image>.portal-status.available{background:#1ea64a}.owner-house-image>.portal-status.soon{background:#d99b1b}.owner-house-image>small{position:absolute;left:0;bottom:0;display:flex;align-items:center;gap:5px;padding:5px 10px;background:#161616b8;color:#fff;border-radius:0 9px 0 0}.owner-house-image>small .wish-icon{width:17px}
.owner-house-info{min-width:0}.owner-house-info h3{margin:0 0 7px;font-size:19px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.owner-house-info p{margin:0 0 10px;color:#726d66;font-size:13px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.owner-house-info>div{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:9px}.owner-house-info>div span{padding:4px 8px;background:#f5f4f2;border-radius:6px;color:#5b5650;font-size:12px}.owner-house-info .portal-link-button{display:inline-flex;min-height:32px;padding:4px 8px;color:#5d584f;border-color:#ece8e0;font-weight:500}.owner-house-arrow{font-size:26px;color:#a59d91}.owner-empty{grid-column:1/-1;padding:45px 20px;text-align:center;border:1px dashed #dcd4c6;border-radius:16px;color:#716b62}.owner-empty b{color:#312d27;font-size:18px}
.owner-page-title{margin-bottom:24px}.owner-listing-filterbar{position:sticky;top:100px;z-index:10;padding:10px;background:#fffffff4;border-radius:15px;box-shadow:0 8px 20px #5949270b;backdrop-filter:blur(12px)}.owner-listing-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.owner-listing-card{border:1px solid #eee9df;border-radius:16px;background:#fff;overflow:hidden;box-shadow:0 8px 25px #4f40200b}.owner-listing-summary{display:grid;grid-template-columns:145px minmax(0,1fr);gap:14px;padding:16px}.owner-listing-summary>img{width:145px;height:118px;object-fit:cover;border-radius:12px;background:#eee}.owner-listing-summary>div{min-width:0}.owner-listing-summary small{display:block;color:#97928a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.owner-listing-summary h3{margin:6px 0 9px;font-size:17px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.owner-listing-summary p{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:0}.owner-listing-summary p strong{color:var(--owner-gold-dark);font-size:18px}.owner-listing-summary p>span:not(.portal-status){padding:3px 7px;background:#f5f4f2;border-radius:5px;color:#67615a;font-size:11px}.owner-movein{margin:-4px 16px 12px;padding:8px 10px;border-radius:8px;background:#fff7df;color:#6c531b;font-size:12px}
.owner-listing-metrics{display:flex;align-items:center;gap:15px;padding:10px 16px;border-top:1px solid #f1eee8;color:#5f5b55;font-size:12px}.owner-listing-metrics span{display:flex;align-items:center;gap:5px}.owner-listing-metrics .wish-icon{width:17px}.owner-listing-metrics a{margin-left:auto;text-decoration:underline;font-weight:650}.owner-listing-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:10px 16px 16px}.owner-listing-actions button{min-height:42px;padding:7px 9px;border:0;background:#f7f6f3;color:#3c3832;font-weight:650}.owner-listing-actions .owner-gold-button{background:var(--owner-gold);color:#fff}.owner-listing-actions button:disabled{background:#ddd8cf;color:#777}
.owner-profile-view{display:grid;grid-template-columns:minmax(360px,.85fr) minmax(0,1.15fr);gap:32px;align-items:start}.owner-profile-hero{position:relative;text-align:center;padding:16px}.owner-profile-hero>.portal-profile-avatar{width:150px;height:150px;margin:8px auto 14px;border:3px solid var(--owner-gold);font-size:48px}.owner-profile-hero h1{display:inline-block;margin:0 7px 4px;font-size:29px;color:var(--owner-gold-dark)}.owner-verified{display:inline-block;color:#1597e5;font-size:12px}.owner-handle{margin:3px 0 15px;color:#555}.owner-settings{position:absolute;top:5px;right:5px;border:0;background:transparent;color:var(--owner-gold-dark);font-size:26px}
.owner-profile-stats{display:grid;grid-template-columns:repeat(3,1fr);margin:18px 0}.owner-profile-stats div+div{border-left:1px solid #ddd}.owner-profile-stats strong,.owner-profile-stats span{display:block}.owner-profile-stats strong{font-size:25px}.owner-profile-stats span{color:#7b756d;font-size:13px}.owner-profile-buttons{display:grid;grid-template-columns:2fr 1fr;gap:9px;margin:18px 0}.owner-profile-buttons button{border:0;background:#f2f1ef;font-weight:700}.owner-phone{display:inline-block;padding:8px 15px;border:1px solid #bbb;border-radius:8px;color:#666}.owner-bio{color:#49443e;white-space:pre-line}
.owner-public-link{position:relative;margin:18px 0;padding:18px;border-radius:15px;background:#f3f2ef;text-align:center;color:#6b655c}.owner-public-link strong,.owner-public-link a{display:block}.owner-public-link a{margin:6px 0;color:#1688c7;text-decoration:underline;overflow-wrap:anywhere}.owner-public-link p{margin:7px 0}.owner-public-link button{border:0;background:transparent;position:absolute;right:5px;top:5px}.owner-account-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:7px}.owner-account-actions button:last-child{color:#a3302b}
.owner-gallery h2{text-align:center;margin:7px 0 18px}.owner-gallery>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px}.owner-gallery a{position:relative;aspect-ratio:.78;overflow:hidden;background:#eee}.owner-gallery img{width:100%;height:100%;object-fit:cover;transition:.25s}.owner-gallery a:hover img{transform:scale(1.04)}.owner-gallery a>span{position:absolute;inset:auto 0 0;padding:42px 10px 10px;background:linear-gradient(transparent,#000c);color:#fff;font-weight:800;text-align:left}.owner-gallery small{display:block;margin-top:3px;font-weight:500}
.owner-bottom-nav{position:fixed;z-index:40;left:50%;bottom:0;display:grid;grid-template-columns:1fr 1fr 92px 1fr 1fr;width:min(100%,760px);height:80px;transform:translateX(-50%);background:#fff;border:1px solid #eee;border-bottom:0;border-radius:28px 28px 0 0;box-shadow:0 -8px 25px #4c402017;padding:7px 12px calc(7px + env(safe-area-inset-bottom))}.owner-bottom-nav>a{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:#aaa;font-size:11px}.owner-bottom-nav>a[aria-current=page]{color:#171511}.owner-bottom-nav>a>span{display:grid;place-items:center}.owner-bottom-nav .wish-icon{width:25px;height:25px}.owner-bottom-nav b{font-weight:650}.owner-bottom-nav .message-count{position:absolute;top:0;right:23%;font-style:normal;background:var(--owner-red)}.owner-quick-action{position:relative;align-self:end;display:flex;flex-direction:column;align-items:center;justify-content:center;width:82px;height:82px;margin:-35px auto 2px;border:5px solid #fff;border-radius:50%;background:var(--owner-gold);color:#fff;box-shadow:0 6px 18px #44351d42;padding:0}.owner-quick-action:hover{background:var(--owner-gold-dark);border-color:#fff}.owner-quick-action span{font-size:28px;line-height:1}.owner-quick-action b{font-size:11px}.owner-message-shell .message-page{width:min(1180px,100%);margin:auto;padding:28px 24px 50px}
@media(max-width:900px){.owner-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.owner-house-cards,.owner-listing-cards{grid-template-columns:1fr}.owner-profile-view{grid-template-columns:1fr}.owner-gallery{max-width:700px;width:100%;margin:auto}.owner-listing-filterbar{flex-wrap:wrap}.owner-listing-filterbar label{flex-basis:100%}.owner-listing-filterbar select{flex:1}}
@media(max-width:600px){.owner-app-shell{padding-bottom:91px}.owner-mobile-header{height:76px;padding:10px 17px}.owner-mark{font-size:22px}.owner-mark img{width:46px;height:46px}.owner-header-actions{gap:8px}.owner-bell{width:44px;height:44px}.owner-mini-avatar{width:45px;height:45px}.owner-view{padding:20px 16px 40px}.owner-welcome{padding-top:0}.owner-welcome h1{font-size:29px}.owner-welcome p{font-size:13px}.owner-stat-grid{gap:10px;margin-bottom:28px}.owner-stat-grid>div,.owner-stat-grid>button{min-height:118px;padding:15px;border-radius:13px}.owner-stat-grid strong{font-size:30px}.owner-stat-grid span{font-size:14px}.owner-section-heading{align-items:flex-end}.owner-section-heading h2{font-size:23px}.owner-section-heading>div:last-child button:first-child{display:none}.owner-house-filters{display:grid;grid-template-columns:1fr 135px}.owner-house-filters label{min-width:0}.owner-house-filters select{min-width:0;width:100%;padding:0 8px}.owner-house-card{grid-template-columns:122px minmax(0,1fr);gap:12px;padding:15px 0}.owner-house-image{height:130px}.owner-house-arrow{display:none}.owner-house-info h3{font-size:17px}.owner-house-info p{font-size:12px}.owner-house-info>div span{font-size:10px}.owner-house-info .portal-link-button{font-size:11px}.owner-page-title{align-items:flex-start}.owner-page-title h1{font-size:28px}.owner-page-title p{font-size:12px}.owner-page-title button{padding:9px 12px}.owner-listing-filterbar{position:static;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0;box-shadow:none}.owner-listing-filterbar label{grid-column:1/-1;min-width:0}.owner-listing-filterbar select{width:100%;min-width:0;padding:0 8px}.owner-listing-filterbar select:last-child{display:none}.owner-listing-summary{grid-template-columns:115px minmax(0,1fr);gap:11px;padding:13px}.owner-listing-summary>img{width:115px;height:112px}.owner-listing-summary h3{font-size:15px}.owner-listing-summary p strong{font-size:16px}.owner-listing-actions{grid-template-columns:repeat(4,1fr);padding:9px 12px 13px;gap:5px}.owner-listing-actions button{font-size:11px;padding:5px 3px}.owner-listing-metrics{gap:11px;padding:9px 13px}.owner-listing-metrics span:nth-child(3){display:none}.owner-profile-hero{padding:5px 0}.owner-profile-hero>.portal-profile-avatar{width:112px;height:112px}.owner-profile-hero h1{font-size:25px}.owner-gallery>div{margin-left:-16px;margin-right:-16px}.owner-bottom-nav{height:75px;border-radius:25px 25px 0 0;padding-inline:6px}.owner-quick-action{width:76px;height:76px}.owner-bottom-nav>a{font-size:10px}.owner-bottom-nav .wish-icon{width:23px}.owner-message-shell .message-page{padding:20px 14px 36px}.owner-message-shell .message-heading h1{font-size:29px}.owner-message-shell .message-heading .portal-link-button{display:none}}

/* Phone-safe owner workspace and compact app navigation. */
.owner-explore-link{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:7px 12px;border:1px solid #e8dfcf;border-radius:999px;color:#6f5426;font-size:13px;font-weight:750;background:#fffaf0;white-space:nowrap}
html,body{max-width:100%;overflow-x:hidden}
@media(max-width:600px){
  .portal:has(.owner-app-shell),.owner-app-shell,.owner-view{width:100%;max-width:100%;min-width:0;overflow-x:clip}
  .owner-mobile-header{width:100%;height:64px;padding:8px 12px;gap:7px}
  .owner-mark{min-width:0;gap:7px;font-size:16px}.owner-mark img{width:40px;height:40px;padding:6px}.owner-mark span{white-space:nowrap}
  .owner-header-actions{gap:5px}.owner-explore-link{min-height:34px;padding:5px 8px;font-size:11px}.owner-explore-link span{display:none}
  .owner-bell{width:36px;height:36px}.owner-bell .wish-icon{width:20px}.owner-mini-avatar{width:36px;height:36px}
  .owner-view{padding:15px 12px 30px}.owner-welcome{padding-bottom:13px}.owner-welcome>span{font-size:12px}
  .owner-welcome h1{max-width:100%;font-size:25px;line-height:1.16;letter-spacing:-.035em;overflow-wrap:anywhere}.owner-welcome p{font-size:12px;line-height:1.5}
  .owner-stat-grid{gap:8px;margin-bottom:22px}.owner-stat-grid>div,.owner-stat-grid>button{min-width:0;min-height:94px;padding:11px;border-radius:11px;box-shadow:0 4px 14px #735d360c}
  .owner-stat-grid span{font-size:12px}.owner-stat-grid strong{margin:5px 0 2px;font-size:24px}.owner-stat-grid small{font-size:10px;line-height:1.35}
  .owner-section-heading{gap:8px;margin-bottom:12px}.owner-section-heading h2{font-size:21px}.owner-section-heading p{font-size:11px}.owner-section-heading>div:last-child button{min-height:36px;padding:6px 9px;font-size:11px}
  .owner-house-filters{grid-template-columns:minmax(0,1fr) 116px;gap:7px}.owner-house-filters label,.owner-house-filters select{min-width:0;max-width:100%;height:40px}.owner-house-filters input{min-width:0;font-size:12px}.owner-house-filters select{font-size:11px;text-overflow:ellipsis}
  .owner-house-card{grid-template-columns:104px minmax(0,1fr);gap:10px}.owner-house-image{height:112px}.owner-house-info{overflow:hidden}.owner-house-info h3{font-size:15px}.owner-house-info p{font-size:11px}.owner-house-info>div{gap:4px}.owner-house-info>div span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .owner-bottom-nav{grid-template-columns:1fr 1fr 64px 1fr 1fr;width:100%;height:64px;border-radius:20px 20px 0 0;padding:4px 4px calc(4px + env(safe-area-inset-bottom))}
  .owner-bottom-nav>a{min-width:0;font-size:9px;gap:1px}.owner-bottom-nav>a b{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.owner-bottom-nav .wish-icon{width:20px;height:20px}
  .owner-quick-action{width:58px;height:58px;margin:-24px auto 0;border-width:4px}.owner-quick-action span{font-size:21px}.owner-quick-action b{font-size:9px}
  .owner-app-shell{padding-bottom:76px}
}

/* Mobile customer discovery inspired by a native rental app. */
.public-mobile-nav{display:none}
@media(max-width:700px){
  body:has(.public-mobile-home)>header.wish-header,body:has(.public-mobile-search)>header.wish-header,body:has(#app.public-mobile-results)>header.wish-header{display:none}
  .public-mobile-home,.public-mobile-search{min-height:100dvh;padding:20px 16px 92px;background:#fff;color:#242424}
  .mobile-discovery-top{display:grid;grid-template-columns:minmax(0,1fr) 56px;gap:10px;margin-top:5px}.mobile-discovery-top>button,.mobile-discovery-top>a{display:flex;align-items:center;min-height:58px;border:1px solid #e5e8eb;border-radius:13px;background:#fff;box-shadow:0 3px 12px #15364b12}.mobile-discovery-top>button{gap:12px;padding:0 16px;text-align:left;font-size:16px;font-weight:650}.mobile-discovery-top .wish-icon{width:25px;color:#d95658}.mobile-discovery-top>a{justify-content:center}.mobile-discovery-top>a .wish-icon{width:27px;color:#174e72}
  .mobile-discovery-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0 22px}.mobile-discovery-actions button,.mobile-discovery-actions a{display:flex;align-items:center;justify-content:center;gap:9px;min-height:54px;border:1px solid #e5e8eb;border-radius:12px;background:#fff;box-shadow:0 3px 12px #15364b0d;font-weight:650}.mobile-discovery-actions .wish-icon{width:21px;color:#d95658}
  .mobile-section-title{display:flex;align-items:center;justify-content:space-between}.mobile-section-title h1{margin:0;font-size:21px;font-weight:750}.mobile-section-title button{border:0;padding:6px;background:none;color:#80612d;font-size:12px}
  .mobile-featured-regions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0 24px}.mobile-featured-regions button{position:relative;aspect-ratio:1/1.02;overflow:hidden;border:0;border-radius:12px;padding:0;background:#ddd}.mobile-featured-regions img{width:100%;height:100%;object-fit:cover}.mobile-featured-regions button:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#000b)}.mobile-featured-regions span{position:absolute;z-index:1;left:7px;right:7px;bottom:8px;color:#fff;font-size:13px;font-weight:650;text-shadow:0 1px 4px #000}
  .mobile-wish-banner{position:relative;overflow:hidden;min-height:190px;padding:24px;border-radius:18px;background:linear-gradient(135deg,#ffe18a,#f9c436 60%,#dca323);box-shadow:0 8px 24px #6c4b1118}.mobile-wish-banner:after{content:'W';position:absolute;right:14px;bottom:-37px;color:#fff8;font-size:160px;font-weight:900;line-height:1}.mobile-wish-banner span{font-size:10px;letter-spacing:.14em;font-weight:800}.mobile-wish-banner h2{position:relative;z-index:1;max-width:230px;margin:10px 0 6px;font-size:25px;font-weight:800}.mobile-wish-banner p{position:relative;z-index:1;max-width:250px;margin:0 0 14px;color:#493819;font-size:12px;line-height:1.5}.mobile-wish-banner button{position:relative;z-index:1;min-height:38px;border:0;background:#2d2922;color:#fff;font-size:12px;font-weight:750}
  .public-mobile-nav{position:fixed;z-index:100;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(5,1fr);height:70px;padding:6px 5px calc(6px + env(safe-area-inset-bottom));border-top:1px solid #ececec;background:#fff;box-shadow:0 -5px 18px #2f465215}.public-mobile-nav a{display:flex;min-width:0;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:#9a9a9a;font-size:9px}.public-mobile-nav a[aria-current=page]{color:#7d5d28}.public-mobile-nav .wish-icon{width:22px;height:22px}.public-mobile-nav b{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:650}
  .public-mobile-search{padding-top:12px}.public-mobile-search>header{position:relative;display:flex;align-items:center;justify-content:center;height:55px;padding:0;background:#fff;border:0}.public-mobile-search>header>a{position:absolute;left:0;color:#174e72;font-size:39px;line-height:1}.public-mobile-search>header h1{margin:0;color:#174e72;font-size:19px;font-weight:750;letter-spacing:0}
  .mobile-location-select{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:12px 0 14px;padding:0 16px;min-height:60px;border:1px solid #e1e6e9;border-radius:14px;background:#fff;box-shadow:0 3px 12px #173f5a12}.mobile-location-select span{color:#676767}.mobile-location-select select{max-width:62%;border:0;background:#fff;color:#303030;text-align:right;font-size:16px;font-weight:700;outline:0}
  .mobile-room-types{padding:18px 14px;border:1px solid #e1e6e9;border-radius:16px;background:#fff;box-shadow:0 4px 16px #173f5a10}.mobile-room-types h2{margin:0 0 15px;font-size:21px;font-weight:750}.mobile-room-types>button{display:grid;grid-template-columns:124px minmax(0,1fr);gap:12px;width:100%;padding:10px 0;border:0;border-radius:0;background:#fff;text-align:left}.mobile-room-types>button+button{border-top:1px solid #eee}.mobile-room-types img{width:124px;height:124px;border-radius:12px;object-fit:cover}.mobile-room-types button>span{min-width:0;padding-top:4px}.mobile-room-types strong,.mobile-room-types b,.mobile-room-types small{display:block}.mobile-room-types strong{font-size:18px}.mobile-room-types b{margin:6px 0;color:#17548c;font-size:17px}.mobile-room-types small{margin-bottom:8px;color:#555;line-height:1.35}.mobile-room-types i{display:inline-block;margin:3px 5px 0 0;padding:5px 7px;border-radius:7px;background:#f0f1f2;color:#666;font-size:10px;font-style:normal}
  #app.public-mobile-results{position:relative;padding-bottom:70px;background:#f6f7f6}.public-mobile-results>.filters{display:none}.public-mobile-results .workspace{position:relative;display:flex;flex-direction:column-reverse;min-height:100dvh;border:0}.public-mobile-results .map{height:52dvh;min-height:390px;order:2}.public-mobile-results .results{position:relative;z-index:5;order:1;margin-top:-22px;padding:24px 16px 28px;border-radius:24px 24px 0 0;background:#fff;box-shadow:0 -5px 18px #173f5a12;overflow:visible}.public-mobile-results .result-head{display:block;margin-bottom:16px}.public-mobile-results .result-head strong{display:block;padding-left:12px;border-left:5px solid #c2923f;font-size:19px;line-height:1.3}.public-mobile-results .result-head .muted{display:block;margin:8px 0 0 17px}.public-mobile-results .cards{grid-template-columns:1fr;gap:16px}.public-mobile-results .card{border-radius:16px}.public-mobile-results .card .photo{height:auto;aspect-ratio:4/3}.public-mobile-results .cardbody{padding:15px}.public-mobile-results .card h3{font-size:15px}.public-mobile-results .price{font-size:19px}.mobile-map-search{position:absolute;z-index:700;left:13px;right:13px;top:14px;display:grid;grid-template-columns:40px minmax(0,1fr) 42px;align-items:center;min-height:56px;border-radius:30px;background:#fff;box-shadow:0 4px 16px #173f5a30}.mobile-map-search>a{font-size:32px;text-align:center;color:#424242}.mobile-map-search>button{min-width:0;border:0;background:transparent;padding:6px}.mobile-map-search>button:nth-child(2){text-align:center}.mobile-map-search span,.mobile-map-search b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-map-search span{font-size:12px;color:#777}.mobile-map-search b{font-size:15px}.mobile-map-search .wish-icon{width:22px}.mobile-map-chips{position:absolute;z-index:700;left:14px;right:14px;top:80px;display:flex;gap:7px;overflow-x:auto;scrollbar-width:none}.mobile-map-chips button{min-height:35px;padding:7px 12px;border:0;border-radius:999px;background:#fff;box-shadow:0 3px 12px #173f5a22;white-space:nowrap;font-size:11px}.public-mobile-results .leaflet-control-zoom{display:none}
}
