@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap');
:root{--ink:#203d35;--muted:#71766f;--line:#e4e6df;--paper:#fbfcf9}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font-family:'DM Sans',sans-serif;font-size:16px}button,select{font:inherit;color:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #b5853b;outline-offset:4px}button{border:0;background:none}header{height:100px;display:flex;align-items:center;justify-content:space-between;padding:0 5.5%;border-bottom:1px solid var(--line);gap:20px}.logo{font-family:'Playfair Display',serif;font-weight:600;font-size:43px;letter-spacing:-2px;text-decoration:none;color:var(--ink)}.logo span{font:12px 'DM Sans',sans-serif;vertical-align:super;margin-left:4px;letter-spacing:0}nav{display:flex;gap:36px;height:100%;align-items:center}.nav{font-size:14px;height:100%;position:relative}.nav.active:after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--ink)}.saved{display:flex;align-items:center;gap:10px;font-size:14px}.saved b{border:1px solid var(--line);border-radius:50%;font-size:12px;width:24px;height:24px;display:grid;place-items:center}main{max-width:1500px;margin:auto;padding:0 5.5%}.intro{display:flex;justify-content:space-between;align-items:center;padding:51px 0 34px}.eyebrow{font-size:11px;font-weight:600;letter-spacing:2.4px;margin:0 0 16px}h1,h2,h3{font-family:'Playfair Display',serif;font-weight:400}h1{font-size:clamp(42px,4.6vw,68px);line-height:1.1;letter-spacing:-2px;margin:0}h1 em{font-weight:400;color:#708273}.lead{color:var(--muted);margin:20px 0 0;font-size:15px}.intro-aside{display:flex;gap:22px;align-items:center;padding-right:30px;color:var(--muted);font-size:14px;line-height:1.7}.stamp{border:1px solid #a8b3a1;width:87px;height:107px;border-radius:48px 48px 0 0;display:grid;place-items:center;font:italic 57px 'Playfair Display';color:var(--ink);transform:rotate(8deg)}.search{display:flex;background:white;box-shadow:0 10px 30px #18352906;border:1px solid #daddd4;border-radius:9px;padding:10px;margin:0 0 48px}.search label{flex:1;min-width:0;padding:10px 24px;border-right:1px solid var(--line)}.search label span{display:block;font-size:12px;color:var(--muted);margin-bottom:7px}.search select{width:100%;border:0;background:white;font-size:14px;outline-offset:1px}.primary{background:var(--ink);color:white;border-radius:5px;padding:16px 26px;font-weight:500;font-size:14px}.primary:hover{background:#31584b}.search .primary{margin-left:10px}.search .primary span{font-size:25px;margin-right:10px;vertical-align:middle}.section-head{display:flex;justify-content:space-between;align-items:end}.section-head .eyebrow{font-size:10px;margin-bottom:10px}.section-head h2{font-size:32px;margin:0;letter-spacing:-.6px}#count{font-size:13px;color:var(--muted);margin-bottom:4px}.toolbar{display:flex;justify-content:space-between;align-items:center;margin:25px 0}.chips{display:flex;gap:8px}.chip{font-size:13px;border:1px solid var(--line);border-radius:30px;padding:10px 18px;background:white}.chip.selected{background:var(--ink);color:white;border-color:var(--ink)}.sort{font-size:12px;color:var(--muted)}.sort select{border:0;background:transparent;font-size:12px;font-weight:500;padding:7px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px 24px}.card{min-width:0}.photo{position:relative;aspect-ratio:1.42;overflow:hidden;border-radius:7px}.photo img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.card:hover .photo img{transform:scale(1.035)}.image-button{padding:0;width:100%;height:100%;display:block}.heart{position:absolute;right:14px;top:14px;width:36px;height:36px;border-radius:50%;background:#ffffffed;font-size:23px;display:grid;place-items:center}.heart[aria-pressed=true]{color:#b85a42}.badge{position:absolute;bottom:14px;left:14px;background:#ffffffed;border-radius:4px;font-size:11px;padding:7px 10px;pointer-events:none}.card-meta{display:flex;justify-content:space-between;font-size:11px;letter-spacing:1px;color:var(--muted);text-transform:uppercase;margin-top:18px}.card h3{font-size:23px;margin:9px 0 8px;line-height:1.25}.title-button{padding:0;text-align:left;font:inherit}.features{font-size:13px;color:var(--muted);margin:0}.price-row{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);margin-top:17px;padding-top:14px}.price-row strong{font-size:19px;font-weight:500}.price-row small{color:var(--muted);font-size:12px}.view{font-size:13px;text-decoration:underline;text-underline-offset:4px}#empty{text-align:center;padding:55px}.closing{margin:65px 0 45px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:35px 0;display:flex;align-items:center;justify-content:space-between;gap:24px}.little-logo{font:italic 65px 'Playfair Display'}.closing h2{font-size:29px;margin:0}.closing p{font-size:13px;color:var(--muted);line-height:1.9}footer{padding:0 5.5% 28px;display:flex;justify-content:space-between;align-items:center;gap:20px}footer .logo{font-size:32px}footer p,footer small{color:var(--muted);font-size:12px}dialog{border:0;border-radius:12px;padding:36px;color:var(--ink);max-width:720px;width:calc(100% - 32px);max-height:90vh;background:var(--paper)}dialog::backdrop{background:#152b2580;backdrop-filter:blur(4px)}.close{position:absolute;top:12px;right:14px;background:white;border-radius:50%;width:34px;height:34px;font-size:24px;z-index:2}dialog img{width:100%;height:270px;object-fit:cover;border-radius:7px}dialog h2{font-size:33px;margin:20px 0 12px}dialog p{line-height:1.6}dialog ol{padding-left:22px}dialog li{padding:10px}dialog .facts{display:flex;gap:15px;flex-wrap:wrap;font-size:14px;border-block:1px solid var(--line);padding:18px 0}.demo-note{background:#edf0e9;padding:14px;border-radius:5px;font-size:13px}dialog .primary{width:100%}@media(min-width:1500px){header,footer{padding-inline:calc((100vw - 1335px)/2)}}@media(max-width:900px){.intro-aside{display:none}.search label{padding:10px}.grid{grid-template-columns:repeat(2,1fr)}.sort{display:none}.closing{flex-wrap:wrap}.closing p{margin-left:auto}nav{gap:15px}}@media(max-width:600px){header{height:78px;padding-inline:6%}.logo{font-size:36px}nav{display:none}.intro{padding:35px 0 25px}h1{font-size:43px;letter-spacing:-1.5px}.eyebrow{font-size:9px}.lead{font-size:14px}.search{flex-wrap:wrap;margin-bottom:32px;padding:8px}.search label{flex:1 1 45%;border:0;padding:10px}.search label:first-child{flex-basis:100%;border-bottom:1px solid var(--line)}.search .primary{width:100%;margin:8px 0 0;padding:10px}.section-head{display:block}.section-head h2{font-size:28px}#count{margin-top:12px}.toolbar{margin:20px 0}.chips{gap:6px;flex-wrap:wrap}.chip{padding:9px 11px;font-size:12px}.grid{grid-template-columns:1fr;gap:30px}.photo{aspect-ratio:1.4}.closing{margin-top:40px}.closing h2{font-size:25px}.closing p{width:100%;margin:0}.little-logo{font-size:48px}footer{flex-wrap:wrap}footer small{width:100%}dialog{padding:24px}dialog img{height:220px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
/* Readable labels and a compact search-first introduction. */
.session-badge{font-size:12px;color:#587065;white-space:nowrap}.account-summary{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line)}.account-summary span{font-size:14px;color:#587065}.account-actions{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0 26px}.booking-card{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:18px 0;border-bottom:1px solid var(--line)}.booking-card p{margin:6px 0;color:#587065}.status-pill{font-size:12px;padding:5px 9px;border:1px solid #b7c8bb;border-radius:999px;white-space:nowrap}.admin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0}.admin-grid>div{border:1px solid var(--line);padding:16px;background:#f4f7f2}.admin-grid strong,.admin-grid span{display:block}.admin-grid strong{font:24px Georgia,serif}.admin-grid span{margin-top:5px;color:#587065;font-size:13px}.table-wrap{overflow:auto}.table-wrap table{width:100%;border-collapse:collapse;font-size:14px}.table-wrap th,.table-wrap td{text-align:left;border-bottom:1px solid var(--line);padding:11px 8px}.table-wrap th{color:#587065;font-weight:500}@media(max-width:600px){.session-badge{display:none}.account-summary,.booking-card{display:block}.status-pill{display:inline-block;margin-top:10px}.admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.results-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,34%);gap:28px;align-items:start}.map-panel{position:sticky;top:20px;border:1px solid var(--line);border-radius:9px;background:white;padding:18px}.map-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:14px}.map-heading h3{font-size:23px;margin:0}.map-heading .eyebrow{margin:0 0 7px}.map-heading span{font-size:12px;color:var(--muted)}.map-surface{position:relative;min-height:430px;overflow:hidden;border-radius:7px;background-color:#eef1e8;background-image:linear-gradient(35deg,transparent 47%,#d6ddd1 48%,#d6ddd1 50%,transparent 51%),linear-gradient(118deg,transparent 47%,#d6ddd1 48%,#d6ddd1 50%,transparent 51%),linear-gradient(#fff8 1px,transparent 1px),linear-gradient(90deg,#fff8 1px,transparent 1px);background-size:100% 100%,100% 100%,42px 42px,42px 42px}.map-water{position:absolute;inset:-15% 45% 42% -20%;background:#dfece9;border-radius:50%;transform:rotate(-16deg);opacity:.85}.map-label{position:absolute;text-transform:uppercase;letter-spacing:1.4px;font-size:10px;color:#819087}.map-label-one{left:43%;top:47%}.map-label-two{left:57%;top:19%}.map-label-three{right:11%;top:45%}.map-label-four{left:43%;bottom:11%}.map-marker{position:absolute;transform:translate(-50%,-50%);z-index:2;background:var(--ink);color:#fff;border-radius:18px 18px 18px 4px;padding:7px 8px;box-shadow:0 4px 11px #16382b35;display:flex;align-items:center;gap:5px}.map-marker span{font:italic 16px Georgia,serif}.map-marker small{font-size:10px;color:#fff;white-space:nowrap}.map-marker:hover{background:#b5853b;transform:translate(-50%,-50%) scale(1.06)}.booking-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px}.booking-details{margin-top:14px;background:#f4f7f2;padding:12px;border-radius:6px}.booking-details .costs{margin:8px 0}.booking-details summary{font-size:14px}.booking-main{flex:1}.booking-card .field-note{display:inline-block;margin:8px 0 0}@media(max-width:1000px){.results-layout{grid-template-columns:1fr}.map-panel{position:static;order:-1}.map-surface{min-height:300px}}@media(max-width:600px){.map-surface{min-height:260px}.map-panel{padding:13px}.map-marker{padding:6px}.map-marker small{display:none}.booking-actions .chip{padding:8px 10px}}
.eyebrow,.section-head .eyebrow{font-size:12px}.lead{font-size:16px}.search label span,.badge,.card-meta,.price-row small,footer small{font-size:12px}.search select,.chip,.sort,.sort select,.features,.view,#count,.closing p,footer p{font-size:14px}.intro{padding-top:32px;padding-bottom:28px}h1{font-size:clamp(40px,4vw,58px)}.search{margin-bottom:34px}
@media(max-width:600px){.eyebrow{letter-spacing:1.6px}.chip{font-size:14px}.lead{font-size:16px}.intro{padding-top:28px}h1{font-size:40px}.card-meta{letter-spacing:.6px}}
.booking{background:#eef2ec;border:1px solid #dce3d9;border-radius:8px;padding:24px;margin-top:24px}.instant{font-weight:600;font-size:14px;color:#245240;margin:0}.booking h3{font-size:26px;margin:12px 0}.booking-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:22px 0}.booking-fields label{font-size:14px;display:grid;gap:8px}.booking-fields input,.booking-fields select{background:white;border:1px solid #c5cec1;border-radius:5px;padding:12px;font:inherit;color:var(--ink);width:100%;min-width:0}.costs{margin:22px 0}.costs>div{display:flex;justify-content:space-between;gap:16px;padding:10px 0;font-size:14px}.costs dd{margin:0;text-align:right}.cost-total{border-top:1px solid #b8c7b2;margin-top:8px;font-weight:600;font-size:17px!important}.billing-note,.stay-dates{font-size:14px}.secondary{font-size:14px;text-decoration:underline;padding:18px;width:100%}.booking .demo-note{background:white}.logo{letter-spacing:-1.5px;font-size:37px}dialog button:focus-visible,dialog input:focus-visible{outline:3px solid #b5853b;outline-offset:3px}@media(max-width:600px){.booking{padding:16px}.booking-fields{grid-template-columns:1fr}.logo{font-size:31px}.costs>div{flex-wrap:wrap}}
[hidden]{display:none!important}.mode-switch{border:1px solid var(--ink);border-radius:5px;padding:11px 16px;white-space:nowrap;font-size:14px}.owner-intro{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:40px 0 24px}.owner-intro p{line-height:1.6}.owner-list{padding:25px 0}.owner-list h2,.owner-summary h2{font-size:30px}.owner-row{display:flex;align-items:center;gap:24px;padding:20px 0;border-bottom:1px solid var(--line)}.owner-row img{width:130px;height:100px;object-fit:cover;border-radius:6px}.owner-row>div{flex:1}.owner-row h3{font-size:24px;margin:0 0 8px}.owner-row p{margin:5px 0;font-size:14px}.owner-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);gap:32px;margin:20px 0 40px}.owner-fields fieldset{border:1px solid var(--line);border-radius:9px;padding:24px;margin:0 0 25px}.owner-fields legend{padding:0 10px;font-size:17px;font-weight:600}.owner-fields label{display:grid;gap:8px;font-size:14px;margin-bottom:18px}.owner-fields input,.owner-fields select,.owner-fields textarea,.owner-summary input{font:inherit;width:100%;border:1px solid #bdc9bf;background:white;color:var(--ink);padding:12px;border-radius:5px;min-width:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.owner-summary{padding:26px;background:#eef2ec;align-self:start;border-radius:8px;position:sticky;top:20px}.owner-summary .booking-fields{grid-template-columns:1fr}.owner-summary .costs>div{flex-wrap:wrap}.field-note{font-size:14px;line-height:1.6;color:#526156}.policy{border-top:1px solid var(--line);padding:24px 0;margin:25px 0 45px;line-height:1.65}.policy summary,details summary{cursor:pointer;font-weight:600}.policy h3{font-size:24px}.policy p{max-width:none;width:100%}.policy a{color:inherit;text-underline-offset:3px}#publishError{color:#9f3427;margin:16px 0}button:disabled{opacity:.55;cursor:wait}nav{gap:20px}.saved{white-space:nowrap}#landlordView input:focus-visible,#landlordView textarea:focus-visible{outline:3px solid #b5853b;outline-offset:2px}@media(max-width:1000px){header{flex-wrap:wrap;height:auto;padding-block:16px}nav{height:42px}.owner-layout{grid-template-columns:1fr}.owner-summary{position:static;grid-row:1}}@media(max-width:600px){.owner-intro{display:block}.owner-intro .primary{margin-top:12px}.form-grid{grid-template-columns:1fr}.owner-row{flex-wrap:wrap;gap:14px}.owner-row img{width:88px;height:88px}.owner-fields fieldset{padding:15px}.mode-switch{padding:10px}.saved span{display:none}.owner-intro h1{font-size:38px}}
.utility-nav{display:flex;gap:18px;margin-left:auto;font-size:14px}.utility-nav button{padding:9px 0;text-decoration:underline;text-underline-offset:4px}header{height:auto;min-height:100px;flex-wrap:wrap;padding-block:14px}.owner-actions{display:flex;gap:12px;flex-wrap:wrap}.owner-actions button:last-child{background:white;color:var(--ink);border:1px solid var(--ink)}.checks{display:flex;gap:20px;flex-wrap:wrap}.checks label{display:flex;align-items:center;gap:8px}.checks input{width:auto}.service-form{display:grid;gap:18px;margin-top:24px}.service-form label,.payment-outcome{display:grid;gap:8px;font-size:14px}.service-form input,.service-form textarea,.service-form select,.payment-outcome select{font:inherit;padding:12px;border:1px solid #bdc9bf;border-radius:5px;background:white;color:var(--ink);width:100%}.service-form .booking{margin:0}.case-row{padding:16px 0;border-bottom:1px solid var(--line)}.case-text{white-space:pre-wrap;overflow-wrap:anywhere}#profileError,#caseError,#followupError,#paymentError{color:#9f3427}.payment-outcome{margin:20px 0}.inline-account{text-decoration:underline;padding:0}#services{max-width:750px}#services h3{font-size:23px}#roomFields{background:#eef2ec}.service-form input:focus-visible,.service-form textarea:focus-visible{outline:3px solid #b5853b;outline-offset:2px}@media(max-width:600px){.utility-nav{width:100%;justify-content:space-between;margin:0}.owner-actions{margin-top:20px}.checks{display:block}}
footer .footer-menu{height:auto;display:flex;gap:20px}footer .footer-menu button{font-size:14px;text-decoration:underline;text-underline-offset:4px}.photo-uploader{border:1px dashed #a8b8ac;border-radius:8px;padding:18px;margin:18px 0}.photo-previews{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.photo-preview img{width:100%;height:110px;object-fit:cover;border-radius:5px}.photo-preview span{display:block;font-size:12px;margin:5px 0}.photo-preview button{font-size:13px;text-decoration:underline;padding:5px}.listing-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}.listing-gallery img{height:180px}.identity-preview{max-width:320px;height:180px;object-fit:contain;background:#eef2ec}.photo-uploader input{max-width:100%}@media(max-width:600px){.photo-previews{grid-template-columns:repeat(2,minmax(0,1fr))}.listing-gallery img{height:120px}}
.session-badge{display:none!important}.map-surface{cursor:default;background:#e7ece8}.leaflet-map{position:absolute;inset:0;width:100%;height:100%;z-index:1}.leaflet-container{font-family:'DM Sans',sans-serif;background:#e7ece8}.leaflet-control-attribution{font-size:10px}.map-controls{z-index:1000}.map-controls button{font-weight:600}.map-loading{position:absolute;inset:0;z-index:2;display:grid;place-items:center;color:#526156;background:#e7ece8;font-size:13px}.map-price-icon-wrap{background:transparent;border:0}.map-price-icon{display:inline-flex;align-items:center;justify-content:center;min-width:58px;height:30px;padding:0 10px;border-radius:18px;background:var(--ink);color:white;border:2px solid white;box-shadow:0 3px 10px #18352945;font:600 12px 'DM Sans',sans-serif;white-space:nowrap}.map-price-icon:hover{background:#b5853b}.owner-earnings{border:1px solid var(--line);border-radius:9px;background:#f4f7f2;padding:24px;margin:24px 0 34px}.owner-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.owner-section-head h2{font-size:29px;margin:0}.owner-section-head .eyebrow{margin:0 0 8px}.owner-stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-top:20px}.owner-stats>div{background:white;border:1px solid #dce3d9;padding:15px}.owner-stats strong,.owner-stats span{display:block}.owner-stats strong{font:23px Georgia,serif}.owner-stats span{margin-top:5px;color:#587065;font-size:13px}@media(max-width:700px){.owner-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.owner-section-head{display:block}.owner-section-head .field-note{display:block;margin-top:8px}}@media(max-width:600px){.owner-earnings{padding:16px}.owner-stats strong{font-size:20px}}
.identity-locked{display:inline-flex;align-items:center;padding:9px 12px;border:1px solid var(--line);border-radius:5px;background:#f4f7f2}.owner-payout{margin-top:12px;padding:14px;border:1px solid var(--line);border-radius:8px;background:#f4f7f2}.owner-payout-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;margin-top:10px}.owner-payout-form label{display:grid;gap:6px;font-size:12px;color:#587065}.owner-payout-form input{padding:10px;border:1px solid var(--line);border-radius:5px;background:white;font:inherit}.owner-payout-form .primary{padding:10px 13px;font-size:12px}.owner-payout-form .field-note{grid-column:1/-1;margin:0}@media(max-width:700px){.owner-payout-form{grid-template-columns:1fr}.owner-payout-form .primary{width:100%}}
.admin-directory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.admin-directory-card{border:1px solid var(--line);border-radius:9px;background:white;padding:17px}.admin-directory-main{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.admin-directory-main h3{font-size:22px;margin:3px 0}.admin-directory-main p{margin:4px 0;font-size:13px;color:#587065}.admin-directory-main .eyebrow{margin:0;font-size:10px;color:var(--muted)}.admin-directory-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:16px 0 12px}.admin-directory-meta>div{padding:10px;background:#f4f7f2;border-radius:5px}.admin-directory-meta dt{font-size:11px;color:#587065}.admin-directory-meta dd{margin:4px 0 0;font:18px Georgia,serif}.admin-directory-actions{display:flex;gap:7px;flex-wrap:wrap}.admin-directory-actions .chip{font-size:12px}.danger-action{color:#9f3427;border-color:#d7a9a0}@media(max-width:900px){.admin-directory-grid{grid-template-columns:1fr}}@media(max-width:600px){.admin-directory-main{display:block}.admin-directory-main .status-pill{display:inline-flex;margin-top:10px}.admin-directory-meta{grid-template-columns:1fr 1fr}.admin-directory-actions{display:grid;grid-template-columns:1fr}.admin-directory-actions .chip{width:100%}}
.admin-directory-row{display:grid;grid-template-columns:minmax(210px,1.2fr) minmax(260px,1.5fr) auto;gap:14px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}.admin-directory-person{display:grid;gap:3px;min-width:0}.admin-directory-person strong{font:20px Georgia,serif}.admin-directory-person>span:not(.admin-directory-kind){font-size:12px;color:#587065;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-directory-kind{font-size:10px;letter-spacing:1.5px;color:var(--muted)}.admin-directory-facts{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.admin-directory-facts>span:not(.status-pill){padding:7px 9px;background:#f4f7f2;border-radius:4px;font-size:12px;color:#587065}.admin-directory-facts b{font:16px Georgia,serif;color:var(--ink)}.admin-directory-row .admin-directory-actions{justify-content:flex-end}.admin-directory-row .admin-directory-actions .chip{font-size:11px;padding:8px 10px}.admin-incident-details{margin-top:8px}.admin-incident-details summary{font-size:12px;color:#526156}.admin-incident-details form{display:grid;gap:7px;min-width:240px;margin-top:8px;padding:10px;background:#f4f7f2;border-radius:5px}.admin-incident-details label{display:grid;gap:3px;font-size:11px;color:#587065}.admin-incident-details input,.admin-incident-details select,.admin-incident-details textarea{font:inherit;padding:7px;border:1px solid var(--line);border-radius:4px;background:white;color:var(--ink)}.admin-incident-details .primary{padding:8px 10px;font-size:11px}.admin-incident-details .field-note{font-size:11px;margin:0}@media(max-width:1000px){.admin-directory-row{grid-template-columns:1fr;gap:9px}.admin-directory-row .admin-directory-actions{justify-content:flex-start}}@media(max-width:600px){.admin-directory-facts{display:grid;grid-template-columns:1fr 1fr}.admin-directory-row .admin-directory-actions{display:grid;grid-template-columns:1fr}.admin-directory-row .admin-directory-actions .chip{width:100%}}
.case-resolution{margin:18px 0;padding:13px 15px;border-left:3px solid #b5853b;background:#f4f7f2}.case-resolution h3{margin:0 0 7px;font-size:19px}.case-resolution p{margin:4px 0}
.header-actions{margin-left:auto;display:flex;align-items:center;gap:18px}.header-actions .utility-nav{margin-left:0}header .saved{margin-left:0;min-width:30px;justify-content:center;font-size:26px;line-height:1}.map-surface{height:500px;min-height:0;position:relative;overflow:hidden;cursor:grab;background:#e4ebe4}.map-surface.is-dragging{cursor:grabbing}.map-canvas{position:absolute;inset:-18%;width:136%;height:136%;transform-origin:50% 50%;transition:transform .18s ease;background-color:#edf1e9;background-image:linear-gradient(35deg,transparent 47%,#d7ded4 48%,#d7ded4 50%,transparent 51%),linear-gradient(118deg,transparent 47%,#d7ded4 48%,#d7ded4 50%,transparent 51%),linear-gradient(#fff8 1px,transparent 1px),linear-gradient(90deg,#fff8 1px,transparent 1px);background-size:100% 100%,100% 100%,42px 42px,42px 42px}.map-water{position:absolute;inset:-15% 45% 42% -20%;background:#d7e9e7;border-radius:50%;transform:rotate(-16deg);opacity:.85}.map-road{position:absolute;height:8px;background:#fff;border:1px solid #d5ddd5;border-radius:8px;opacity:.9}.road-a{left:-8%;top:25%;width:120%;transform:rotate(18deg)}.road-b{left:-8%;top:64%;width:118%;transform:rotate(-12deg)}.road-c{left:38%;top:-12%;width:130%;transform:rotate(78deg)}.road-d{left:-2%;top:47%;width:112%;transform:rotate(43deg)}.map-label{position:absolute;text-transform:uppercase;letter-spacing:1.4px;font-size:10px;color:#819087;font-weight:600}.map-controls{position:absolute;top:14px;right:14px;z-index:5;display:grid;gap:6px}.map-controls button{width:36px;height:36px;border:1px solid #d5ddd5;border-radius:7px;background:#fff;color:var(--ink);font-size:21px;line-height:1;box-shadow:0 3px 12px #18352918}.map-controls button:hover{background:#f1f5ef}.map-hint{position:absolute;left:14px;bottom:14px;z-index:5;max-width:calc(100% - 28px);padding:8px 10px;border-radius:6px;background:#ffffffed;color:#526156;font-size:12px;box-shadow:0 3px 12px #18352918;pointer-events:none}.map-marker{z-index:3;min-width:58px;justify-content:center;border:1px solid #fff8}.map-marker span{font-size:14px}.map-marker small{font-size:11px}.map-marker:focus-visible{z-index:4}@media(max-width:1000px){.map-surface{height:400px}}@media(max-width:600px){.header-actions{gap:10px}.session-badge{display:none}.map-surface{height:330px}.map-hint{font-size:11px}}
.budget-control{flex:1.35;min-width:250px;padding:10px 24px;border-right:1px solid var(--line)}.budget-control>span{display:block;font-size:12px;color:var(--muted);margin-bottom:5px}.budget-values{display:flex;justify-content:space-between;font-size:14px;font-weight:500}.range-track{position:relative;height:24px;margin-top:4px}.range-track input{position:absolute;inset:0;width:100%;height:24px;margin:0;pointer-events:none;appearance:none;background:transparent}.range-track input::-webkit-slider-runnable-track{height:4px;background:#cbd6ca;border-radius:4px}.range-track input::-webkit-slider-thumb{appearance:none;width:17px;height:17px;margin-top:-6px;border-radius:50%;background:var(--ink);border:2px solid white;box-shadow:0 1px 4px #18352955;pointer-events:auto;cursor:grab}.range-track input::-moz-range-track{height:4px;background:#cbd6ca;border-radius:4px}.range-track input::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--ink);border:2px solid white;pointer-events:auto}.advanced-filters{margin:-22px 0 28px;border:1px solid var(--line);border-radius:8px;background:#f4f7f2;padding:14px 18px}.advanced-filters summary{cursor:pointer;font-size:14px;font-weight:600}.advanced-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px 18px;margin-top:15px}.advanced-grid label{font-size:13px;color:#526156}.advanced-grid input{accent-color:var(--ink);margin-right:7px}.rating-summary{font-size:13px;color:#a06b28;margin:8px 0 0;font-weight:600}.detail-rating{font-size:16px}.listing-reviews{border-top:1px solid var(--line);margin-top:22px;padding-top:18px}.listing-reviews h3{font-size:24px;margin:0 0 10px}.listing-reviews article{padding:12px 0;border-bottom:1px solid var(--line)}.listing-reviews article p{margin:5px 0;font-size:14px}.listing-reviews small{color:var(--muted)}.review-stars{color:#a06b28;font-size:13px;font-weight:600}.owner-listing-card{border:1px solid var(--line);border-radius:9px;padding:18px;margin:16px 0;background:white}.owner-listing-head{display:flex;align-items:center;gap:16px}.owner-listing-head img{width:110px;height:84px;object-fit:cover;border-radius:6px}.owner-listing-head>div{flex:1}.owner-listing-head h3{font-size:23px;margin:3px 0}.owner-listing-head p{margin:4px 0;font-size:14px}.owner-listing-head .eyebrow{font-size:10px;margin:0;color:var(--muted)}.owner-occupants{border-top:1px solid var(--line);margin-top:17px;padding-top:15px}.owner-occupants h4{font:600 16px 'DM Sans',sans-serif;margin:0 0 10px}.occupant-card{display:flex;justify-content:space-between;gap:18px;padding:14px 0;border-top:1px solid #edf0eb}.occupant-main{flex:1}.occupant-main strong{font-size:16px}.occupant-main p{font-size:13px;color:#587065;margin:5px 0}.owner-actions-inline{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.owner-action-panel{border:1px solid var(--line);border-radius:6px;padding:8px 11px;min-width:190px;background:#f7f9f5}.owner-action-panel summary{font-size:13px}.owner-action-panel form{display:grid;gap:8px;margin-top:10px}.owner-action-panel label{font-size:12px;display:grid;gap:4px}.owner-action-panel input,.owner-action-panel select,.owner-action-panel textarea{font:inherit;font-size:13px;border:1px solid #bdc9bf;border-radius:4px;padding:8px;background:white;color:var(--ink);width:100%}.owner-action-panel .primary{padding:9px 10px;font-size:12px}.owner-action-panel .field-note{font-size:12px;margin:0}.owner-listing-card>.chip{margin-top:14px}@media(max-width:700px){.advanced-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.owner-listing-head{align-items:flex-start;flex-wrap:wrap}.owner-listing-head img{width:90px;height:70px}.owner-listing-head .chip{margin-left:auto}.occupant-card{display:block}.owner-actions-inline{justify-content:flex-start;margin-top:12px}}@media(max-width:600px){.budget-control{flex-basis:100%;border:0;border-top:1px solid var(--line);padding:10px}.advanced-filters{margin:-12px 0 24px;padding:12px}.advanced-grid{grid-template-columns:1fr}.owner-listing-card{padding:13px}.owner-action-panel{width:100%}.owner-actions-inline{display:grid;grid-template-columns:1fr;width:100%}}
 .range-track #budgetMax{z-index:8}.range-track #budgetMin{z-index:7}.range-track input::-webkit-slider-runnable-track{position:relative;z-index:1}.range-track input::-moz-range-track{position:relative;z-index:1}.range-track #budgetMin::-webkit-slider-thumb{background:#8faf99}.range-track #budgetMin::-moz-range-thumb{background:#8faf99}.owner-history{border-top:1px solid var(--line);margin-top:14px;padding-top:12px}.owner-history summary{font-size:13px}.history-person{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 0;border-top:1px solid #edf0eb}.history-person p{margin:4px 0;color:#587065;font-size:13px}.danger-action{color:#9b4438;border-color:#d9b5ae}.policy-note{font-size:13px;color:#587065}.view{background:var(--ink);color:#fff;border-radius:5px;padding:11px 14px;text-decoration:none;font-weight:600;display:inline-flex;align-items:center;justify-content:center}.view:hover{background:#31584b;color:#fff}.contract-preview{white-space:pre-wrap;max-height:420px;overflow:auto;background:#f4f7f2;border:1px solid var(--line);padding:18px;border-radius:8px;font:13px/1.6 'DM Sans',sans-serif}.cancel-cost{font-size:13px;background:#f4f7f2;padding:10px;border-radius:5px}.extend-form{display:grid;gap:8px;margin:16px 0;padding:14px;background:#f4f7f2;border-radius:7px}.extend-form input{padding:10px;border:1px solid var(--line);border-radius:5px;font:inherit}.admin-shell{display:grid;grid-template-columns:220px minmax(0,1fr);gap:30px;min-height:520px}.admin-sidebar{background:#163d33;color:#fff;border-radius:10px;padding:22px;position:sticky;top:20px;height:max-content}.admin-sidebar h2{font-family:'DM Serif Display',serif;font-weight:400;margin:8px 0 26px}.admin-sidebar .eyebrow{color:#d5e6d9}.admin-nav{display:grid;gap:8px;margin-bottom:28px}.admin-nav a{color:#e4f0e6;text-decoration:none;padding:10px 8px;border-radius:5px}.admin-nav a:hover{background:rgba(255,255,255,.12)}.admin-sidebar .secondary{width:100%;background:transparent;border-color:rgba(255,255,255,.55);color:#fff}.admin-main{min-width:0}.admin-heading,.section-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.admin-heading h1{margin:4px 0 8px}.admin-badge,.status-pill{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;padding:5px 10px;font-size:12px;white-space:nowrap}.status-pill.is-ok{background:#e7f1e8;color:#24583c;border-color:#bcd5c2}.status-pill.is-danger{background:#fff1ef;color:#9f3427;border-color:#e0aaa2}.admin-cards{display:grid;gap:12px}.admin-card{display:flex;justify-content:space-between;gap:20px;border:1px solid var(--line);border-radius:8px;padding:16px;background:#fff}.admin-card p{margin:5px 0 9px;color:var(--muted);font-size:13px}.admin-card-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.admin-card-actions label{display:grid;gap:4px;font-size:12px;color:var(--muted)}.admin-card-actions select{padding:7px;border:1px solid var(--line);border-radius:5px;font:inherit}.section-heading{margin-bottom:16px}.section-heading h2{margin:3px 0}.admin-main section{margin:0 0 34px}.admin-main .table-wrap{overflow:auto}@media(max-width:760px){.admin-shell{grid-template-columns:1fr}.admin-sidebar{position:static}.admin-nav{display:flex;flex-wrap:wrap}.admin-card{display:grid}.admin-card-actions{justify-content:flex-start}.admin-heading{display:block}.admin-badge{margin-top:10px}}

#adminView{min-height:calc(100vh - 140px);padding-block:40px}.review-heading{display:flex;justify-content:space-between;align-items:baseline;gap:16px}.review-heading h3{margin:0}.owner-earnings #ownerPayout{margin:16px 0 0;padding:12px 14px;background:#f4f7f2;border-radius:6px}

.review-summary{display:flex;gap:22px;align-items:stretch;flex-wrap:wrap;margin:14px 0 8px;padding:14px 0;border-bottom:1px solid var(--line)}.review-score{min-width:130px;display:flex;flex-direction:column;justify-content:center}.review-score strong{font:32px 'Playfair Display',serif}.review-score span{font-size:12px;color:var(--muted);margin-top:4px}.review-breakdown{display:grid;grid-template-columns:repeat(5,minmax(56px,1fr));gap:6px;flex:1;min-width:280px}.review-filter{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:9px 10px;border:1px solid var(--line);border-radius:5px;background:white;font-size:12px}.review-filter b{font-weight:600}.review-filter:hover,.review-filter.selected{background:var(--ink);border-color:var(--ink);color:white}.review-filter.selected{box-shadow:0 0 0 2px #b8c7b2}@media(max-width:600px){.review-summary{display:block}.review-score{margin-bottom:12px}.review-breakdown{min-width:0;grid-template-columns:repeat(5,1fr)}.review-filter{padding:8px 6px;display:grid;justify-content:center}.review-filter span{font-size:11px}}

.admin-exports{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 28px;padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:#f4f7f2}.admin-exports .field-note{margin-right:4px}.admin-exports .chip{font-size:12px}

#accountView{min-height:calc(100vh - 140px);padding-block:44px}.account-page{max-width:980px;margin:auto}.account-page>h2{font-size:34px;margin:8px 0 12px}.account-page-heading{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:28px}.account-page-heading--account{align-items:flex-start}.account-page-heading h1{font-size:clamp(38px,5vw,62px)}.account-logout{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.account-mark{display:grid;place-items:center;width:108px;height:132px;border:1px solid #a8b3a1;border-radius:58px 58px 0 0;font:italic 68px 'Playfair Display';transform:rotate(8deg)}.auth-card{max-width:640px;border:1px solid var(--line);border-radius:10px;background:white;padding:28px;margin:22px 0}.auth-card h2{font-size:28px;margin:0 0 10px}.auth-card>p{color:var(--muted);line-height:1.6}.auth-methods{display:grid;grid-template-columns:1fr;gap:10px;margin:22px 0}.auth-methods .primary,.auth-methods .chip{width:100%;text-align:center}.auth-form{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}.auth-page>.secondary{width:auto;padding:12px 0}.account-page .account-actions{margin:20px 0 32px}.account-page section{margin-bottom:32px}.account-page .booking-card{background:white;padding:20px;border:1px solid var(--line);border-radius:8px;margin:12px 0}.account-page .booking-card+.booking-card{margin-top:12px}.account-page .policy{margin-bottom:0}.booking-address{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:10px 0 14px;padding:10px 12px;background:#f4f7f2;border:1px solid var(--line);border-radius:7px}.booking-address>span{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#587065}.booking-address strong{font-size:14px;font-weight:500;flex:1 1 220px}.booking-map-action{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}@media(max-width:600px){.account-page-heading--account{gap:16px}.account-page-heading--account h1{font-size:34px}.account-logout{padding:9px 11px}}

/* Ficha del alojamiento: servicios visibles entre los datos y las opiniones. */
.amenities{border-bottom:1px solid var(--line);padding:19px 0 22px}.amenities h3{font-size:21px;margin:0 0 14px}.amenity-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.amenity{display:flex;align-items:center;gap:10px;min-height:58px;border:1px solid var(--line);border-radius:7px;padding:10px 11px;background:#fff}.amenity-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#e8efe8;color:var(--ink);font-size:19px;line-height:1}.amenity-copy{display:grid;gap:3px;min-width:0}.amenity-copy b{font-size:12px;font-weight:500}.amenity-copy small{font-size:11px;color:#5f7569}.amenity.is-unavailable{opacity:.48;background:#f5f6f2}.amenity.is-unavailable .amenity-icon{background:#eceee9;color:#7c837b}.listing-gallery{padding-top:2px}.listing-gallery img{width:100%;object-fit:cover;border-radius:7px;display:block}@media(max-width:600px){.amenity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.amenity{padding:9px}.amenity-copy b{font-size:11px}.listing-gallery img{height:150px}}

/* Carrusel de fotos en la ficha del alojamiento. */
.listing-carousel{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;gap:10px;margin:0 0 18px}.carousel-stage{position:relative;overflow:hidden;border-radius:8px;background:#e8ede7}.carousel-stage img{display:block;width:100%;height:340px;object-fit:cover;transition:opacity .2s ease}.carousel-control{width:40px;height:40px;border:1px solid var(--line);border-radius:50%;background:#fff;font-size:30px;line-height:1;color:var(--ink);display:grid;place-items:center;box-shadow:0 3px 12px #1835291c;z-index:1}.carousel-control:hover:not(:disabled){background:var(--ink);color:#fff}.carousel-control:disabled{opacity:.35;cursor:default}.carousel-caption{position:absolute;left:14px;right:14px;bottom:12px;display:flex;justify-content:space-between;align-items:center;color:#fff;font-size:12px;text-shadow:0 1px 4px #000;background:linear-gradient(transparent,#0007);padding-top:24px}.carousel-caption span:first-child{font-weight:600;letter-spacing:.5px}@media(max-width:600px){.listing-carousel{grid-template-columns:34px minmax(0,1fr) 34px;gap:6px}.carousel-stage img{height:230px}.carousel-control{width:34px;height:34px;font-size:25px}}

/* AdministraciÃ³n por secciones y control de acceso. */
.admin-nav a.active{background:#fff;color:var(--ink);font-weight:600}.admin-section[hidden]{display:none}.admin-user-tools{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:12px;margin:0 0 18px;padding:14px;border:1px solid var(--line);border-radius:8px;background:#f4f7f2}.admin-user-tools>label,.admin-invite label{display:grid;gap:6px;font-size:12px;color:#587065}.admin-user-tools input{width:100%;padding:10px;border:1px solid var(--line);border-radius:5px;background:white;font:inherit}.admin-invite{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end}.admin-invite .primary{padding:10px 13px;font-size:12px}.admin-invite .field-note{grid-column:1/-1;margin:0}.admin-access-toggle{display:flex!important;align-items:center;gap:6px!important}.admin-access-toggle input{width:auto!important;accent-color:var(--ink)}@media(max-width:700px){.admin-user-tools{grid-template-columns:1fr}.admin-invite{grid-template-columns:1fr}.admin-invite .primary{width:100%}}

.billing-summary{margin:16px 0 20px;padding:0 0 18px;border-bottom:1px solid var(--line)}.billing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.billing-item{display:flex;align-items:center;gap:10px;min-height:58px;border:1px solid var(--line);border-radius:7px;padding:10px 11px;background:#fff}.billing-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#e8efe8;color:var(--ink);font-size:18px;line-height:1}.billing-copy{display:grid;gap:3px;min-width:0}.billing-copy b{font-size:12px;font-weight:500}.billing-copy small{font-size:11px;color:#5f7569}.auth-forgot{display:block;margin:4px 0 16px;padding:0;color:var(--ink);font-size:13px;text-decoration:underline;text-underline-offset:4px}.auth-forgot:hover{color:#31584b}@media(max-width:600px){.billing-grid{grid-template-columns:1fr}.billing-item{padding:9px}}

/* Availability calendar and wider admin actions */
.availability-calendar{margin-top:18px;padding:15px;border:1px solid var(--line);border-radius:8px;background:#f7f9f5}.calendar-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.calendar-heading h3{margin:0 0 5px;font-size:20px}.calendar-heading .field-note{margin:0}.calendar-controls{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin-top:12px}.calendar-controls label{display:grid;gap:6px;min-width:210px;font-size:12px;color:#587065}.calendar-controls input{padding:10px;border:1px solid var(--line);border-radius:5px;background:white;font:inherit}.calendar-controls .chip{min-height:40px}.blocked-date-list{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.blocked-date-list .chip{font-size:12px;padding:7px 10px;background:white}.admin-directory-search{display:block;max-width:560px;margin:0 0 15px;font-size:12px;color:#587065}.admin-directory-search input{display:block;width:100%;margin-top:6px;padding:10px;border:1px solid var(--line);border-radius:5px;background:white;font:inherit;color:var(--ink)}.admin-directory-row{grid-template-columns:minmax(0,1.1fr) minmax(0,1.4fr) minmax(0,1.8fr)}.admin-directory-row .admin-directory-actions{justify-content:stretch;align-items:stretch;flex-wrap:nowrap}.admin-directory-row .admin-directory-actions .chip{flex:1;white-space:normal}.directory-property{font-size:12px;color:#526156;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:1000px){.admin-directory-row{grid-template-columns:1fr}.admin-directory-row .admin-directory-actions{justify-content:flex-start;flex-wrap:wrap}}@media(max-width:600px){.calendar-heading{display:block}.calendar-heading #availabilityHorizonNote{margin-top:8px}.calendar-controls{display:grid;grid-template-columns:1fr}.calendar-controls label{min-width:0}.admin-directory-row .admin-directory-actions{display:grid;grid-template-columns:1fr;flex-wrap:initial}.admin-directory-row .admin-directory-actions .chip{width:100%}}

/* Full availability calendar and reservation contacts */
.calendar-toolbar{display:flex;align-items:end;justify-content:space-between;gap:14px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.calendar-month-nav{display:flex;align-items:center;gap:8px}.calendar-month-nav strong{min-width:150px;text-transform:capitalize;font:20px Georgia,serif;text-align:center}.calendar-month-nav .chip{min-width:36px;padding:8px 10px}.calendar-toolbar>label{display:grid;gap:5px;min-width:130px;font-size:12px;color:#587065}.calendar-toolbar select{padding:9px;border:1px solid var(--line);border-radius:5px;background:white;font:inherit}.availability-calendar-grid{margin-top:12px;border:1px solid var(--line);border-radius:7px;overflow:hidden;background:white}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekdays{background:#f4f7f2;border-bottom:1px solid var(--line)}.calendar-weekdays span{padding:8px 6px;text-align:center;font-size:11px;font-weight:600;color:#587065}.calendar-day{min-height:68px;border:0;border-right:1px solid #e8eee7;border-bottom:1px solid #e8eee7;background:white;color:var(--ink);display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;padding:8px;text-align:left;cursor:pointer;font:inherit}.calendar-day:nth-child(7n){border-right:0}.calendar-day:hover:not(:disabled){background:#f1f6f0}.calendar-day span{font-size:14px;font-weight:600}.calendar-day small{font-size:10px;color:#587065}.calendar-day.is-other-month{color:#a0ada2;background:#fafcf9}.calendar-day.is-blocked{background:#e4f0e6;color:#24583c;box-shadow:inset 0 0 0 2px #a9c9af}.calendar-day.is-blocked small{color:#24583c}.calendar-day.is-outside{opacity:.42;cursor:not-allowed;background:#f1f3f0}.calendar-day.is-today span{display:inline-flex;align-items:center;justify-content:center;width:25px;height:25px;border-radius:50%;background:var(--ink);color:white}.calendar-legend{display:flex;gap:14px;flex-wrap:wrap;margin-top:10px;color:#587065;font-size:11px}.calendar-legend span{display:inline-flex;align-items:center;gap:5px}.calendar-swatch{display:inline-block;width:12px;height:12px;border:1px solid var(--line);border-radius:3px;background:white}.calendar-swatch.is-available{background:white}.calendar-swatch.is-blocked{background:#e4f0e6;border-color:#a9c9af}.calendar-swatch.is-outside{background:#f1f3f0;opacity:.7}.booking-contact{font-size:13px;color:#31584b;margin:6px 0}@media(max-width:600px){.calendar-toolbar{display:block}.calendar-month-nav{justify-content:space-between}.calendar-month-nav strong{min-width:0}.calendar-toolbar>label{margin-top:10px}.calendar-day{min-height:57px;padding:6px}.calendar-day small{font-size:9px}.calendar-weekdays span{padding:6px 2px}}
/* Visual advanced filter cards */
.advanced-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.filter-card{position:relative;display:flex;align-items:center;gap:10px;min-height:68px;padding:11px 12px;border:1px solid var(--line);border-radius:8px;background:white;cursor:pointer;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.filter-card:hover{border-color:#9fb9a4;transform:translateY(-1px);box-shadow:0 4px 14px #18352912}
.filter-card:has(input:checked){background:#e9f2e9;border-color:#79a987;box-shadow:inset 0 0 0 1px #79a987}
.filter-card input{position:absolute;opacity:0;pointer-events:none}
.filter-card-icon{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:50%;background:#e8efe8;color:var(--ink);font-size:20px;line-height:1}
.filter-card:has(input:checked) .filter-card-icon{background:var(--ink);color:white}
.filter-card>span:last-child{display:grid;gap:3px;min-width:0}
.filter-card b{font-size:12px;font-weight:600;color:var(--ink)}
.filter-card small{font-size:11px;color:#607568}
.owner-listing-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-left:auto}
.owner-listing-actions .chip{white-space:nowrap}
.availability-manager{max-width:980px}
.availability-manager .calendar-heading{margin-bottom:8px}
.availability-manager .calendar-toolbar{margin-top:12px}
.availability-manager .calendar-day.is-selected{background:#d9ebdc;color:#174a30;box-shadow:inset 0 0 0 2px #70a57d}
.availability-manager .calendar-day.is-selected small{color:#174a30}
.availability-bulk{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px;padding:16px;border:1px solid var(--line);border-radius:8px;background:#f7f9f5}
.availability-bulk label{display:grid;gap:6px;font-size:12px;color:#587065}
.availability-bulk input,.availability-bulk select{padding:10px;border:1px solid var(--line);border-radius:5px;background:white;font:inherit;color:var(--ink)}
.availability-bulk .bulk-actions{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.availability-bulk .field-note{grid-column:1/-1;margin:0}
@media(max-width:700px){.advanced-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.owner-listing-actions{width:100%;margin-left:0}.owner-listing-actions .chip{flex:1}.availability-bulk{grid-template-columns:1fr}}
@media(max-width:600px){.advanced-grid{grid-template-columns:1fr}.filter-card{min-height:60px}.availability-bulk .bulk-actions{display:grid;grid-template-columns:1fr}.availability-bulk .bulk-actions button{width:100%}}
/* Calendar refinements */
.calendar-toolbar{align-items:end;flex-wrap:wrap}
.calendar-property-switch{min-width:230px!important;flex:1}
.calendar-swatch.is-selected{background:#d9ebdc;border-color:#70a57d}
.availability-bulk{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:700px){.availability-bulk{grid-template-columns:1fr}}
/* Final visual polish */
.calendar-day.is-blocked{background:repeating-linear-gradient(135deg,#e7f1e8 0,#e7f1e8 7px,#c9dfcd 7px,#c9dfcd 9px);border-color:#a8c9ae;box-shadow:inset 0 0 0 1px #a8c9ae;color:#24583c}
.calendar-day.is-blocked small{font-weight:600;color:#24583c}
.calendar-swatch.is-blocked{background:repeating-linear-gradient(135deg,#e7f1e8 0,#e7f1e8 5px,#c9dfcd 5px,#c9dfcd 7px);border-color:#a8c9ae}
.owner-listing-actions .owner-action{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:9px 13px;border-radius:8px;background:#f4f8f3;border-color:#c9d8ca;transition:background .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease}
.owner-listing-actions .owner-action:hover{background:#e7f1e8;border-color:#8eb79a;box-shadow:0 4px 12px #18352912;transform:translateY(-1px)}
.owner-action .action-icon{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#dceadd;color:var(--ink);font-size:16px;line-height:1}
@media(max-width:700px){.owner-listing-actions .owner-action{justify-content:center}}
/* Occupant action cards */
.owner-actions-inline{align-items:flex-start;justify-content:flex-start}
.owner-actions-inline>.chip,.owner-actions-inline>.owner-action-panel{flex:0 1 auto}
.owner-contract-action,.owner-contact-action{display:inline-flex;align-items:center;gap:8px;min-height:52px;padding:9px 13px;border:1px solid #c9d8ca;border-radius:9px;background:#f5f8f4;color:var(--ink);text-decoration:none;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.owner-contract-action:hover,.owner-contact-action:hover{background:#e7f1e8;border-color:#8eb79a;box-shadow:0 4px 12px #18352912;transform:translateY(-1px)}
.owner-contract-action .action-icon,.owner-contact-action .action-icon{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;border-radius:50%;background:#dceadd;color:var(--ink);font-size:17px;line-height:1}
.owner-contact-copy{display:grid;gap:2px;text-align:left}
.owner-contact-copy b{font-size:12px;font-weight:600}
.owner-contact-copy small{font-size:10px;color:#587065}
.owner-action-panel{min-width:190px;align-self:flex-start}
.owner-action-panel summary{display:flex;align-items:center;gap:8px;min-height:30px;cursor:pointer;list-style:none;font-size:13px;font-weight:600}
.owner-action-panel summary::-webkit-details-marker{display:none}
.owner-action-panel summary:before{content:'ï¼‹';color:#587065;font-size:16px;line-height:1}
.owner-action-panel[open] summary:before{content:'âˆ’'}
.owner-action-panel summary .action-icon{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#e4eee4;color:var(--ink);font-size:13px;line-height:1}
.owner-action-panel:not([open]){padding:5px 9px;background:#f5f8f4;border-color:#c9d8ca}
.owner-action-panel[open]{padding:10px 12px;background:#f7f9f5}
@media(max-width:600px){.owner-actions-inline{display:flex;flex-direction:column;align-items:stretch}.owner-actions-inline>.chip,.owner-actions-inline>.owner-action-panel{width:100%}.owner-contract-action,.owner-contact-action{justify-content:flex-start}.owner-action-panel:not([open]){width:100%}}

/* Owner occupant action grid */
.owner-actions-inline{display:grid;grid-template-columns:repeat(2,minmax(190px,max-content));gap:8px 10px;align-items:start;justify-content:end;width:max-content;max-width:100%}
.owner-action-column{display:grid;gap:8px;min-width:190px}
.owner-action-column>.owner-contract-action,.owner-action-column>.owner-contact-action,.owner-action-column>.owner-action-panel{width:100%;box-sizing:border-box}
.owner-action-panel{min-width:0}
@media(max-width:700px){.owner-actions-inline{justify-content:end;margin-top:12px}.owner-action-column{min-width:180px}}
@media(max-width:600px){.owner-actions-inline{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.owner-action-column{min-width:0}.owner-action-column>.owner-contract-action,.owner-action-column>.owner-contact-action{min-width:0}.owner-contact-copy b{white-space:normal}}

/* Unified advanced filter icons and visual booking cards */
.filter-card-icon{color:var(--ink);font-weight:600}
.filter-card-icon svg{display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.filter-card-letter{font-size:16px;letter-spacing:-1px}
.filter-card:has(input:checked) .filter-card-icon{color:white}
.account-page .booking-card{display:grid;grid-template-columns:176px minmax(0,1fr) auto;align-items:stretch;gap:0;overflow:hidden;padding:0;background:white}
.account-page .booking-cover{min-height:236px;background:#e7eee7}
.account-page .booking-cover img{display:block;width:100%;height:100%;min-height:236px;object-fit:cover}
.account-page .booking-main{padding:21px 24px}
.account-page .booking-location{margin:0 0 7px!important;color:#587065!important;font-size:10px!important;font-weight:600;letter-spacing:1.7px;text-transform:uppercase}
.account-page .booking-title{margin:0 0 12px;font:400 24px/1.2 'Playfair Display',serif;color:var(--ink)}
.account-page .booking-card>.status-pill{align-self:start;margin:22px 18px 0 0}
@media(max-width:700px){.account-page .booking-card{grid-template-columns:140px minmax(0,1fr)}.account-page .booking-cover,.account-page .booking-cover img{min-height:205px}.account-page .booking-card>.status-pill{grid-column:2;margin:0 18px 18px 24px;justify-self:start}.account-page .booking-main{padding:18px 20px}}
@media(max-width:600px){.account-page .booking-card{display:block}.account-page .booking-cover,.account-page .booking-cover img{height:190px;min-height:190px}.account-page .booking-main{padding:18px}.account-page .booking-card>.status-pill{display:inline-block;margin:0 18px 18px}.account-page .booking-title{font-size:22px}}

/* Compact square thumbnails and equal owner action sizing */
.owner-listing-actions .owner-action{width:208px;min-width:208px;min-height:52px;height:52px;padding:9px 13px;box-sizing:border-box}
.owner-action-column>.owner-contract-action,.owner-action-column>.owner-contact-action{width:208px;min-width:208px;height:52px;box-sizing:border-box}
.occupant-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.occupant-title-row>div{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.reservation-id{font-size:11px;color:#587065;letter-spacing:.04em}.stay-line{margin-top:8px!important}.occupant-finance{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0 10px}.occupant-finance>div{display:grid;gap:3px;border:1px solid #dce5db;border-radius:7px;background:#f7faf6;padding:10px}.occupant-finance small{font-size:11px;color:#587065}.occupant-finance strong{font-size:17px}.payment-state{font-size:11px;color:#587065}.payment-state.is-paid{color:#24583c}.deposit-line{margin-top:8px!important}.owner-incident-summary{display:flex;align-items:center;gap:7px;background:#fff7e7;border:1px solid #e6c98f;border-radius:7px;padding:9px 10px;color:#6b5221}.owner-incident-summary .action-icon{background:#f1dcae;color:#6b5221}.owner-primary-actions{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 9px}.owner-primary-action{display:inline-flex;align-items:center;gap:7px;min-height:42px;background:#f4f8f3;border-color:#c9d8ca}.owner-primary-action:hover{background:#e7f1e8;border-color:#8eb79a}.owner-operational-panel{border:1px solid #dce5db;border-radius:8px;background:#f8faf7;margin:8px 0;padding:10px 12px}.owner-operational-panel summary{display:flex;align-items:center;min-height:24px;font-size:13px;color:var(--ink)}.owner-operational-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:12px 0}.owner-operational-grid>div{display:grid;gap:3px}.owner-operational-grid small{font-size:11px;color:#587065}.owner-operational-grid strong{font-size:13px}.owner-secondary-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:10px}.owner-message-box{width:100%;margin-top:10px;border:1px solid #bdc9bf;border-radius:6px;padding:9px;font:inherit}.payment-history{display:grid;gap:0;margin:10px 0}.payment-history>div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #e3eae1;font-size:13px}.checklist{display:grid;gap:8px;margin:11px 0;font-size:13px}.checklist label{display:flex;gap:8px;align-items:center}.checklist input{accent-color:var(--ink)}.document-list{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 14px;align-items:center;margin-top:10px;font-size:13px}.incident-help-summary{margin-top:5px;font-size:12px;color:#6b5221}.owner-action-panel .incident-help-summary{border-top:1px solid #e7ece5;padding-top:8px}.owner-action-panel .incident-help-summary+ p{margin:7px 0;font-size:12px}.owner-action-panel .incident-help-summary+ p+button{font-size:12px;padding:7px 10px}
.account-page .booking-card{grid-template-columns:108px minmax(0,1fr) auto}
.account-page .booking-cover{width:88px;height:88px;min-height:88px;margin:20px 0 0 20px;border-radius:8px;overflow:hidden}
.account-page .booking-cover img{width:88px;height:88px;min-height:88px;object-fit:cover}
.account-page .booking-main{padding:20px 24px 20px 12px}
@media(max-width:700px){.owner-listing-actions .owner-action{width:208px;min-width:0;flex:0 1 208px}.account-page .booking-card{grid-template-columns:108px minmax(0,1fr)}.account-page .booking-cover{margin:18px 0 0 18px}.account-page .booking-card>.status-pill{grid-column:2;margin:0 18px 18px 12px}.account-page .booking-main{padding:18px 18px 18px 12px}}
@media(max-width:600px){.owner-listing-actions .owner-action{width:100%;flex:1}.account-page .booking-card{display:grid;grid-template-columns:100px minmax(0,1fr)}.account-page .booking-cover{width:76px;height:76px;min-height:76px;margin:18px 0 0 14px}.account-page .booking-cover img{width:76px;height:76px;min-height:76px}.account-page .booking-main{padding:18px 14px 18px 10px}.account-page .booking-card>.status-pill{margin:0 14px 18px 10px}}
@media(max-width:700px){.occupant-finance{grid-template-columns:1fr 1fr}.owner-operational-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.occupant-finance{grid-template-columns:1fr}.owner-primary-actions{display:grid;grid-template-columns:1fr 1fr}.owner-primary-action{justify-content:center}.owner-operational-grid{grid-template-columns:1fr}.owner-secondary-actions{align-items:stretch}.owner-secondary-actions>*{flex:1}}

/* Account page booking thumbnail overrides */
#accountView .booking-card{display:grid;grid-template-columns:108px minmax(0,1fr) auto;align-items:stretch;gap:0;overflow:hidden;padding:0;background:white}
#accountView .booking-cover{width:88px;height:88px;min-height:88px;margin:20px 0 0 20px;border-radius:8px;overflow:hidden;background:#e7eee7}
#accountView .booking-cover img{display:block;width:88px;height:88px;min-height:88px;object-fit:cover}
#accountView .booking-main{padding:20px 24px 20px 12px}
#accountView .booking-card>.status-pill{align-self:start;margin:22px 18px 0 0}
@media(max-width:700px){#accountView .booking-card{grid-template-columns:108px minmax(0,1fr)}#accountView .booking-cover{margin:18px 0 0 18px}#accountView .booking-card>.status-pill{grid-column:2;margin:0 18px 18px 12px;justify-self:start}#accountView .booking-main{padding:18px 18px 18px 12px}}
@media(max-width:600px){#accountView .booking-card{display:grid;grid-template-columns:100px minmax(0,1fr)}#accountView .booking-cover{width:76px;height:76px;min-height:76px;margin:18px 0 0 14px}#accountView .booking-cover img{width:76px;height:76px;min-height:76px}#accountView .booking-main{padding:18px 14px 18px 10px}#accountView .booking-card>.status-pill{margin:0 14px 18px 10px}}

/* Listing controls and account booking interactions */
.owner-listing-actions{
  display:grid;
  grid-template-columns:repeat(2,208px);
  gap:8px;
  align-items:start;
  justify-content:end;
  margin-left:auto;
}
.owner-listing-actions .owner-action{
  width:208px;
  min-width:208px;
  min-height:52px;
  height:52px;
  box-sizing:border-box;
}
.account-booking-action{
  display:inline-flex;
  align-items:center;
  justify-content:flex-start;
  gap:8px;
  min-height:44px;
  padding:9px 13px;
  border:1px solid #c9d8ca;
  border-radius:9px;
  background:#f5f8f3;
  color:var(--ink);
  transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.account-booking-action:hover{
  background:#e7f1e8;
  border-color:#8eb79a;
  box-shadow:0 4px 12px #18352912;
  transform:translateY(-1px)
}
.account-booking-action .action-icon{
  display:grid;
  place-items:center;
  flex:0 0 26px;
  width:26px;
  height:26px;
  border-radius:50%;
  background:#dceadd;
  color:var(--ink);
  font-size:15px;
  line-height:1
}
.account-booking-action.danger-action{
  border-color:#e2b4aa;
  background:#fff7f5;
  color:#9f3427;
}
.account-booking-action.danger-action .action-icon{background:#f5d9d3;color:#9f3427;border:1px solid #e2b4aa;}
.booking-listing-link{cursor:pointer}
.booking-title-link{
  padding:0;
  text-align:left;
  font:inherit;
  color:inherit;
}
.booking-title-link:hover{text-decoration:underline;text-underline-offset:4px}
.booking-cover.booking-listing-link{
  display:block;
  border:0;
  padding:0;
  width:88px;
  height:88px;
  min-height:88px;
}
@media(max-width:700px){
  .owner-listing-actions{
    grid-template-columns:repeat(2,minmax(0,1fr));
    width:100%;
    margin-left:0;
  }
  .owner-listing-actions .owner-action{
    width:100%;
    min-width:0;
  }
}
@media(max-width:600px){
  .owner-listing-actions{grid-template-columns:1fr 1fr}
  .account-booking-action{min-height:42px;padding:8px 10px}
}

/* Account contact and equal-height listing cards */
#accountView .booking-policy{
  margin-top:14px;
  padding-top:11px;
  border-top:1px solid var(--line);
}
#accountView .account-email-action{justify-content:flex-start}
#accountView .account-contact-action{
  text-decoration:none;
}
#accountView .account-contact-action:hover{
  color:var(--ink);
}
.grid{
  align-items:stretch;
}
.grid .card{
  display:flex;
  flex-direction:column;
  height:100%;
}
.grid .card .price-row{
  margin-top:auto;
}

/* Aligned catalogue content and account action row */
.grid .card-meta{
  height:36px;
  min-height:36px;
  align-items:flex-start;
  line-height:1.35;
  overflow:hidden;
}
.grid .card h3{
  min-height:58px;
  line-height:1.25;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
}
.grid .card .rating-summary{
  min-height:21px;
}
.grid .card .features{
  min-height:42px;
  line-height:1.45;
}
#accountView .booking-actions{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  align-items:stretch;
  gap:8px;
}
#accountView .booking-actions .account-booking-action{
  width:100%;
  min-width:0;
  min-height:48px;
}
@media(max-width:900px){
  #accountView .booking-actions{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:600px){
  .grid .card-meta{height:auto;min-height:32px}
  .grid .card h3{min-height:55px}
  .grid .card .features{min-height:40px}
  #accountView .booking-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Account booking detail polish */
#accountView .booking-title{
  margin:0 0 12px;
  font:400 24px/1.2 'Playfair Display',serif;
  color:var(--ink);
}
#accountView .booking-summary-grid{
  display:grid;
  gap:8px;
  margin-top:12px;
}
#accountView .booking-counterpart-header{margin:0 0 10px;align-items:center;}
#accountView .booking-counterpart-header .booking-party-person{font-size:16px;font-weight:600;}
#accountView .booking-counterpart-header .booking-party-person img{width:40px;height:40px;}
#accountView .booking-counterpart-header .status-pill{font-size:11px;}
#accountView .booking-summary-grid--overview{grid-template-columns:repeat(5,minmax(0,1fr))}
#accountView .booking-summary-grid>div{
  min-width:0;
  border:1px solid #dce5dc;
  border-radius:8px;
  background:#f7faf6;
  padding:9px 11px;
}
#accountView .booking-summary-grid span{
  display:block;
  margin-bottom:4px;
  color:#6c8074;
  font-size:10px;
  letter-spacing:1.2px;
  text-transform:uppercase;
}
#accountView .booking-summary-grid strong{
  display:block;
  font-size:16px;
  font-weight:600;
  line-height:1.25;
}
#accountView .booking-summary-grid--overview>div:nth-child(1) strong,
#accountView .booking-summary-grid--overview>div:nth-child(2) strong{
  font:500 16px/1.2 'Playfair Display',serif;
  text-transform:capitalize;
}
#accountView .booking-summary-grid small{
  display:block;
  margin-top:3px;
  color:#6c8074;
  font-size:11px;
}
#accountView .booking-summary-address{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  column-gap:10px;
  row-gap:8px;
  margin-top:8px;
  padding:9px 11px;
  border:1px solid #dce5dc;
  border-radius:8px;
  background:#f7faf6;
}
#accountView .booking-summary-address>span{margin:0}
#accountView .booking-summary-address strong{overflow-wrap:anywhere}
#accountView .booking-summary-address .booking-map-action{justify-self:end}
#accountView .booking-summary-party{grid-template-columns:auto minmax(0,1fr)}
#accountView .booking-summary-party strong{min-width:0}
#accountView .booking-payment-item{display:flex;align-items:center;justify-content:space-between;gap:12px}
#accountView .booking-payment-copy{min-width:0}
#accountView .booking-payment-invoice-slot{display:flex;align-items:center;justify-content:space-between;gap:12px}
#accountView .booking-payment-invoice-slot>span{margin:0}
#accountView .booking-payment-invoice-slot .booking-invoice-action{flex:1 1 auto}
#accountView .booking-payment-copy strong{font-size:18px}
#accountView .booking-invoice-action{width:auto;min-height:40px;flex:0 0 auto;white-space:nowrap}
@media(max-width:900px){#accountView .booking-summary-grid--overview{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){
  #accountView .booking-summary-grid--overview{grid-template-columns:1fr}
  #accountView .booking-summary-address{grid-template-columns:auto minmax(0,1fr)}
  #accountView .booking-summary-address .booking-map-action{grid-column:2;justify-self:start}
}
@media(max-width:600px){
  #accountView .booking-title{font-size:22px}
  #accountView .booking-payment-item{align-items:flex-start;flex-wrap:wrap}
  #accountView .booking-invoice-action{width:100%}
}

#accountView .account-history{margin:22px 0 32px;border:1px solid var(--line);border-radius:8px;background:#f7faf6;overflow:hidden}
#accountView .account-history summary{padding:15px 18px;color:var(--ink);font-weight:600;cursor:pointer;list-style:none}
#accountView .account-history summary::-webkit-details-marker{display:none}
#accountView .account-history summary::before{content:'＋';display:inline-block;margin-right:8px;color:#6c8074}
#accountView .account-history[open] summary{border-bottom:1px solid var(--line)}
#accountView .account-history[open] summary::before{content:'−'}
#accountView .account-history #bookingHistory{padding:4px 18px 18px}
#accountView .booking-refund-note{margin:8px 0 0}
#accountView .booking-cancel-row{display:flex;justify-content:flex-end;margin-top:8px}
#accountView .booking-cancel-action{width:auto;min-height:40px}
/* Match tenant and owner WhatsApp actions */
#accountView .account-contact-action{
  justify-content:flex-start;
  text-align:left;
}
#accountView .account-contact-action .action-icon{
  flex:0 0 28px;
  width:28px;
  height:28px;
  font-size:17px;
}
#accountView .account-contact-action .owner-contact-copy{
  display:grid;
  gap:2px;
  min-width:0;
  text-align:left;
}
#accountView .account-contact-action .owner-contact-copy b{
  font-size:12px;
  font-weight:600;
}
#accountView .account-contact-action .owner-contact-copy small{
  font-size:10px;
  color:#587065;
}

.how-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:18px 0 20px}
.how-tab{border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);padding:12px 14px;font:600 14px/1.2 'DM Sans',sans-serif;cursor:pointer}
.how-tab.active{background:var(--ink);border-color:var(--ink);color:#fff}
.how-panel h3{margin:0 0 14px;font:600 24px/1.2 'Playfair Display',serif;color:var(--ink)}
.how-panel ol{display:grid;gap:14px;margin:0;padding-left:22px}
.how-panel li{padding-left:4px}
.how-panel li p{margin:4px 0 0;color:#526156}
.how-panel .demo-note{margin-top:18px}
@media(max-width:600px){.how-tabs{position:sticky;top:0;z-index:2;background:var(--paper);padding-top:4px}.how-panel h3{font-size:21px}}

/* Landlord listing filters reuse the advanced search cards */
.listing-filter-section{
  margin-top:20px;
  padding-top:4px;
}
.listing-filter-label{
  margin:0 0 8px;
  color:#526156;
  font-size:13px;
  font-weight:600;
}
.landlord-filter-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-top:8px;
}
.listing-filter-card{min-height:68px}
.listing-filter-card input[type=radio]{position:absolute;opacity:0;pointer-events:none}
@media(max-width:900px){.landlord-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.landlord-filter-grid{grid-template-columns:1fr}.listing-filter-section{margin-top:16px}}

/* Paired landlord choices use the available width */
.landlord-filter-grid.listing-choice-row{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
@media(max-width:600px){
  .landlord-filter-grid.listing-choice-row{grid-template-columns:1fr}
}

/* PublicaciÃ³n: mismas tarjetas visuales que los filtros avanzados */
.listing-filter-card{display:flex;align-items:center;gap:10px;min-height:68px}
.listing-filter-card .filter-card-icon{flex:0 0 34px}
.listing-filter-card>span:last-child{display:grid;gap:3px;min-width:0}
.listing-location-fields{margin-top:18px;padding-top:14px;margin-bottom:24px;border-top:1px solid var(--line)}#roomFields{margin-top:24px}
.location-grid{margin-top:8px}
.location-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:10px}
.location-actions .chip{display:inline-flex;align-items:center;gap:7px}
.location-actions .field-note{margin:0}

/* Compartir y enlaces de anuncios */
.share-listing{position:absolute;right:58px;top:14px;width:36px;height:36px;border-radius:50%;background:#ffffffed;font-size:20px;display:grid;place-items:center;color:var(--ink);z-index:1}.share-listing:hover{background:white;transform:translateY(-1px)}.share-listing:focus-visible{z-index:2}.owner-listing-link{padding:0;border:0;background:transparent;color:inherit;text-align:left;text-decoration:none}.owner-listing-image-link{display:block;flex:0 0 auto;line-height:0}.owner-listing-title-link{font:inherit;line-height:inherit}.owner-listing-title-link:hover{text-decoration:underline;text-underline-offset:4px}.admin-main table .danger-action{margin-left:8px}

/* Acciones y medios destacados dentro del anuncio */
.detail-actions{display:flex;justify-content:flex-end;gap:8px;margin:10px 0 4px}
.detail-icon-action{width:40px;height:40px;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--ink);font-size:22px;display:grid;place-items:center;cursor:pointer}
.detail-icon-action:hover{background:var(--ink);color:#fff}
.listing-extras{border-top:1px solid var(--line);margin-top:18px;padding-top:18px}
.listing-extras h3{font-size:21px;margin:0 0 12px}
.listing-extra-grid{display:flex;gap:12px;align-items:flex-start;flex-wrap:wrap}
.listing-video{width:min(100%,520px);max-height:300px;border-radius:8px;background:#172d26}
.listing-media-display{height:340px;margin:0 0 12px;overflow:hidden;border-radius:8px;background:#e8ede7}.listing-media-display .listing-carousel{height:100%;margin-bottom:0}.listing-media-display .listing-media-panel{height:100%;box-sizing:border-box;margin:0;padding:0;border:0;border-radius:0;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden}.listing-media-tabs{display:flex;gap:10px;align-items:center;margin:0 0 16px;padding:4px;border:1px solid var(--line);border-radius:12px;background:#f4f7f2}
.media-tab{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;flex:1;padding:9px 15px;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--ink);font:600 14px 'DM Sans',sans-serif;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}
.media-tab span:first-child{font-size:18px;line-height:1;color:#27614e}.media-tab:hover:not(:disabled){background:#fff;border-color:var(--line)}.media-tab.active{background:var(--ink);color:#fff;box-shadow:0 2px 8px #1835291f}.media-tab.active span:first-child{color:#d9e9d8}.media-tab:disabled{color:#9aa79d;cursor:not-allowed}.media-tab:disabled span:first-child{color:#aab5ac}
.listing-media-panel{margin:0 0 18px;padding:16px;border:1px solid var(--line);border-radius:10px;background:#f7f9f5}.listing-media-panel[hidden]{display:none}.media-video{display:block;width:100%;height:calc(100% - 28px);max-height:none;margin:0 auto;object-fit:contain;background:#172d26}.media-plan-link{display:flex;width:100%;height:100%;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--ink);font-weight:600;text-decoration:none}.media-plan-image{display:block;width:100%;height:calc(100% - 28px);max-height:none;object-fit:contain;border-radius:8px;background:#fff;border:1px solid var(--line);padding:12px}.media-plan-link span{font-size:14px;color:#27614e}
.listing-media-uploader{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}
.listing-media-uploader>div{border:1px dashed #a8b8ac;border-radius:8px;padding:14px;background:#f7f9f5}
.listing-media-uploader label{margin-bottom:6px!important}
@media(max-width:600px){.listing-media-uploader{grid-template-columns:1fr}.detail-actions{justify-content:flex-start}.listing-media-tabs{gap:5px;margin-left:-2px;margin-right:-2px}.media-tab{min-height:40px;padding:8px 6px;font-size:13px}.media-tab span:first-child{font-size:16px}.listing-media-display{height:230px}.listing-media-display .media-video{height:calc(100% - 26px)}.listing-media-display .media-plan-image{height:calc(100% - 26px)}}

/* Ficha: tipo y precio junto a las acciones */
.detail-topline{justify-content:space-between;align-items:center}
.detail-type-label{font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:#526156;font-weight:600}
.detail-actions-right{display:flex;align-items:center;gap:8px}
.detail-price{font-family:inherit;font-size:18px;color:var(--ink);white-space:nowrap;margin-right:4px}
.detail-price small{font-size:12px;font-weight:500;color:#587065}
@media(max-width:600px){.detail-topline{align-items:flex-start;gap:12px}.detail-type-label{font-size:12px}.detail-actions-right{gap:6px}.detail-price{font-size:16px}.detail-icon-action{width:38px;height:38px}}

/* Buscador de destino: provincia, localidad, ciudad o barrio */
.search input[type=search]{width:100%;border:0;background:white;color:var(--ink);font-size:14px;outline-offset:1px}
.search input[type=search]::placeholder{color:#9aa39b}
.search input[type=search]:focus-visible{outline:3px solid #b5853b;outline-offset:3px}

/* Sugerencias de destino compactas y alineadas con el campo */
.location-search{position:relative;z-index:5}
.admin-award-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.location-search #country{margin:0 0 7px;padding:0;color:var(--ink)}.location-suggestions{position:absolute;left:24px;right:24px;top:calc(100% - 1px);display:grid;background:white;border:1px solid #daddd4;border-top:0;border-radius:0 0 7px 7px;box-shadow:0 12px 22px #18352918;overflow:hidden;z-index:30}
.location-suggestion{width:100%;padding:10px 12px;text-align:left;background:white;border-top:1px solid #eef1eb;font-size:14px;color:var(--ink)}
.location-suggestion:hover,.location-suggestion:focus-visible{background:#f0f5ef;outline:0}
@media(max-width:600px){.admin-award-fields{grid-template-columns:1fr}.location-suggestions{left:10px;right:10px}}

.search input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none;width:16px;height:16px;margin-left:8px;cursor:pointer;background:center/16px 16px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='7' fill='%23e4eee4'/%3E%3Cpath d='m5 5 6 6M11 5 5 11' stroke='%23203d35' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E")}

/* Selector de idioma */
.language-switch{display:flex;align-items:center}.language-switch select{appearance:none;border:1px solid var(--line);border-radius:6px;background:#f4f7f2;color:var(--ink);font:600 11px 'DM Sans',sans-serif;letter-spacing:.08em;padding:8px 22px 8px 9px;cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,var(--ink) 50%),linear-gradient(135deg,var(--ink) 50%,transparent 50%);background-position:calc(100% - 10px) 12px,calc(100% - 6px) 12px;background-size:4px 4px,4px 4px;background-repeat:no-repeat}.language-switch select:focus-visible{outline:3px solid #b5853b;outline-offset:3px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:600px){.language-switch select{padding:7px 20px 7px 7px}.header-actions{gap:8px}}

/* Mobile owner actions fit the viewport without horizontal scrolling */
@media(max-width:600px){
  .owner-actions-inline{width:100%;max-width:100%;grid-template-columns:repeat(2,minmax(0,1fr));}
  .owner-action-column{min-width:0;width:100%;}
  .owner-action-column>.owner-contract-action,
  .owner-action-column>.owner-contact-action{width:100%;min-width:0;max-width:100%;}
}

/* Stack mobile owner actions in balanced rows */
@media(max-width:600px){
  .owner-actions-inline{display:grid;grid-template-columns:1fr;gap:8px;}
  .owner-action-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
  .owner-action-column:first-child .owner-action-panel{grid-column:auto;}
  .owner-action-column:nth-child(2) .owner-action-panel{grid-column:1/-1;}
}

/* Ficha pública a página completa: contenido flexible y desglose de pago fijo a la derecha. */
.listing-page{width:100%;max-width:1800px;margin:0 auto;padding:24px clamp(20px,4vw,72px) 72px;min-height:calc(100vh - 100px)}
.listing-page-topbar{display:flex;align-items:center;justify-content:flex-start;margin-bottom:18px}
.listing-page-back{position:static;display:inline-flex;align-items:center;gap:8px;width:auto;height:auto;padding:9px 14px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font-size:14px;line-height:1;box-shadow:0 2px 8px #18352912}
.listing-page-back:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.listing-page-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,clamp(360px,27vw,480px));gap:clamp(28px,4vw,64px);align-items:start}
.listing-page-content{min-width:0}
.listing-page-booking{min-width:0;align-self:start;position:sticky;top:24px}
.listing-page-booking .booking{margin:0;box-shadow:0 12px 34px #18352912}
.listing-page-booking .booking h3{font-size:clamp(25px,2vw,32px)}
.listing-page-booking .booking-fields{grid-template-columns:1fr}
.listing-page-booking .costs>div{align-items:flex-start}
.listing-page-content>h2{font-size:clamp(34px,3.5vw,56px);line-height:1.08;margin:14px 0 10px;letter-spacing:-1px}
.listing-page-content>p:not(.eyebrow):not(.rating-summary):not(.policy-note){max-width:850px;line-height:1.7}
.listing-page-content .listing-carousel{width:100%;margin-bottom:22px}
.listing-page-content .carousel-stage img{height:min(58vh,620px);min-height:420px}
.listing-page-content .listing-media-display{height:min(58vh,620px);min-height:420px}
.listing-page-content .listing-media-tabs{width:100%;max-width:none}
.listing-page-content .listing-extras{max-width:none}
.listing-page-content .billing-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1100px){.listing-page{padding-inline:28px}.listing-page-layout{grid-template-columns:minmax(0,1fr) minmax(320px,38%);gap:28px}}
@media(max-width:850px){.listing-page{padding:20px 20px 56px}.listing-page-layout{grid-template-columns:1fr;gap:28px}.listing-page-booking{position:static;order:2}.listing-page-content .carousel-stage img,.listing-page-content .listing-media-display{height:min(62vw,520px);min-height:300px}.listing-page-content .listing-carousel{grid-template-columns:36px minmax(0,1fr) 36px}.listing-page-content .billing-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.listing-page{padding:14px 16px 42px;min-height:calc(100vh - 78px)}.listing-page-topbar{margin-bottom:12px}.listing-page-back{padding:9px 12px}.listing-page-content .carousel-stage img,.listing-page-content .listing-media-display{height:230px;min-height:230px}.listing-page-content .listing-carousel{grid-template-columns:34px minmax(0,1fr) 34px;gap:6px}.listing-page-content .billing-grid{grid-template-columns:1fr}.listing-page-content>h2{font-size:34px}.listing-page-booking .booking{padding:16px}}

/* Desglose de pago compacto con información bajo demanda. */
.booking-stay-rules,.booking-proration,.demo-note{display:flex;align-items:flex-start;gap:8px}
.booking-stay-rules>span,.booking-proration>span,.demo-note>span{flex:1;min-width:0}
.booking-proration{font-size:13px;color:#526156;margin:4px 0 14px}
.booking .demo-note{align-items:center;margin-top:16px}
.costs dt{display:flex;align-items:flex-start;gap:7px;min-width:0}
.costs dt>span:first-child{min-width:0}
.info-tip{position:relative;display:inline-grid;flex:0 0 auto;place-items:center;width:20px;height:20px;padding:0;border:1px solid #a8bcae;border-radius:50%;background:#e5eee5;color:var(--ink);font:700 12px/1 Georgia,serif;cursor:help}
.info-tip:hover,.info-tip:focus-visible{background:var(--ink);border-color:var(--ink);color:#fff;outline:0}
.info-tip::after{content:attr(data-tooltip);position:absolute;right:0;top:calc(100% + 8px);z-index:80;width:min(280px,calc(100vw - 44px));padding:10px 12px;border:1px solid #c8d6ca;border-radius:8px;background:#203d35;color:#fff;box-shadow:0 8px 22px #18352935;font:400 12px/1.45 'DM Sans',sans-serif;text-align:left;white-space:normal;opacity:0;visibility:hidden;transform:translateY(-3px);transition:opacity .15s ease,transform .15s ease,visibility .15s ease;pointer-events:none}
.info-tip:hover::after,.info-tip:focus-visible::after{opacity:1;visibility:visible;transform:translateY(0)}
.payment-info-compact{display:flex;justify-content:flex-end;align-items:center;margin:8px 0 0;min-height:20px}.payment-info-compact .info-tip{margin-left:auto}.payment-details{margin-top:14px;border-top:1px solid var(--line);padding-top:12px}
.payment-details summary{display:flex;align-items:center;gap:7px;font-size:13px}
.payment-details-copy{margin-top:7px}
.payment-details-copy .field-note{display:flex;align-items:flex-start;gap:7px;margin:0 0 7px;font-size:12px;line-height:1.4}
.payment-details-copy>p:not(.field-note){margin:6px 0;font-size:13px;line-height:1.45}
@media(max-width:600px){.info-tip::after{right:auto;left:0}.costs dt{gap:5px}.booking-stay-rules,.booking-proration{font-size:14px}}

/* Mobile listing header: keep image/title together and put actions on their own row */
@media(max-width:600px){
  .owner-listing-head{display:grid;grid-template-columns:90px minmax(0,1fr);gap:12px;align-items:start;}
  .owner-listing-head>.owner-listing-actions{grid-column:1/-1;display:grid;width:100%;margin-left:0;grid-template-columns:repeat(2,minmax(0,1fr));}
  .owner-listing-head>.owner-listing-actions .owner-action{width:100%;min-width:0;}
}

/* Compact operational controls: closed panels read as action buttons, open content floats over the card */
.occupant-card{position:relative;}
.owner-operational-panel{display:inline-block;vertical-align:top;box-sizing:border-box;width:calc(20% - 8px);margin:6px 3px 0;padding:0;border:0;background:transparent;position:static;}
.owner-operational-panel summary{display:flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:9px 10px;border:1px solid #c9d8ca;border-radius:9px;background:#f4f8f3;color:var(--ink);font-size:12px;font-weight:600;cursor:pointer;list-style:none;text-align:center;}
.owner-operational-panel summary::-webkit-details-marker{display:none;}
.owner-operational-panel summary:before{content:'ï¼‹';font-size:15px;color:#587065;}
.owner-operational-panel[open]{position:absolute;left:12px;right:12px;top:50%;z-index:30;width:auto;max-height:min(70vh,520px);overflow:auto;padding:14px;border:1px solid #c9d8ca;border-radius:10px;background:#fff;box-shadow:0 18px 44px #1835292e;transform:translateY(-50%);}
.owner-operational-panel[open] summary{justify-content:flex-start;padding:0 0 10px;border:0;border-bottom:1px solid #dce5db;border-radius:0;background:transparent;text-align:left;}
.owner-operational-panel[open] summary:before{content:'âˆ’';}
@media(max-width:900px){.owner-operational-panel{width:calc(33.333% - 8px);}}
@media(max-width:600px){.owner-operational-panel{width:calc(50% - 8px);margin:5px 3px 0;}.owner-operational-panel summary{min-height:44px;padding:8px 7px;font-size:12px;}.owner-operational-panel[open]{left:8px;right:8px;max-height:72vh;padding:12px;}}

/* One normalized action row; operational details open only from these controls */
.occupant-card{display:block;position:relative;}
.owner-primary-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;width:100%;margin:14px 0 10px;}
.owner-primary-action{width:100%;min-height:48px;justify-content:center;padding:9px 10px;border-radius:8px;text-align:center;}
.owner-operational-panel:not([open]){display:none;}
.owner-operational-panel:not([open]) summary{display:none;}
.owner-operational-panel[open]{display:block;}
@media(max-width:1000px){.owner-primary-actions{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:600px){.owner-primary-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}.owner-primary-action{min-height:46px;}}

/* Keep the primary owner actions visually uniform across languages */
.owner-primary-action{height:52px;line-height:1.15;overflow-wrap:anywhere;}
@media(max-width:600px){.owner-primary-action{height:52px;}}

/* Reservation details read as an inline expandable card instead of covering the stay summary */
.owner-operational-panel[open]{position:static;left:auto;right:auto;top:auto;width:100%;max-height:none;overflow:visible;margin:12px 0 4px;padding:15px 17px;transform:none;border:1px solid #c9d8ca;border-radius:10px;background:#f8faf7;box-shadow:0 5px 18px #18352916;animation:owner-panel-in .16s ease-out;}
.owner-operational-panel[open] summary{margin:0 0 12px;padding:0 0 10px;}
@keyframes owner-panel-in{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}


/* Owner secondary actions mirror the four primary columns */
.owner-secondary-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;width:100%;max-width:none;margin:10px 0 0;align-items:stretch;}
.owner-secondary-grid>.owner-secondary-action{width:100%;min-width:0;box-sizing:border-box;min-height:52px;}
.owner-secondary-grid>.owner-secondary-action:not([open]){display:block!important;padding:0!important;border:0;background:transparent;}
.owner-secondary-grid>.owner-secondary-action:not([open])>summary{height:52px;min-height:52px;box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:7px;padding:9px 10px;border:1px solid #c9d8ca;border-radius:8px;background:#f4f8f3;color:var(--ink);font-size:12px;font-weight:600;line-height:1.15;text-align:center;cursor:pointer;}
.owner-secondary-grid>.owner-secondary-action:not([open])>summary::-webkit-details-marker{display:none;}
.owner-secondary-grid>.owner-secondary-action:not([open])>summary:before{content:'ï¼‹';font-size:15px;color:#587065;}
.owner-secondary-grid>.owner-secondary-action[open]{height:auto;padding:12px;border:1px solid #c9d8ca;border-radius:9px;background:#f7f9f5;}
.owner-secondary-grid>.owner-secondary-action[open]>summary{display:flex;align-items:center;gap:7px;margin:0 0 10px;padding:0 0 9px;border:0;border-bottom:1px solid #dce5db;background:transparent;text-align:left;}
.owner-secondary-grid>.owner-secondary-action[open]>summary::-webkit-details-marker{display:none;}
.owner-secondary-grid>.owner-secondary-action[open]>summary:before{content:'âˆ’';font-size:15px;color:#587065;}
.owner-secondary-grid>button.owner-secondary-action{display:flex;align-items:center;justify-content:center;gap:7px;height:52px;padding:9px 10px;border-radius:8px;text-align:center;line-height:1.15;}
.owner-contact-inline{min-height:52px;}
@media(max-width:1000px){.owner-secondary-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:600px){.owner-secondary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}.owner-secondary-grid>.owner-secondary-action:not([open])>summary,.owner-secondary-grid>button.owner-secondary-action{height:52px;min-height:52px;padding:8px 7px;font-size:12px;}.owner-contact-inline{width:100%;}}

/* Owner action cards use one intentional icon column; hide the legacy disclosure glyph. */
.owner-secondary-grid>.owner-secondary-action>summary:before,
.owner-secondary-grid>.owner-secondary-action>summary>.owner-expand-icon{display:none!important;content:none!important;width:0!important;min-width:0!important;margin:0!important;padding:0!important;}
.owner-secondary-grid>.owner-secondary-action>summary{display:grid!important;grid-template-columns:28px minmax(0,1fr)!important;justify-content:stretch!important;text-align:left!important;}
.owner-secondary-grid>.owner-secondary-action>summary>.action-icon{grid-column:1!important;}
.owner-secondary-grid>.owner-secondary-action>summary>.owner-action-title{grid-column:2!important;}
.admin-invoice-toolbar{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:14px 0 18px;padding:12px;border:1px solid #dce5db;border-radius:10px;background:#f7faf6;}
.admin-invoice-toolbar label{min-width:240px;display:grid;gap:5px;}
.admin-invoice-toolbar select{min-height:40px;}
@media(max-width:600px){.owner-secondary-grid>.owner-secondary-action>summary{grid-template-columns:24px minmax(0,1fr)!important;}.admin-invoice-toolbar label{min-width:100%;}.admin-invoice-toolbar .primary{width:100%;}}


/* Direct WhatsApp action in the primary reservation row */
.owner-primary-contact{display:flex;align-items:center;justify-content:center;gap:8px;color:var(--ink);text-decoration:none;}
.owner-primary-contact .action-icon{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;border-radius:50%;background:#dceadd;color:var(--ink);font-size:16px;line-height:1;}
.owner-primary-contact .owner-contact-copy{display:grid;gap:1px;text-align:left;min-width:0;}
.owner-primary-contact .owner-contact-copy b{font-size:12px;font-weight:600;white-space:normal;}
.owner-primary-contact .owner-contact-copy small{font-size:11px;color:#587065;white-space:nowrap;}
.owner-secondary-grid>.owner-secondary-action:not([open])>summary{overflow-wrap:anywhere;}
@media(max-width:600px){.owner-primary-contact .owner-contact-copy b{font-size:11px;}.owner-primary-contact .owner-contact-copy small{font-size:10px;}}


/* Keep every secondary card on the same grid baseline in both states */
.owner-secondary-grid{align-items:stretch;}
.owner-secondary-grid>.owner-secondary-action{align-self:stretch;margin:0!important;}
.owner-secondary-grid>.owner-secondary-action:not([open]){height:52px;}
.owner-secondary-grid>.owner-secondary-action[open]{min-height:52px;}


/* Stretch every secondary card to the row height while one of them is open */
.owner-secondary-grid:has(>.owner-secondary-action[open])>.owner-secondary-action{height:100%;min-height:52px;}
.owner-secondary-grid:has(>.owner-secondary-action[open])>.owner-secondary-action>summary{min-height:52px;}


/* Flex row guarantees equal heights for open and closed secondary cards */
.owner-secondary-grid{display:flex!important;flex-wrap:wrap;align-items:stretch;gap:8px;width:100%;}
.owner-secondary-grid>.owner-secondary-action{flex:1 1 calc(25% - 6px);max-width:calc(25% - 6px);height:auto!important;min-height:52px;}
.owner-secondary-grid>.owner-secondary-action:not([open]){height:52px!important;}
.owner-secondary-grid:has(>.owner-secondary-action[open])>.owner-secondary-action{height:auto!important;}
@media(max-width:1000px){.owner-secondary-grid>.owner-secondary-action{flex-basis:calc(50% - 4px);max-width:calc(50% - 4px);}}
@media(max-width:600px){.owner-secondary-grid>.owner-secondary-action{flex-basis:calc(50% - 4px);max-width:calc(50% - 4px);}}


/* Secondary card actions sit at the bottom and use the same green primary style */
.owner-secondary-grid>.owner-secondary-action[open]{display:flex!important;flex-direction:column;}
.owner-secondary-grid>.owner-secondary-action[open]>form{display:flex;flex:1;flex-direction:column;gap:8px;min-height:0;}
.owner-secondary-grid>.owner-secondary-action[open]>form>button.primary,.owner-secondary-submit{width:100%;min-height:40px;margin-top:auto;box-sizing:border-box;}
.owner-secondary-submit{display:inline-flex;align-items:center;justify-content:center;}

/* Final owner action grid: mirror the primary row columns exactly. */
.owner-secondary-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important;width:100%!important;max-width:none!important;margin:10px 0 0!important;align-items:stretch!important;box-sizing:border-box!important;}
.owner-secondary-grid>.owner-secondary-action{display:flex!important;flex:initial!important;width:100%!important;max-width:none!important;min-width:0!important;box-sizing:border-box!important;margin:0!important;align-self:stretch!important;}
.owner-secondary-grid>.owner-secondary-action:not([open]){display:block!important;height:52px!important;min-height:52px!important;padding:0!important;border:0!important;background:transparent!important;}
.owner-secondary-grid>.owner-secondary-action[open]{height:auto!important;min-height:0!important;flex-direction:column!important;padding:12px!important;}
.owner-secondary-grid>.owner-secondary-action[open]>summary{flex:0 0 auto!important;}
.owner-secondary-grid>.owner-secondary-action[open]>p{margin:0 0 10px!important;}
.owner-secondary-grid>.owner-secondary-action[open]>form{display:flex!important;flex:1 1 auto!important;flex-direction:column!important;gap:8px!important;min-height:0!important;}
.owner-secondary-grid>.owner-secondary-action[open]>form>button.primary,.owner-secondary-grid>.owner-secondary-action[open]>.owner-secondary-submit,.owner-secondary-submit{width:100%!important;min-height:40px!important;margin-top:auto!important;align-self:stretch!important;box-sizing:border-box!important;}
.owner-secondary-grid>.owner-secondary-action[open]>p.field-note{flex:1 1 auto!important;}
.owner-secondary-grid>.owner-secondary-action[open]{position:relative!important;}
.owner-secondary-grid>.owner-secondary-action[open]>.owner-secondary-submit{position:absolute!important;left:12px;right:12px;bottom:20px;width:auto!important;margin:0!important;}
.owner-secondary-grid>.owner-secondary-action[open]>form>button.primary{position:absolute!important;left:12px;right:12px;bottom:20px;width:auto!important;margin:0!important;}
.owner-secondary-grid>.owner-secondary-action[open]>form{padding-bottom:52px!important;}
@media(max-width:1000px){.owner-secondary-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}}
.owner-secondary-grid>.owner-secondary-action:not([open])>summary{display:grid!important;grid-template-columns:16px 28px minmax(0,1fr)!important;justify-content:initial!important;justify-items:start!important;gap:6px!important;text-align:left!important;padding:8px 9px!important;}
.owner-secondary-grid>.owner-secondary-action:not([open])>summary:before{grid-column:1;grid-row:1;justify-self:center;width:16px;text-align:center;}
.owner-secondary-grid>.owner-secondary-action:not([open])>summary>.action-icon{grid-column:2;grid-row:1;width:28px;height:28px;margin:0!important;}
.owner-secondary-grid>.owner-secondary-action:not([open])>summary>span:last-child{grid-column:3;grid-row:1;min-width:0;text-align:left;overflow-wrap:anywhere;}
.owner-date-proposal{display:grid;gap:9px;margin-top:14px;padding:14px;border:1px solid #dce5db;border-radius:8px;background:#fff;}
.owner-date-proposal[hidden]{display:none!important;}
.owner-date-proposal label{display:grid;gap:5px;font-size:13px;}
.owner-date-proposal .primary{width:100%;}
.owner-request-status,.owner-date-request{border:1px solid #dce5db;background:#f5f8f3;border-radius:8px;padding:12px;line-height:1.6;}
.admin-queue-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0 28px;}
.admin-queue-card{display:grid;gap:9px;padding:16px;border:1px solid #d2ddd0;border-radius:9px;background:#f4f8f3;color:var(--ink);text-decoration:none;}
.admin-queue-card strong{font:32px 'Playfair Display',serif;}.admin-queue-card small{color:#53665d;}
.admin-activity-list{border-top:1px solid #e4e6df;}.admin-activity-row{display:grid;grid-template-columns:180px 100px 1fr 180px;gap:12px;padding:12px 4px;border-bottom:1px solid #e4e6df;align-items:center;font-size:13px;}.admin-activity-row time,.admin-activity-row small{color:#71766f;}
.admin-incident-photos{display:flex;gap:8px;margin:8px 0;}.admin-incident-photos img{width:78px;height:58px;object-fit:cover;border-radius:5px;border:1px solid #dce5db;}
.case-attachments{margin:20px 0;}.case-attachments .photo-preview img{height:130px;max-width:200px;object-fit:cover;}
@media(max-width:850px){.admin-queue-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.admin-activity-row{grid-template-columns:1fr 1fr;}}
@media(max-width:600px){.owner-secondary-grid>.owner-secondary-action:not([open])>summary{grid-template-columns:12px 24px minmax(0,1fr)!important;gap:5px!important;padding:7px 5px!important;font-size:11px!important;}.owner-secondary-grid>.owner-secondary-action:not([open])>summary>.action-icon{width:24px;height:24px;}.admin-queue-grid{grid-template-columns:1fr 1fr;}.admin-activity-row{grid-template-columns:1fr;gap:4px;}.owner-date-proposal{padding:10px;}}
footer .footer-menu a{font-size:14px;text-decoration:underline;text-underline-offset:4px;color:var(--ink);}

footer .footer-menu{flex-wrap:wrap;max-width:100%;min-width:0;gap:8px 14px;}

/* Owner actions use explicit, identical tracks so every title begins at the same x position in either state. */
.owner-secondary-grid>.owner-secondary-action>summary{display:grid!important;grid-template-columns:16px 28px minmax(0,1fr)!important;grid-template-rows:minmax(0,1fr)!important;align-items:center!important;justify-content:initial!important;justify-items:start!important;gap:6px!important;padding:7px 9px!important;text-align:left!important;}
.owner-secondary-grid>.owner-secondary-action>summary:before{display:none!important;content:none!important;}
.owner-secondary-grid>.owner-secondary-action>summary>.owner-expand-icon{grid-column:1;grid-row:1;display:grid!important;place-items:center;width:16px;height:24px;color:#587065;font-size:15px;line-height:1;}
.owner-secondary-grid>.owner-secondary-action:not([open])>summary>.owner-expand-icon:before{content:'ï¼‹';}
.owner-secondary-grid>.owner-secondary-action[open]>summary>.owner-expand-icon:before{content:'âˆ’';}
.owner-secondary-grid>.owner-secondary-action>summary>.action-icon{grid-column:2;grid-row:1;display:grid;place-items:center;width:28px;height:28px;margin:0!important;}
.owner-secondary-grid>.owner-secondary-action>summary>.owner-action-title{grid-column:3;grid-row:1;display:block;min-width:0;width:100%;justify-self:stretch;text-align:left;overflow-wrap:anywhere;}
.owner-secondary-grid>.owner-secondary-action:not([open])>summary{margin:0!important;padding:7px 9px!important;}
.owner-secondary-grid>.owner-secondary-action[open]>summary{margin:0 0 10px!important;padding:0 0 9px!important;}
.owner-secondary-grid>.owner-secondary-action:not([open])>summary.incident-help-summary{margin:0!important;padding:7px 9px!important;border-top:0!important;font-size:12px!important;color:var(--ink)!important;}
.owner-secondary-grid>.owner-secondary-action[open]>summary.incident-help-summary{margin:0 0 10px!important;padding:0 0 9px!important;border-top:0!important;border-bottom:1px solid #dce5db!important;font-size:13px!important;color:var(--ink)!important;}
.admin-directory-grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:10px!important;width:100%!important;min-width:0!important;}
.admin-directory-row{width:100%!important;max-width:none!important;min-width:0!important;box-sizing:border-box!important;}
.admin-section>.admin-directory-grid,.admin-section>.table-wrap{width:100%;max-width:none;}
.admin-period-filter{display:flex;align-items:end;gap:10px;flex-wrap:wrap;width:100%;box-sizing:border-box;margin:0 0 15px;padding:12px;border:1px solid var(--line);border-radius:8px;background:#f4f7f2;}
.admin-period-filter label{display:grid;gap:5px;min-width:150px;font-size:12px;color:#587065;}
.admin-period-filter select{width:100%;padding:9px 10px;border:1px solid #bdc9bf;border-radius:5px;background:white;color:var(--ink);font:inherit;}
.admin-period-filter [data-period-reset]{min-height:38px;}
.admin-period-filter [data-period-count]{margin:0 0 9px auto;}
.admin-section [data-admin-period-item][hidden]{display:none!important;}
.admin-financials{margin:28px 0 34px;padding:22px;border:1px solid var(--line);border-radius:10px;background:#f4f7f2;}
.admin-financials .section-heading{margin-bottom:14px;}
.admin-tax-selector{display:grid;gap:5px;min-width:190px;color:#587065;font-size:12px;}
.admin-tax-selector select{width:100%;padding:9px 10px;border:1px solid var(--line);border-radius:5px;background:#fff;color:var(--ink);font:inherit;}
.admin-financials h3{margin:0;}
.admin-financial-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}
.admin-financial-row+.admin-financial-row{margin-top:10px;}
.admin-financial-card{min-width:0;padding:15px;border:1px solid var(--line);border-radius:8px;background:#fff;}
.admin-financial-card strong,.admin-financial-card span,.admin-financial-card small{display:block;}
.admin-financial-card strong{font:24px Georgia,serif;color:var(--ink);}
.admin-financial-card span{margin-top:5px;color:var(--ink);font-size:13px;}
.admin-financial-card small{margin-top:4px;color:#587065;font-size:12px;}
.admin-financial-chart-wrap{margin-top:22px;padding-top:18px;border-top:1px solid var(--line);}
.admin-financial-chart{height:210px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:18px;padding:10px 8px 0;border-bottom:1px solid #b9c9bd;}
.admin-financial-bar-item{height:100%;display:grid;grid-template-rows:25px minmax(0,1fr) 24px;align-items:end;text-align:center;min-width:0;}
.admin-financial-bar-value{font-size:12px;color:#587065;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.admin-financial-bar-track{height:100%;display:flex;align-items:end;justify-content:center;min-height:0;}
.admin-financial-bar{display:block;width:min(56px,70%);min-height:8px;border-radius:6px 6px 0 0;background:#1d4a3f;box-shadow:0 0 0 1px rgba(29,74,63,.08);}
.admin-financial-bar-item strong{font-size:13px;color:#587065;}
.admin-user-tools select{width:100%;padding:10px;border:1px solid var(--line);border-radius:5px;background:white;font:inherit;}
.admin-user-tools{grid-template-columns:minmax(0,1fr) minmax(150px,.65fr) minmax(0,1.2fr);}
@media(max-width:600px){.owner-secondary-grid>.owner-secondary-action>summary{grid-template-columns:12px 24px minmax(0,1fr)!important;gap:5px!important;padding:7px 5px!important;font-size:11px!important;}.owner-secondary-grid>.owner-secondary-action:not([open])>summary.incident-help-summary{padding:7px 9px!important;font-size:11px!important;}.owner-secondary-grid>.owner-secondary-action>summary>.owner-expand-icon{width:12px;}.owner-secondary-grid>.owner-secondary-action>summary>.action-icon{width:24px;height:24px;}.admin-period-filter{display:grid;grid-template-columns:1fr 1fr;gap:8px;}.admin-period-filter label{min-width:0;}.admin-period-filter [data-period-reset]{grid-column:1;}.admin-period-filter [data-period-count]{grid-column:2;align-self:center;margin:0;text-align:right;}}
@media(max-width:700px){.admin-financials{padding:16px;}.admin-financials .section-heading{align-items:stretch;flex-wrap:wrap;}.admin-tax-selector{width:100%;order:3;}.admin-financial-row{grid-template-columns:1fr;}.admin-financial-chart{gap:8px;height:190px;padding-left:0;padding-right:0;}.admin-financial-bar{width:58%;}.admin-financial-bar-value{font-size:11px;}}
.account-logout.primary,.booking-map-action.primary{display:inline-flex;align-items:center;gap:8px}.account-logout.primary .action-icon,.booking-map-action.primary .action-icon{font-size:16px}.owner-payout-security{margin-top:12px;padding:14px;border:1px solid var(--line);border-radius:8px;background:#f4f7f2}.owner-payout-security label{display:grid;gap:6px;font-size:13px;margin:10px 0}.owner-payout-security input{font:inherit;padding:10px;border:1px solid #bdc9bf;border-radius:5px;background:#fff}.generated-room-identifiers{display:grid;grid-template-columns:1fr 1fr;gap:6px 14px;padding:12px;background:#f4f7f2;border:1px dashed var(--line);border-radius:7px;margin:0 0 16px}.generated-room-identifiers span{font-size:11px;color:#587065;text-transform:uppercase;letter-spacing:.08em}.generated-room-identifiers strong{font-size:14px}@media(max-width:600px){.generated-room-identifiers{grid-template-columns:1fr}}
.detail-location-map{border-top:1px solid var(--line);margin-top:24px;padding-top:20px}.detail-location-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:12px}.detail-location-heading h3{font-size:22px;margin:0}.detail-location-heading .eyebrow{margin:0 0 6px}.detail-location-canvas{position:relative;height:230px;overflow:hidden;border:1px solid var(--line);border-radius:9px;background:#e7ece8}.detail-location-canvas .leaflet-container{height:100%;width:100%;font-family:'DM Sans',sans-serif}.detail-map-loading{position:absolute;inset:0;display:grid;place-items:center;color:var(--muted);font-size:13px;z-index:2}.detail-location-map>.field-note{margin:9px 0 0;font-size:12px}@media(max-width:600px){.detail-location-heading{display:block}.detail-location-heading .field-note{display:block;margin-top:5px}.detail-location-canvas{height:190px}}
.advanced-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.detail-map-controls{position:absolute;right:10px;top:10px;z-index:500;display:grid;gap:6px}.detail-map-controls button{width:34px;height:34px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink);font-size:20px;line-height:1;box-shadow:0 2px 7px #18352920;cursor:pointer}.detail-map-controls button:hover{background:var(--ink);color:#fff}@media(max-width:1000px){.advanced-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.advanced-grid{grid-template-columns:1fr}.detail-map-controls{right:8px;top:8px}.detail-map-controls button{width:31px;height:31px;font-size:18px}}
/* Availability search, public calendars and responsive full-width catalogue */
main{max-width:none;padding-inline:clamp(24px,3vw,64px)}
header,footer{padding-inline:clamp(24px,3vw,64px)}
.grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:32px 24px}
.results-layout{grid-template-columns:minmax(0,1.8fr) minmax(480px,1fr);gap:32px}
.map-surface{min-height:560px}
.advanced-priority-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px 18px;margin:15px 0;padding-bottom:15px;border-bottom:1px solid var(--line)}
.advanced-priority-grid .filter-card{min-height:74px}
.availability-field{min-width:145px}
.availability-field input{width:100%;border:1px solid var(--line);border-radius:999px;background:var(--paper);padding:12px 14px;font:inherit;color:var(--ink)}
.public-availability{margin:34px 0;padding:24px;border:1px solid var(--line);border-radius:18px;background:var(--wash)}
.public-availability-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}
.public-availability-head h3{margin:0 0 5px}
.public-availability-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));margin-top:8px}
.public-availability .calendar-day{min-height:58px;align-items:flex-start;justify-content:space-between;padding:8px}
.public-availability .calendar-day small{font-size:.68rem;line-height:1.15}
.public-availability .calendar-day.is-blocked{background:repeating-linear-gradient(135deg,rgba(82,153,112,.12) 0 5px,rgba(82,153,112,.02) 5px 10px)}
.public-availability .calendar-day.is-outside{opacity:.45}
.calendar-import-export{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:16px 0 10px}
@media(max-width:1250px){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}.results-layout{grid-template-columns:minmax(0,1.45fr) minmax(400px,.9fr)}.advanced-priority-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1100px){.search{flex-wrap:wrap}.search .availability-field{flex:1 1 150px}.results-layout{grid-template-columns:1fr}.map-panel{position:static;order:-1}.map-surface{min-height:420px}}
@media(max-width:900px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.advanced-priority-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.public-availability-head{align-items:flex-start;flex-direction:column}}
@media(max-width:600px){main{padding-inline:16px}header,footer{padding-inline:16px}.grid{grid-template-columns:1fr}.advanced-priority-grid{grid-template-columns:1fr}.availability-field{flex:1 1 45%;min-width:130px}.public-availability{padding:14px;border-radius:14px}.public-availability .calendar-day{min-height:50px;padding:5px}.public-availability .calendar-day small{font-size:.58rem}}
/* Taller map column, six-column filters and richer stay date cards */
.results-layout{align-items:stretch}
.map-panel{height:100%;min-height:calc(100vh - 40px);display:flex;flex-direction:column}
.map-surface{flex:1;min-height:0}
.advanced-grid,.advanced-priority-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
.booking-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.booking-fields label,.owner-date-proposal label{display:grid;gap:8px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(145deg,#f8fbf7,#eef5ef);font-size:12px;font-weight:600;color:#587065;letter-spacing:.03em}
.booking-fields input[type=date],.owner-date-proposal input[type=date]{width:100%;border:0;border-bottom:2px solid #b9cfbd;background:transparent;padding:5px 0;color:var(--ink);font:600 19px Georgia,serif;letter-spacing:0}
.booking-fields input[type=date]:focus,.owner-date-proposal input[type=date]:focus{outline:0;border-bottom-color:var(--ink)}
.stay-calendar-summary{display:grid;grid-template-columns:minmax(130px,1fr) 1fr minmax(130px,1fr);align-items:center;gap:14px;margin:16px 0;padding:17px 18px;border:1px solid #bed5c3;border-radius:16px;background:linear-gradient(115deg,#edf6ee,#f8fbf7);color:var(--ink)}
.stay-calendar-summary small{display:block;color:#587065;font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.stay-calendar-summary strong{display:block;margin-top:4px;font:600 20px Georgia,serif}
.stay-calendar-line{height:5px;border-radius:99px;background:linear-gradient(90deg,#b3d2ba,#20483c,#b3d2ba);box-shadow:0 0 0 4px #dfece1}

@media(max-width:1100px){.map-panel{height:auto;min-height:0}.map-surface{min-height:420px}.advanced-grid,.advanced-priority-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:900px){.advanced-grid,.advanced-priority-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stay-calendar-summary{grid-template-columns:1fr}.stay-calendar-line{height:4px}}
@media(max-width:600px){.booking-fields{grid-template-columns:1fr}.booking-fields label,.owner-date-proposal label{padding:12px}.booking-fields input[type=date],.owner-date-proposal input[type=date]{font-size:17px}.advanced-grid,.advanced-priority-grid{grid-template-columns:1fr}.map-surface{min-height:300px}}
#resetFilters{align-self:stretch;width:100%;min-width:145px;min-height:42px;padding:11px 18px;border:1px solid var(--ink)!important;border-radius:6px!important;background:var(--ink)!important;color:#fff!important;font:600 13px 'DM Sans',sans-serif!important;white-space:nowrap;text-align:center}
#resetFilters:hover{background:#16382f!important;border-color:#16382f!important}
@media(max-width:760px){#resetFilters{width:100%;min-width:0}}

.search>label>span,.search>.budget-control>span{display:block;font:600 11px/1.2 'DM Sans',sans-serif!important;letter-spacing:.08em;text-transform:uppercase;color:#587065!important;margin-bottom:8px!important}

/* Viewport-aware map and semantically grouped priority filters */
.map-panel{height:calc(100vh - 40px);height:calc(100dvh - 40px);min-height:0;max-height:calc(100vh - 40px);max-height:calc(100dvh - 40px);display:flex;flex-direction:column}
.amenity-icon svg{display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.advanced-priority-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.45fr);gap:18px;margin:15px 0;padding-bottom:15px;border-bottom:1px solid var(--line)}
.priority-filter-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px 12px;min-width:0}
.priority-filter-group.priority-deposit{grid-template-columns:repeat(3,minmax(0,1fr))}
.priority-filter-heading{grid-column:1/-1;margin:0;padding:0 2px;color:var(--ink);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.priority-filter-group .filter-card{min-height:74px}
@media(max-width:1100px){.map-panel{height:auto;max-height:none;min-height:0}.advanced-priority-grid{grid-template-columns:1fr 1.25fr}}
@media(max-width:900px){.advanced-priority-grid{grid-template-columns:1fr}.priority-filter-group.priority-deposit{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.priority-filter-group,.priority-filter-group.priority-deposit{grid-template-columns:1fr}}
/* Date filters keep the native calendar easy to open while matching Kudiwa's visual language. */
.availability-field{display:grid;gap:7px;min-width:145px;cursor:pointer}
.availability-field span{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#587065}
.availability-field input{width:100%;border:1px solid #c8d8cb;border-radius:14px;background:linear-gradient(145deg,#f8fbf7,#eef5ef);padding:12px 14px;font:600 16px Georgia,serif;color:var(--ink);cursor:pointer;box-shadow:0 2px 0 rgba(31,65,53,.05)}
.availability-field input:focus{outline:3px solid #b8cdbb;outline-offset:2px;border-color:var(--ink)}
.availability-field input::-webkit-calendar-picker-indicator{opacity:.75;cursor:pointer;filter:sepia(.3) saturate(.6)}
.advanced-section-heading{grid-column:1/-1;margin:19px 0 6px;padding-top:2px;color:var(--ink);font-family:'DM Sans',sans-serif;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
@media(max-width:700px){.availability-field{min-width:0}.availability-field input{font-size:15px}.advanced-section-heading{margin-top:14px}}
/* Custom calendar and responsive date controls */
.has-custom-calendar{position:relative;z-index:30}.has-custom-calendar.calendar-open{z-index:90}.has-custom-calendar>input{position:relative;z-index:1}.has-custom-calendar>input::-webkit-calendar-picker-indicator{opacity:0;position:absolute;right:8px;width:28px;height:28px;cursor:pointer}.date-picker-popover{position:absolute;left:0;right:0;top:calc(100% + 8px);width:100%;min-width:260px;z-index:80;background:#fbfcf9;border:1px solid #c7d8ca;border-radius:16px;box-shadow:0 16px 38px #18352922;padding:12px}.date-picker-header{display:grid;grid-template-columns:34px 1fr 34px;align-items:center;gap:8px}.date-picker-nav,.date-picker-action{border:1px solid #bfd0c2;background:#e6f0e7;color:var(--ink);border-radius:10px;min-height:34px}.date-picker-nav:hover,.date-picker-action:hover{background:#cfe1d2}.date-picker-month{text-align:center;text-transform:capitalize;font-weight:700}.date-picker-weekdays,.date-picker-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.date-picker-weekdays{margin:12px 0 5px;color:#6c7f72;font-size:11px;text-align:center}.date-picker-day{min-height:32px;border-radius:9px;border:1px solid transparent;background:transparent;color:var(--ink)}.date-picker-day:hover{background:#dfece1}.date-picker-day.is-other-month{color:#9aaa9d}.date-picker-day.is-selected{background:var(--ink);color:white}.date-picker-day.is-today{box-shadow:inset 0 0 0 2px #9fbeaa}.date-picker-footer{display:flex;justify-content:space-between;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid #dce7dd}.date-picker-action{padding:7px 12px;font-size:12px}.heart[aria-pressed=true]{color:#b84242;font-weight:700;transform:none}
@media(max-width:600px){.date-picker-popover{min-width:0}.date-picker-day{min-height:36px}}
.date-picker-popover{min-width:0}


/* Search and advanced filters: keep every control readable at every width. */
.search{display:grid;grid-template-columns:minmax(220px,1.35fr) minmax(160px,.85fr) minmax(230px,1.2fr) minmax(145px,.8fr) minmax(145px,.8fr) auto;align-items:stretch;gap:0;padding:8px}
.search>label,.search>.budget-control{min-width:0;padding:10px 18px;border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:center}
.search .location-search{display:grid;grid-template-columns:minmax(94px,.7fr) minmax(0,1.3fr);column-gap:12px;align-items:end}
.search .location-search>span{grid-column:1/-1}
.search .location-search #country{margin:0;padding:0}
.search .location-search input{min-width:0;width:100%}
.search .secondary{align-self:center;white-space:nowrap;min-width:122px;margin:0 4px;padding:12px 16px;border:1px solid #c8d8cb;border-radius:999px;background:#eef5ef;color:var(--ink);font:600 13px 'DM Sans',sans-serif}
.search .secondary:hover{background:#dfece1;border-color:#94b29b}
.search .availability-field input{min-width:0}
.advanced-priority-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.45fr);gap:18px;margin:16px 0 8px;padding-bottom:18px}
.priority-filter-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;align-content:start}
.priority-filter-group.priority-deposit{grid-template-columns:repeat(3,minmax(0,1fr))}
.advanced-section-heading{font-family:'DM Sans',sans-serif!important;font-size:12px!important;font-weight:700!important;letter-spacing:.14em!important;line-height:1.2!important;text-transform:uppercase;margin:18px 0 7px!important;color:var(--ink)!important}
.priority-filter-group>.advanced-section-heading{grid-column:1/-1;margin:0 0 1px!important}
#advancedFilters>.advanced-section-heading{display:block}
#advancedFilters .advanced-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px 12px}
#advancedFilters .filter-card{min-height:68px;padding:10px;gap:9px}
#advancedFilters .filter-card-icon{flex-basis:31px;width:31px;height:31px;font-size:18px}
@media(max-width:1200px){.search{grid-template-columns:minmax(280px,1.35fr) minmax(150px,.8fr) minmax(210px,1fr) minmax(130px,.7fr) minmax(130px,.7fr) auto}.search .location-search{grid-template-columns:minmax(105px,.85fr) minmax(0,1.15fr)}}
@media(max-width:1350px){.search{grid-template-columns:minmax(190px,1.3fr) minmax(150px,.8fr) minmax(200px,1.1fr) repeat(2,minmax(130px,.8fr)) auto}#advancedFilters .advanced-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1100px){.search{grid-template-columns:repeat(3,minmax(0,1fr));gap:0}.search .location-search{grid-column:span 2}.search>.budget-control{grid-column:span 1}.search .secondary{grid-column:1/-1;justify-self:end;margin:8px 4px 2px;width:max-content}.advanced-priority-grid{grid-template-columns:1fr 1.5fr}}
@media(max-width:760px){.search{grid-template-columns:repeat(2,minmax(0,1fr));padding:6px}.search .location-search{grid-column:1/-1}.search>.budget-control{grid-column:1/-1}.search>label,.search>.budget-control{padding:10px 12px}.search .secondary{width:100%;margin:8px 0 0}.advanced-priority-grid{grid-template-columns:1fr}.priority-filter-group,.priority-filter-group.priority-deposit{grid-template-columns:repeat(2,minmax(0,1fr))}#advancedFilters .advanced-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:450px){.search{grid-template-columns:1fr}.search .location-search{grid-template-columns:1fr 1.2fr}.search .availability-field{grid-column:1/-1}.priority-filter-group,.priority-filter-group.priority-deposit,#advancedFilters .advanced-grid{grid-template-columns:1fr}}
/* Calendar fills the available content width while staying responsive. */
#landlordView{width:100%;max-width:none}
#landlordView>.owner-intro,#landlordView>.availability-manager{width:100%;max-width:none}
.availability-manager{max-width:none!important;width:100%;padding:clamp(16px,2.5vw,30px);box-sizing:border-box}
.availability-manager .calendar-heading{width:100%}
.availability-manager .availability-calendar-grid{width:100%}
.availability-manager .calendar-days,.availability-manager .calendar-weekdays{grid-template-columns:repeat(7,minmax(0,1fr))}
@media(max-width:700px){.availability-manager{padding:14px 0}.availability-manager .calendar-heading,.availability-manager .calendar-toolbar,.availability-manager .calendar-legend,.availability-manager .availability-bulk{margin-left:0;margin-right:0}.availability-manager .calendar-day{min-height:52px;padding:7px 4px;font-size:13px}}

/* Owner calendar: keep the calendar broad and place all editing controls in a
   separate sticky panel, matching the booking layout used on listing pages. */
.availability-manager-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,380px);gap:24px;align-items:start;margin-top:18px}
.availability-calendar-column{min-width:0}
.availability-calendar-column .calendar-toolbar{margin-top:0;padding-top:0;border-top:0}
.availability-calendar-column .calendar-month-nav{justify-content:flex-start}
.availability-settings-panel{position:sticky;top:22px;min-width:0;padding:22px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(145deg,#f7faf5,#eef5ee);box-shadow:0 12px 28px #18352912}
.availability-settings-panel h3{margin:5px 0 18px;font:600 23px Georgia,serif;color:var(--ink)}
.calendar-settings-fields{display:grid;gap:14px}
.calendar-settings-fields>label{display:grid;gap:6px;font-size:12px;color:#587065}
.calendar-settings-fields select,.calendar-settings-fields input{width:100%;box-sizing:border-box;padding:11px 12px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);font:inherit}
.availability-settings-panel .availability-bulk{display:grid;gap:12px;margin:0;padding:14px;border:1px solid #d6e2d6;border-radius:12px;background:#fff}
.availability-settings-panel .availability-bulk>label{display:grid;gap:6px;font-size:12px;color:#587065}
.availability-settings-panel .calendar-import-export{margin:2px 0 0}
.availability-settings-panel .bulk-actions{display:grid;gap:8px}
.availability-settings-panel .bulk-actions button{width:100%}
.availability-settings-panel .calendar-import-export button{flex:1}
@media(max-width:980px){.availability-manager-layout{grid-template-columns:minmax(0,1fr) minmax(270px,330px);gap:16px}.availability-settings-panel{padding:18px}}
@media(max-width:760px){.availability-manager-layout{grid-template-columns:1fr;gap:18px}.availability-settings-panel{position:static;order:2}.availability-calendar-column{order:1}.availability-manager .calendar-day{min-height:58px}}

/* Localised upload control hides browser-native wording while retaining the input. */
.file-upload-control{position:relative;display:grid;gap:8px;cursor:pointer}
.file-upload-control input[type=file]{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.file-upload-button{display:inline-flex;align-items:center;justify-content:center;width:max-content;min-height:38px;padding:0 14px;border:1px solid var(--line);border-radius:999px;background:#eef5ef;color:var(--ink);font:600 13px 'DM Sans',sans-serif}
.file-upload-control:hover .file-upload-button{background:#dfece1;border-color:#94b29b}

/* At laptop widths the destination needs a real minimum so both location
   controls remain legible instead of collapsing into the neighbouring fields. */
@media(min-width:1101px) and (max-width:1350px){
 .search{grid-template-columns:minmax(0,1.35fr) minmax(0,.8fr) minmax(0,1fr) repeat(2,minmax(0,.75fr)) auto}
 .search .location-search{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)}
}

/* All advanced filter group labels share one visual treatment. */
#advancedFilters>.advanced-section-heading,
#advancedFilters .priority-filter-group>.advanced-section-heading{font-family:'DM Sans',sans-serif!important;font-size:12px!important;font-weight:700!important;line-height:1.2!important;letter-spacing:.14em!important;text-transform:uppercase!important;color:var(--ink)!important}

/* Keep the catalogue cards compact when the map column is taller. */
.results-layout{align-items:start}
.grid .card{height:100%}

/* Align every search label from the same top baseline. */
.search>label,.search>.budget-control{justify-content:flex-start}
.search>label>span,.search>.budget-control>span,.search .availability-field>span{min-height:14px;line-height:1.2}
.search .location-search{align-items:start}
.search .location-search>span{align-self:start}

/* Keep the custom date picker readable on narrow screens and aligned with its seven-day grid. */
.date-picker-popover{right:auto;max-width:calc(100vw - 32px);box-sizing:border-box}
.date-picker-weekdays,.date-picker-days{grid-template-columns:repeat(7,minmax(30px,1fr));min-width:238px}

/* Keep the map usable when a tile provider is slow or unavailable. */
.map-surface.map-tiles-fallback{background-color:#eaf2ed;background-image:linear-gradient(35deg,transparent 47%,#cbded0 48%,#cbded0 50%,transparent 51%),linear-gradient(118deg,transparent 47%,#cbded0 48%,#cbded0 50%,transparent 51%),linear-gradient(#fff8 1px,transparent 1px),linear-gradient(90deg,#fff8 1px,transparent 1px);background-size:100% 100%,100% 100%,42px 42px,42px 42px}
.map-surface.map-tiles-fallback .leaflet-tile-pane{opacity:0}
.map-fallback-grid{position:absolute;inset:0;background:radial-gradient(circle at 25% 30%,#d8e9dd 0 11%,transparent 12%),radial-gradient(circle at 72% 60%,#d8e9dd 0 14%,transparent 15%)}
.map-fallback-marker{position:absolute;transform:translate(-50%,-50%);z-index:3;border:2px solid #fff;border-radius:18px;padding:6px 10px;background:var(--ink);color:#fff;box-shadow:0 3px 10px #18352945;font:600 12px 'DM Sans',sans-serif;white-space:nowrap;cursor:pointer}
.map-fallback-marker:hover{background:#b5853b}
.date-picker-day.is-disabled{color:#b8c2b9;cursor:not-allowed;opacity:.6}

.map-fallback-layer{position:absolute;inset:0;z-index:0;pointer-events:auto}
.map-surface.leaflet-ready .map-fallback-layer{display:none}
.map-surface.map-tiles-fallback .map-fallback-layer{display:block!important}
.map-fallback-grid{transition:transform .18s ease;transform-origin:50% 50%}
.map-fallback-world{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:.9}.map-fallback-world path{fill:#d7e9dd;stroke:#b8d0bf;stroke-width:3;stroke-linejoin:round}.map-fallback-world text{fill:#789084;font:600 16px 'DM Sans',sans-serif;letter-spacing:1px;text-transform:uppercase}

/* Public listing availability: Spotahome-inspired two-year overview */
.public-availability{margin:34px 0;padding:26px;border:1px solid var(--line);border-radius:18px;background:var(--wash)}
.public-availability-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}
.public-availability-head h3{margin:0 0 4px;font-size:clamp(1.45rem,2vw,2rem)}
.public-availability-head .eyebrow{margin:0 0 6px;letter-spacing:.16em}
.availability-month-nav{display:flex;align-items:center;gap:8px}
.availability-month-nav .chip{min-width:38px;height:38px;padding:0;border-color:var(--line);background:#fff;color:var(--ink);font-size:1.25rem}
.availability-range{min-width:88px;text-align:center;font-weight:700;color:var(--muted)}
.public-availability-layout{display:grid;grid-template-columns:minmax(210px,.72fr) minmax(0,1.9fr);gap:30px;align-items:start}
.public-availability-summary{border-top:1px solid var(--line)}
.public-availability-summary-row{padding:15px 0;border-bottom:1px solid var(--line)}
.public-availability-summary-row span{display:block;color:var(--muted);font-size:.83rem;line-height:1.35}
.public-availability-summary-row strong{display:block;margin-top:5px;font-size:1.16rem;line-height:1.3}
.public-availability-months{min-width:0}
.public-availability-year{margin-bottom:20px}
.public-availability-year h4{margin:0 0 8px;font-family:var(--serif);font-size:1.3rem;font-weight:500}
.public-availability-month-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:2px;background:#fff}
.public-availability-month{min-height:45px;display:flex;align-items:center;justify-content:center;padding:9px 6px;background:#f0f2f3;border:1px solid #fff;text-align:center;color:var(--ink);font-size:.86rem}
.public-availability-month.is-available{background:#c4e9de}
.public-availability-month.is-occupied{background:repeating-linear-gradient(135deg,#f3d3d3 0 6px,#fae8e8 6px 11px)}
.public-availability-month.is-partial{background:linear-gradient(135deg,#c4e9de 0 48%,#f3d3d3 48% 100%)}
.public-availability-month.is-unavailable{background:#f0f2f3;color:#81908b}
.public-availability-legend{display:flex;flex-wrap:wrap;gap:18px;margin-top:18px;color:var(--muted);font-size:.83rem}
.public-availability-legend span{display:inline-flex;align-items:center;gap:7px}
.availability-swatch{display:inline-block;width:18px;height:18px;border-radius:2px;background:#c4e9de;border:1px solid rgba(32,80,67,.12)}
.availability-swatch.is-occupied{background:repeating-linear-gradient(135deg,#f3d3d3 0 6px,#fae8e8 6px 11px)}
.availability-swatch.is-partial{background:linear-gradient(135deg,#c4e9de 0 48%,#f3d3d3 48% 100%)}
@media (max-width:700px){.public-availability{padding:20px}.public-availability-layout{grid-template-columns:1fr;gap:20px}.public-availability-month-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.public-availability-month{min-height:40px}.public-availability-head{align-items:flex-start;flex-direction:column;gap:12px}}
@media (max-width:430px){.public-availability-month-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.public-availability-month{font-size:.78rem;padding:8px 4px}}

/* Compact public availability summary */
.public-availability-head h3{font-size:clamp(1.2rem,1.8vw,1.65rem)}
.public-availability-summary-row span{font-size:.72rem;letter-spacing:.01em}
.public-availability-summary-row strong{font-size:.96rem;margin-top:3px}

/* Mobile info tooltips float above content without affecting panel width. */
@media(max-width:600px){.info-tip::after{position:fixed;left:50%;right:auto;bottom:16px;top:auto;width:min(280px,calc(100vw - 32px));max-width:calc(100vw - 32px);transform:translate(-50%,4px);z-index:1000}.info-tip:hover::after,.info-tip:focus-visible::after{transform:translate(-50%,0)}}

.detail-icon-action[aria-pressed=true]{color:#b84242}.detail-icon-action[aria-pressed=true]:hover{background:#fff4f0;color:#b84242}

/* Map water backdrop keeps the global view cohesive while tiles load or sit outside land. */
.map-surface,.leaflet-container{background-color:#b8dbe3}.map-loading{background:#b8dbe3}.map-surface.map-tiles-fallback{background-color:#b8dbe3;background-image:linear-gradient(35deg,transparent 47%,#a8ccd5 48%,#a8ccd5 50%,transparent 51%),linear-gradient(118deg,transparent 47%,#a8ccd5 48%,#a8ccd5 50%,transparent 51%),linear-gradient(#ffffff55 1px,transparent 1px),linear-gradient(90deg,#ffffff55 1px,transparent 1px)}.map-surface.map-tiles-fallback .map-fallback-world path{fill:#dcefe7;stroke:#a5c9bd}

/* Keep catalogue actions identical at every breakpoint. */
.grid .price-row{gap:12px}.grid .card .view{flex:0 0 auto;min-height:42px;padding:11px 14px;font-size:13px;white-space:nowrap}.grid .card .share-listing{width:36px;height:36px;top:14px;right:58px;font-size:20px}
@media(max-width:600px){.grid .price-row{gap:12px;align-items:center}.grid .card .view{min-height:42px;padding:11px 14px;font-size:13px;white-space:nowrap}.grid .card .share-listing{width:36px;height:36px;top:14px;right:58px;font-size:20px}}
/* Responsive catalogue polish and two-way map/card hover state. */
.grid .card{transition:transform .18s ease,box-shadow .18s ease}
.grid .card.is-hovered{transform:translateY(-2px)}
.grid .card.is-hovered .photo{box-shadow:0 0 0 3px #b5853b88,0 8px 18px #1835291f}
.map-price-icon,.map-fallback-marker{transition:background-color .16s ease,transform .16s ease,box-shadow .16s ease}
.map-price-icon{position:relative}
.map-price-icon.is-hovered,.map-fallback-marker.is-hovered{background:#b5853b;transform:translate(-50%,-50%) scale(1.14);z-index:12;box-shadow:0 5px 14px #18352955}
@media(max-width:600px){
  .grid .card{height:auto}
  .grid .card .price-row{margin-top:17px}
  .grid .card .view{border-radius:5px;background:var(--ink);color:#fff;min-height:42px;padding:11px 14px;font-size:13px;font-weight:600;line-height:1.2;white-space:nowrap}
  .grid .card .share-listing{font-family:'DM Sans',sans-serif;font-size:20px;font-weight:500;line-height:1}
}
.map-price-icon.is-hovered{transform:scale(1.14)}
/* Make the linked listing feel like one interactive tile. */
.grid .card{position:relative;cursor:pointer}
.grid .card.is-hovered{background:#eef5ef;border-radius:14px;outline:3px solid #b5853b;outline-offset:7px;box-shadow:0 16px 32px #18352930;transform:translateY(-4px) scale(1.008);z-index:4}
.grid .card.is-hovered .photo{box-shadow:0 0 0 2px #205043,0 8px 18px #18352930}
@media(max-width:600px){.grid .card.is-hovered{outline-offset:5px;transform:translateY(-3px) scale(1.004)}}
/* Neutral listing highlight: gold frame with breathing room, without the green wash. */
.grid .card.is-hovered{background:#fff;outline-color:#b5853b;outline-offset:11px;box-shadow:0 16px 32px #18352922}
.grid .card.is-hovered .photo{box-shadow:0 0 0 2px #b5853b,0 8px 18px #18352922}
@media(max-width:600px){.grid .card.is-hovered{outline-offset:8px}}
.grid .card.is-hovered{background:#fff!important}
.grid .card.is-hovered .card-meta,.grid .card.is-hovered h3,.grid .card.is-hovered .rating-summary,.grid .card.is-hovered .features,.grid .card.is-hovered .price-row{background:#fff}

/* Keep the hover card's breathing room white so the gold focus ring is clean. */
.grid .card.is-hovered{background:#fff!important;box-shadow:0 0 0 10px #fff,0 16px 32px #18352922}
.grid .card.is-hovered .card-meta,.grid .card.is-hovered h3,.grid .card.is-hovered .rating-summary,.grid .card.is-hovered .features,.grid .card.is-hovered .price-row{background:#fff!important}
@media(max-width:600px){.grid .card.is-hovered{box-shadow:0 0 0 7px #fff,0 16px 32px #18352922}}

/* Booking mode is shown as a compact icon on catalogue photos. */
.badge.badge-icon{width:34px;height:34px;display:grid;place-items:center;padding:0;border-radius:50%;font-size:17px;font-weight:600;line-height:1;box-shadow:0 2px 8px #1835291c}
.badge.badge-instant{color:#b5853b}.badge.badge-request{color:var(--ink)}
@media(max-width:600px){.badge.badge-icon{width:32px;height:32px;font-size:16px}}

/* Keep catalogue cards readable at narrow zoom widths. The whole card remains
   clickable, so the repeated bottom CTA is intentionally omitted. */
.grid .card-meta{
  height:auto;
  min-height:30px;
  margin-top:10px;
  gap:4px 12px;
  justify-content:flex-start;
  flex-wrap:wrap;
}
.grid .card-meta span{min-width:0;overflow-wrap:anywhere}
.grid .card h3{margin-top:4px}
.grid .card .price-row{
  justify-content:flex-start;
  align-items:baseline;
  gap:0;
  flex-wrap:wrap;
}
.grid .card .price-row>div{
  min-width:0;
  display:flex;
  align-items:baseline;
  gap:5px;
  flex-wrap:wrap;
}
.grid .card .price-row strong{white-space:nowrap}

/* Owner calendar settings stay compact, readable and aligned with the calendar column. */
.availability-manager-layout{align-items:stretch}
.availability-calendar-column{display:flex;flex-direction:column;min-height:0}
.availability-calendar-column .availability-calendar-grid{flex:0 0 auto}
.availability-settings-panel{align-self:stretch;height:100%;box-sizing:border-box;display:flex;flex-direction:column;overflow:visible;padding:24px;background:linear-gradient(145deg,#f8fbf7,#edf5ee);box-shadow:0 14px 30px #18352916}
.availability-settings-panel .eyebrow{margin-bottom:10px;color:#587065}
.availability-settings-panel h3{margin:0 0 22px;max-width:16ch;font-size:clamp(22px,2.3vw,29px);line-height:1.12;letter-spacing:-.3px}
.availability-settings-panel .calendar-settings-fields{display:flex;flex-direction:column;gap:20px;flex:1;min-height:0}
.availability-settings-panel .calendar-property-switch{flex:0 0 auto!important;display:grid;gap:8px;padding:14px 15px;border:1px solid #d6e2d6;border-radius:12px;background:#fff;font-size:12px;color:#587065}
.availability-settings-panel .calendar-property-switch select{min-height:46px;padding:11px 12px;border:1px solid #cfdccf;border-radius:9px;background:#fbfdfb;font-size:14px}
.availability-settings-panel .availability-range-card,.availability-settings-panel .availability-actions-card{padding:16px;border:1px solid #d6e2d6;border-radius:12px;background:#fff}
.availability-settings-panel .availability-range-card{flex:0 0 auto}
.availability-settings-panel .availability-actions-card{display:flex;flex:1;min-height:230px;flex-direction:column;justify-content:space-between;gap:18px}
.availability-settings-panel .availability-range-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.availability-settings-panel .availability-range-fields>label{display:grid;gap:7px;font-size:12px;color:#587065}
.availability-settings-panel .availability-range-fields>label:nth-child(3){grid-column:1/-1}
.availability-settings-panel .calendar-import-export{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-column:1/-1;gap:8px;width:100%}
.availability-settings-panel .calendar-import-export button{width:100%;min-width:0;white-space:normal}
.availability-settings-panel .bulk-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.availability-settings-panel .bulk-actions button{width:100%;min-width:0;white-space:normal}
.availability-settings-panel .bulk-actions .chip{min-height:48px;border-radius:10px;padding:10px 12px;background:#fbfdfb}
.availability-settings-panel .bulk-actions #saveAvailability{grid-column:1/-1}
.availability-settings-panel .availability-actions-card .field-note{margin:0;padding-top:2px}
@media(max-width:980px){.availability-settings-panel{height:auto;padding:20px}.availability-settings-panel .availability-actions-card{min-height:0}}
@media(max-width:760px){.availability-settings-panel{height:auto}.availability-settings-panel .availability-range-fields{grid-template-columns:1fr}.availability-settings-panel .availability-range-fields>label:nth-child(3),.availability-settings-panel .calendar-import-export,.availability-settings-panel .bulk-actions{grid-column:auto}.availability-settings-panel .calendar-import-export,.availability-settings-panel .bulk-actions{grid-template-columns:1fr}.availability-settings-panel .bulk-actions #saveAvailability{grid-column:auto}.availability-settings-panel .availability-actions-card{min-height:0}}


/* iCal synchronisation management */
.calendar-sync-panel{margin-top:18px;padding:18px;border:1px solid var(--line,#d9e1da);border-radius:14px;background:var(--paper,#f7faf7)}
.calendar-sync-heading{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:12px}
.calendar-sync-heading .listing-filter-label{margin:0 0 4px}
.calendar-sync-add{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) auto;gap:10px;align-items:end;padding-bottom:14px;border-bottom:1px solid var(--line,#d9e1da)}
.calendar-sync-add label{display:grid;gap:6px;font-size:.78rem;color:var(--ink-muted,#587066)}
.calendar-sync-add input{width:100%;min-width:0}
.calendar-sync-add button{white-space:nowrap}
.calendar-sync-card{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line,#d9e1da)}
.calendar-sync-card:last-child{border-bottom:0;padding-bottom:0}
.calendar-sync-card>div:first-child{min-width:0;display:grid;gap:3px}
.calendar-sync-card strong{font-size:.92rem;color:var(--ink,#183b32);overflow-wrap:anywhere}
.calendar-sync-card span,.calendar-sync-card small{font-size:.75rem;color:var(--ink-muted,#587066);overflow-wrap:anywhere}
.calendar-sync-card-actions{display:flex;gap:8px;flex:none}
.calendar-sync-card-actions .chip{font-size:.76rem;padding:8px 11px}
.calendar-sync-export{display:flex;justify-content:flex-end;padding-top:14px}
.calendar-sync-export .chip{min-width:148px}
@media(max-width:760px){.calendar-sync-add{grid-template-columns:1fr}.calendar-sync-card{align-items:flex-start;flex-direction:column}.calendar-sync-card-actions{width:100%}.calendar-sync-card-actions .chip{flex:1}}

/* Full-width calendar workspace: the schedule controls share the row and iCal syncs span the complete content area. */
.availability-manager-layout{grid-template-columns:minmax(0,1fr) minmax(340px,420px);gap:28px;align-items:stretch;width:100%}
.availability-calendar-column{min-width:0;width:100%}
.availability-calendar-column .availability-calendar-grid{width:100%;min-width:0}
.availability-settings-panel{width:100%;min-width:0}
.availability-manager>.calendar-sync-panel{width:100%;box-sizing:border-box;margin-top:28px}
@media(max-width:1100px){.availability-manager-layout{grid-template-columns:minmax(0,1fr) minmax(320px,360px);gap:20px}}
@media(max-width:760px){.availability-manager-layout{grid-template-columns:1fr;gap:18px}.availability-manager>.calendar-sync-panel{margin-top:18px}}

/* Let the six calendar rows use the same vertical rhythm as the settings panel. */
.availability-calendar-column{display:flex;flex-direction:column;align-self:stretch}
.availability-calendar-column .availability-calendar-grid{display:flex;flex:1 1 auto;min-height:0;flex-direction:column}
.availability-calendar-column .availability-calendar-grid .calendar-weekdays{flex:0 0 auto}
.availability-calendar-column .availability-calendar-grid .calendar-days{flex:1 1 auto;min-height:0;grid-auto-rows:minmax(68px,1fr)}
.availability-settings-panel .availability-actions-card{justify-content:flex-start;gap:14px}
.availability-settings-panel .availability-actions-card{flex:0 0 auto;min-height:0}
@media(max-width:760px){
  .availability-calendar-column .availability-calendar-grid{display:block;flex:none}
  .availability-calendar-column .availability-calendar-grid .calendar-days{min-height:auto;grid-auto-rows:auto}
  .availability-settings-panel .availability-actions-card{gap:14px}
}

.notification-glyph{width:17px;height:17px;display:grid;place-items:center}.notification-glyph svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.notifications-heading-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.notifications{position:relative;display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--line);border-radius:50%;font-size:18px;background:#fff;color:var(--ink);line-height:1}.notifications:hover{background:#f2f6f1}.notification-count{position:absolute;top:-4px;right:-4px;min-width:17px;height:17px;padding:0 4px;border-radius:10px;background:#b5853b;color:#fff;font-size:10px;font-weight:700;display:grid;place-items:center;border:2px solid var(--paper)}.notifications-dialog{width:min(500px,calc(100vw - 24px));max-height:min(640px,calc(100vh - 40px));padding:26px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);box-shadow:0 20px 55px #18352922}.notifications-heading{display:flex;align-items:start;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:16px}.notifications-heading h2{font-size:28px;margin:0}.notifications-list{display:grid;gap:10px;max-height:460px;overflow:auto}.notification-item{padding:14px;border:1px solid var(--line);border-radius:9px;background:#f7faf6}.notification-item.unread{border-color:#b5853b;background:#fffaf1}.notification-item strong{display:block;font-size:14px}.notification-item p{margin:6px 0;color:#40584e;font-size:13px;line-height:1.5}.notification-item time{display:block;color:#587065;font-size:11px;margin-top:8px}.notification-email{display:inline-flex;margin-top:10px;padding:7px 11px;font-size:12px;text-decoration:none}.account-email-action .owner-contact-copy small{color:#87928a}.account-email-action .owner-contact-copy{display:grid;gap:2px;min-width:0;text-align:left}@media(max-width:600px){.notifications-dialog{padding:20px;max-height:calc(100vh - 24px)}.notifications-heading{display:block}.notifications-heading .chip{margin-top:12px}.notifications-heading-actions{justify-content:flex-start}.header-actions{gap:8px}.notifications{width:32px;height:32px;font-size:16px}.notification-count{top:-5px;right:-5px}}
.admin-settings-form{display:grid;gap:20px;max-width:1100px}.admin-settings-form fieldset{margin:0;padding:20px;border:1px solid var(--line);border-radius:14px;background:#fbfdfb}.admin-settings-form legend{padding:0 8px;font-weight:700;color:var(--ink)}.admin-settings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.admin-settings-grid label{display:grid;gap:7px;color:#587065;font-size:13px}.admin-settings-grid input{width:100%;box-sizing:border-box;padding:11px 12px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);font:inherit}.admin-settings-form .primary{justify-self:start;min-width:220px}@media(max-width:760px){.admin-settings-grid{grid-template-columns:1fr}.admin-settings-form fieldset{padding:16px}}

/* Admin pricing fields keep each accommodation type aligned. */
.admin-settings-grid.commission-grid{grid-template-columns:repeat(5,minmax(0,1fr));align-items:start}
.admin-settings-grid.commission-grid label{min-width:0;min-height:0;grid-template-rows:2.75em auto;align-content:start;line-height:1.35}
@media(max-width:1120px){.admin-settings-grid.commission-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.admin-settings-grid.commission-grid{grid-template-columns:1fr}.admin-settings-grid.commission-grid label{min-height:0}}

/* Configurable social link in the shared Kudiwa footer. */
.social-link{display:inline-flex;align-items:center;gap:8px;padding:9px 13px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font-size:13px;text-decoration:none;transition:background .2s,border-color .2s,transform .2s}.social-link:hover{background:#eaf3ea;border-color:#a8c5b0;transform:translateY(-1px)}.social-link svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.social-link .social-link-dot{fill:currentColor;stroke:none}.social-link[hidden]{display:none}@media(max-width:600px){footer{align-items:flex-start}.social-link{order:3}}
.booking-terms{display:flex;align-items:flex-start;gap:10px;margin:16px 0;padding:12px 14px;border:1px solid var(--line);border-radius:9px;background:#f7faf6;color:var(--ink);font-size:13px;line-height:1.5}.booking-terms input{margin:3px 0 0;flex:0 0 auto;width:auto}.booking-terms a{color:var(--ink);text-underline-offset:3px}.booking-costs .cost-owner{border-top:1px solid var(--line);padding-top:12px}.booking-costs .cost-owner dd{font-weight:600}.booking-costs .cost-total dt,.booking-costs .cost-total dd{font-weight:700}.booking-costs dt{max-width:78%}@media(max-width:600px){.booking-terms{font-size:12px;padding:11px 12px}.booking-costs dt{max-width:72%}}

/* Compact booking review with clear listing identity */
.listing-page-booking{max-width:520px;width:100%;margin-inline:auto}
.booking-listing-summary{display:flex;align-items:center;gap:14px;margin:16px 0 20px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#fff}
.booking-listing-summary img{width:76px;height:64px;flex:0 0 76px;object-fit:cover;border-radius:8px;background:#e8efe9}
.booking-listing-summary h3{margin:2px 0 4px;font-size:18px;line-height:1.2}
.booking-listing-summary p{margin:0;color:var(--muted)}
.booking-listing-summary .eyebrow{font-size:10px;letter-spacing:.14em;margin-bottom:3px}
@media(max-width:850px){.listing-page-booking{max-width:none}}
@media(max-width:600px){.booking-listing-summary{gap:10px;margin:12px 0 16px;padding:8px}.booking-listing-summary img{width:64px;height:56px;flex-basis:64px}.booking-listing-summary h3{font-size:16px}}

.logo img{display:block;max-width:180px;max-height:48px;width:auto;height:auto;object-fit:contain}.footer-menu .logo img{max-height:38px}

/* Final owner action cleanup: no disclosure glyph before the action icon. */
.owner-secondary-grid>.owner-secondary-action>summary:before,
.owner-secondary-grid>.owner-secondary-action>summary>.owner-expand-icon{display:none!important;content:none!important;width:0!important;min-width:0!important;margin:0!important;padding:0!important;}
.owner-secondary-grid>.owner-secondary-action>summary{grid-template-columns:28px minmax(0,1fr)!important;gap:7px!important;justify-content:stretch!important;}
.owner-secondary-grid>.owner-secondary-action>summary>.action-icon{grid-column:1!important;grid-row:1!important;}
.owner-secondary-grid>.owner-secondary-action>summary>.owner-action-title{grid-column:2!important;grid-row:1!important;}
@media(max-width:600px){.owner-secondary-grid>.owner-secondary-action>summary{grid-template-columns:24px minmax(0,1fr)!important;gap:5px!important;}}

/* Higher-specificity override for the closed/open variants. */
.owner-secondary-grid>.owner-secondary-action:not([open])>summary,
.owner-secondary-grid>.owner-secondary-action[open]>summary{grid-template-columns:28px minmax(0,1fr)!important;gap:7px!important;}
.owner-secondary-grid>.owner-secondary-action:not([open])>summary>.owner-expand-icon,
.owner-secondary-grid>.owner-secondary-action[open]>summary>.owner-expand-icon{display:none!important;width:0!important;min-width:0!important;}
.owner-action-panel>summary:before,
.owner-operational-panel>summary:before,
.owner-secondary-action>summary:before{content:none!important;display:none!important}
.owner-secondary-grid>.owner-secondary-action:not([open])>summary>.action-icon,
.owner-secondary-grid>.owner-secondary-action[open]>summary>.action-icon{grid-column:1!important;grid-row:1!important;}
.owner-secondary-grid>.owner-secondary-action:not([open])>summary>.owner-action-title,
.owner-secondary-grid>.owner-secondary-action[open]>summary>.owner-action-title{grid-column:2!important;grid-row:1!important;width:auto!important;}
@media(max-width:600px){.owner-secondary-grid>.owner-secondary-action:not([open])>summary,.owner-secondary-grid>.owner-secondary-action[open]>summary{grid-template-columns:24px minmax(0,1fr)!important;gap:5px!important;}}


/* Owner reservations use the same compact booking summary and six-action row as tenant reservations. */
.owner-booking-summary{display:grid;gap:8px;margin:14px 0 0;grid-template-columns:repeat(5,minmax(0,1fr));}
.owner-booking-summary>div{min-width:0;border:1px solid #dce5dc;border-radius:8px;background:#f7faf6;padding:9px 11px;}
.owner-booking-summary span{display:block;margin-bottom:4px;color:#6c8074;font-size:10px;letter-spacing:1.2px;text-transform:uppercase;}
.owner-booking-summary strong{display:block;font-size:16px;font-weight:600;line-height:1.25;}
.owner-booking-summary>div:nth-child(1) strong,.owner-booking-summary>div:nth-child(2) strong{font:500 16px/1.2 'Playfair Display',serif;text-transform:capitalize;}
.owner-booking-summary small{display:block;margin-top:3px;color:#6c8074;font-size:11px;}
.owner-booking-summary .booking-payment-item{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.owner-booking-summary .booking-payment-copy{min-width:0;}
.owner-booking-tenant{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:10px;row-gap:8px;margin-top:10px;padding:9px 11px;border:1px solid #dce5dc;border-radius:8px;background:#f7faf6;}
.owner-booking-tenant>span{margin:0;color:#6c8074;font-size:10px;letter-spacing:1.2px;text-transform:uppercase;}
.owner-booking-tenant strong{overflow-wrap:anywhere;}
.owner-booking-actions{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-top:12px;}
.owner-booking-actions .account-booking-action{min-width:0;min-height:54px;justify-content:flex-start;}
.owner-booking-actions .owner-contact-copy{min-width:0;display:grid;gap:2px;text-align:left;}
.owner-booking-actions .owner-contact-copy b,.owner-booking-actions>button>span:last-child,.owner-booking-actions>a>span:last-child{overflow-wrap:anywhere;}
.owner-booking-actions .owner-contact-copy small{color:#87928a;overflow-wrap:anywhere;}
.occupant-card>.owner-operational-panel,.occupant-card>.owner-secondary-grid{display:none!important;}
@media(max-width:900px){.owner-booking-actions{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:600px){.owner-booking-summary{grid-template-columns:repeat(2,minmax(0,1fr));}.owner-booking-actions{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:460px){.owner-booking-summary,.owner-booking-actions{grid-template-columns:1fr;}}

/* Cuenta móvil: misma tarjeta verde y misma jerarquía que Propietarios */
#accountView .account-email-action .action-icon,
#accountView .account-contact-action .action-icon{
  background:#dceadd;
  color:#203d35;
  border:1px solid #c4d9c7;
}
#landlordView .account-email-action .action-icon,
#landlordView .account-contact-action .action-icon{
  background:#dceadd;
  color:#203d35;
  border:1px solid #c4d9c7;
}
@media(max-width:600px){
  #accountView{padding:28px 12px 48px;overflow-x:hidden;}
  #accountView .account-page{width:100%;max-width:none;}
  #accountView .account-page-heading--account{display:flex;align-items:flex-start;gap:12px;margin-bottom:18px;}
  #accountView .account-page-heading--account h1{font-size:34px;line-height:1.08;}
  #accountView .account-logout{flex:0 0 auto;padding:9px 10px;font-size:12px;}
  #accountView .account-summary{display:grid;gap:6px;padding:14px;border:1px solid #c9d8ca;border-radius:9px;background:#f7faf6;}
  #accountView .account-summary strong{font-size:17px;}
  #accountView .account-summary span{font-size:12px;line-height:1.45;}
  #accountView .account-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:16px 0 24px;}
  #accountView .account-actions>*{width:100%;min-height:48px;min-width:0;}
  #accountView .booking-card{display:block;overflow:visible;padding:14px;border:1px solid #c9d8ca;border-radius:10px;background:#f7faf6;box-shadow:0 5px 18px #18352912;}
  #accountView .booking-cover{display:block;width:100%;height:180px;min-height:180px;margin:0 0 14px;border-radius:8px;overflow:hidden;}
  #accountView .booking-cover img{display:block;width:100%;height:100%;min-height:180px;object-fit:cover;}
  #accountView .booking-main{padding:0;min-width:0;}
  #accountView .booking-title{font-size:24px;line-height:1.15;margin:0 0 12px;}
  #accountView .booking-summary-grid--overview{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px;}
  #accountView .booking-summary-grid>div{padding:10px;background:#fff;}
  #accountView .booking-summary-grid strong{font-size:15px;overflow-wrap:anywhere;}
  #accountView .booking-summary-grid small{font-size:10px;line-height:1.35;}
  #accountView .booking-summary-address{grid-template-columns:auto minmax(0,1fr);padding:10px;background:#fff;}
  #accountView .booking-summary-address .booking-map-action{grid-column:1/-1;justify-self:stretch;justify-content:center;}
  #accountView .booking-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px;}
  #accountView .booking-actions .account-booking-action{display:flex;min-height:52px;padding:9px 10px;line-height:1.15;overflow-wrap:anywhere;}
  #accountView .account-booking-action .owner-contact-copy b{font-size:11px;line-height:1.2;}
  #accountView .account-booking-action .owner-contact-copy small{font-size:10px;line-height:1.2;overflow-wrap:anywhere;}
  #accountView .booking-card>.status-pill{display:inline-flex;margin:14px 0 0;}
  #accountView .booking-policy{margin-top:12px;}
  #accountView .booking-cancel-row{justify-content:stretch;}
  #accountView .booking-cancel-action{width:100%;}
}
@media(max-width:460px){
  #accountView .account-page-heading--account{display:block;}
  #accountView .account-logout{margin-top:12px;}
  #accountView .booking-summary-grid--overview{grid-template-columns:1fr;}
  #accountView .booking-actions{grid-template-columns:1fr;}
}

/* Public landlord identity and account profile */
.landlord-profile{margin:1.75rem 0 1.25rem;padding:1.35rem 1.5rem;border:1px solid #d5e1d6;border-radius:18px;background:#f5f8f3;color:#203d35;box-shadow:0 8px 24px rgba(32,61,53,.06)}
.landlord-profile-head{display:flex;align-items:center;gap:1rem;position:relative}
.landlord-profile-avatar,.account-profile-avatar{width:72px;height:72px;flex:0 0 72px;border-radius:50%;overflow:hidden;background:#dbe9dc;color:#1d473b;display:grid;place-items:center;font-family:var(--font-serif,Georgia,serif);font-size:1.7rem;border:2px solid #c5d7c7}
.landlord-profile-avatar img,.account-profile-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.landlord-profile-intro{min-width:0}.landlord-profile-intro .eyebrow{margin:0 0 .25rem}.landlord-profile-intro h3{margin:0;font-size:1.35rem}.landlord-profile-intro p{margin:.2rem 0;color:#587067;font-size:.9rem}
.verified-badge{margin-left:auto;align-self:flex-start;padding:.45rem .65rem;border-radius:999px;background:#e1efe2;color:#1d5544;font-size:.7rem;font-weight:700;letter-spacing:.06em;white-space:nowrap}
.landlord-profile-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;margin:1.2rem 0 1rem;padding-top:1rem;border-top:1px solid #d8e3d8}.landlord-profile-stats span{display:flex;flex-direction:column;gap:.2rem}.landlord-profile-stats b{font-size:1.05rem}.landlord-profile-stats small{color:#687c74;font-size:.75rem}.landlord-profile-trust{margin:0;padding-top:.8rem;border-top:1px solid #d8e3d8;color:#456459;font-size:.88rem}.landlord-profile-other{margin-top:1rem}.landlord-profile-other .eyebrow{margin-bottom:.55rem}.landlord-profile-other-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.landlord-profile-other-grid span{padding:.65rem;border:1px solid #d5e1d6;border-radius:10px;background:#fff;font-size:.78rem}
.account-profile-card{display:flex;align-items:center;gap:1rem;margin:1.25rem 0;padding:1.15rem 1.25rem;border:1px solid #d5e1d6;border-radius:16px;background:#f5f8f3}.account-profile-copy{min-width:0}.account-profile-copy h3{margin:.15rem 0 .25rem;font-size:1.2rem}.account-profile-copy>p:not(.eyebrow):not(.field-note){margin:.25rem 0 .65rem;color:#60756d;font-size:.9rem}.account-profile-actions{display:flex;gap:.5rem;flex-wrap:wrap}.account-profile-upload{cursor:pointer;display:inline-flex;align-items:center}.account-profile-upload input{display:none}
@media(max-width:700px){.landlord-profile{padding:1rem}.landlord-profile-head{align-items:flex-start}.verified-badge{position:absolute;right:0;top:0;font-size:.58rem;max-width:48%;white-space:normal;text-align:center}.landlord-profile-intro{padding-right:7rem}.landlord-profile-stats{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:.85rem}.landlord-profile-other-grid{grid-template-columns:1fr}.account-profile-card{align-items:flex-start;padding:1rem}.account-profile-avatar{width:60px;height:60px;flex-basis:60px;font-size:1.35rem}}

.booking-party-person{display:inline-flex;align-items:center;gap:.5rem}.booking-party-person img{width:32px;height:32px;border-radius:50%;object-fit:cover;border:1px solid #c8d9ca;vertical-align:middle}.booking-issue-row{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;margin-top:.8rem;padding:.8rem;border:1px solid #ead7b4;border-radius:12px;background:#fffaf1}.booking-issue-row small{color:#76684f}.booking-issue-closed{margin:.75rem 0 0;color:#7a7268}.owner-cancel-locked{display:block;flex-basis:100%;margin:.35rem 0 0}.account-payout-settings{margin-top:1.15rem;padding-top:1rem;border-top:1px solid #d8e3d8}.account-payout-settings>p:not(.eyebrow){margin:.25rem 0 .7rem;color:#60756d;font-size:.85rem}.account-payout-form{display:flex;align-items:end;gap:.65rem;flex-wrap:wrap}.account-payout-form label{flex:1 1 260px}.account-payout-form button{white-space:nowrap}.account-payout-security{display:flex;align-items:end;gap:.65rem;margin-top:.7rem}.account-payout-security label{flex:1}.account-payout-security button{white-space:nowrap}
@media(max-width:600px){.booking-issue-row{align-items:flex-start}.booking-issue-row button{width:100%}.account-payout-form,.account-payout-security{display:grid;grid-template-columns:1fr}.account-payout-form button,.account-payout-security button{width:100%}}

/* Cuenta de cobro: el mismo bloque limpio que tenía el panel de Propietarios. */
.account-profile-card{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:1rem;}
.account-payout-settings{grid-column:1/-1;margin-top:.2rem;padding:14px;border:1px solid var(--line);border-radius:8px;background:#f4f7f2;}
.account-payout-settings>p:not(.eyebrow){margin:4px 0 10px;color:#587065;font-size:13px;line-height:1.45;}
.account-payout-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;margin-top:10px;}
.account-payout-form label,.account-payout-security label{display:grid;gap:6px;font-size:12px;color:#587065;}
.account-payout-form input,.account-payout-security input{width:100%;box-sizing:border-box;padding:10px;border:1px solid var(--line);border-radius:5px;background:#fff;color:var(--ink);font:inherit;}
.account-payout-form button,.account-payout-security button{white-space:nowrap;min-height:40px;}
.account-payout-form .field-note{grid-column:1/-1;margin:0;}
.account-payout-security{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;margin-top:12px;padding-top:12px;border-top:1px solid #d8e3d8;}
#accountView .booking-summary-party{background:#fff;}
#accountView .booking-summary-party .booking-party-person{font-weight:600;}
#accountView .booking-summary-party .booking-party-person img{width:40px;height:40px;}
@media(max-width:600px){.account-profile-card{grid-template-columns:auto minmax(0,1fr);}.account-payout-form,.account-payout-security{grid-template-columns:1fr;}.account-payout-form button,.account-payout-security button{width:100%;}}


/* Keep desktop date fields inside their grid tracks. */
@media(min-width:761px){
  .search .availability-field{min-width:0;}
  .search .availability-field input[type=date]{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;font-size:clamp(13px,1.05vw,16px);}
}

/* Logout uses the same quiet circular icon treatment as account actions. */
.account-logout .action-icon{display:grid;place-items:center;flex:0 0 26px;width:26px;height:26px;border-radius:50%;background:#dceadd;color:var(--ink);line-height:1;}
.account-logout .action-icon svg{display:block;width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}

/* Mobile listing details: keep verification compact so it never covers the landlord name. */
.verified-badge-icon{display:inline-grid;place-items:center;font-size:.78rem;line-height:1}.verified-badge-label{display:inline}
/* The real date input remains in the form for validation; the button is the only visible control. */
.date-display-input{display:block;width:100%;border:1px solid #c8d8cb;border-radius:14px;background:linear-gradient(145deg,#f8fbf7,#eef5ef);padding:12px 14px;color:var(--ink);font:600 16px Georgia,serif;text-align:left;cursor:pointer;box-shadow:0 2px 0 rgba(31,65,53,.05)}
.date-display-input:focus-visible{outline:3px solid #b8cdbb;outline-offset:2px;border-color:var(--ink)}
.booking-fields .date-display-input{border:0;border-bottom:2px solid #b9cfbd;border-radius:0;background:transparent;padding:5px 0;font:600 19px Georgia,serif;box-shadow:none}
@media(max-width:700px){.verified-badge{width:30px;height:30px;max-width:none;padding:0;display:grid;place-items:center;border-radius:50%;font-size:0;white-space:nowrap}.verified-badge-icon{font-size:.85rem}.verified-badge-label{display:none}.landlord-profile-intro{padding-right:2.75rem}.date-display-input{font-size:15px}.booking-fields .date-display-input{font-size:17px}}

/* The booking panel has enough width on the right column for both dates to
   share one row; return to a stacked layout only on narrow screens. */
.listing-page-booking .booking-fields{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
@media(max-width:600px){
  .listing-page-booking .booking-fields{grid-template-columns:1fr}
}

/* Catalogue location labels: city first, accommodation type immediately below. */
.grid .card-meta{
  display:block;
  line-height:1.35;
}
.grid .card-meta span{
  display:block;
  margin:0;
  line-height:1.35;
}

@media(max-width:600px){.search .availability-field{grid-column:1/-1;min-width:0}.search .date-display-input{min-width:0;width:100%;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}

.review-submitted{display:inline-flex;align-items:center;min-height:40px;padding:9px 13px;border:1px solid var(--line);border-radius:7px;background:#f4f7f2;color:var(--ink);font-size:13px;font-weight:600}


/* Keep listing editor date cards aligned with the shared calendar controls. */
#listingForm .form-grid > label,
#listingForm .owner-summary .booking-fields > label,
#listingForm .has-custom-calendar { min-width: 0; }
#listingForm .date-display-input { width: 100%; min-width: 0; box-sizing: border-box; }
@media(max-width:600px){
  #listingForm .form-grid { grid-template-columns: minmax(0,1fr); }
  #listingForm .owner-fields label,
  #listingForm .owner-summary label { min-width: 0; }
}

/* Keep the owner calendar controls aligned with the shared responsive date picker. */
.availability-settings-panel .availability-range-fields > label,
.availability-settings-panel .has-custom-calendar,
.availability-settings-panel .date-display-input {
  min-width: 0;
  width: 100%;
  box-sizing: border-box;
}
.availability-manager .calendar-day { touch-action: manipulation; }
@media (max-width: 760px) {
  .availability-settings-panel .availability-range-fields {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Keep the catalogue map visible at all times while allowing the map content to pan inside it. */
.results-layout .map-panel {
  height: calc(100dvh - 40px);
  min-height: calc(100dvh - 40px);
  max-height: calc(100dvh - 40px);
  overflow: hidden;
}
.results-layout .map-panel .map-surface {
  flex: 1 1 auto;
  height: auto;
  min-height: 0;
  contain: paint;
}
@media (max-width: 1100px) {
  .results-layout .map-panel {
    height: calc(100dvh - 24px);
    min-height: calc(100dvh - 24px);
    max-height: none;
  }
}
@media (max-width: 600px) {
  .results-layout .map-panel {
    height: calc(100dvh - 16px);
    min-height: calc(100dvh - 16px);
    padding: 12px;
  }
}

/* Keep the summary export control compact and usable on small screens. */
.admin-summary-export{align-items:center;margin:0 0 20px}
.admin-summary-export label{display:block;min-width:min(100%,260px)}
.admin-summary-export select{width:100%;padding:9px 10px;border:1px solid var(--line);border-radius:5px;background:#fff;color:var(--ink);font:inherit}
.admin-summary-export .chip{min-height:38px}
@media(max-width:600px){.admin-summary-export{display:grid;grid-template-columns:1fr;align-items:stretch}.admin-summary-export .chip{width:100%}}

/* Admin finance controls and entity relationships */
.admin-financial-controls{display:flex;align-items:flex-end;justify-content:flex-end;gap:12px;min-width:min(100%,390px);margin-left:auto;}
.admin-financial-controls .admin-tax-selector,.admin-year-selector{display:grid;gap:5px;color:#587065;font-size:12px;}
.admin-financial-controls .admin-tax-selector{min-width:190px;width:auto;order:initial;}
.admin-year-selector{min-width:105px;}
.admin-year-selector select{width:100%;padding:9px 10px;border:1px solid var(--line);border-radius:5px;background:#fff;color:var(--ink);font:inherit;}
.admin-directory-row{grid-template-columns:minmax(210px,1.1fr) minmax(220px,1.25fr) minmax(280px,1.8fr) minmax(260px,1.3fr);}
.admin-directory-relations{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;min-width:0;}
.admin-directory-relation{display:grid;gap:3px;min-width:0;}
.admin-directory-relation a{font-size:11px;color:#587065;text-decoration:none;}
.admin-directory-relation a:hover{text-decoration:underline;}
.admin-directory-relation strong{font:16px Georgia,serif;color:var(--ink);}
.admin-directory-relation small{font-size:10px;color:#587065;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
@media(max-width:1000px){.admin-directory-row{grid-template-columns:1fr;}.admin-directory-relations{grid-template-columns:repeat(4,minmax(0,1fr));}}
@media(max-width:760px){.admin-directory-relations{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:700px){.admin-financial-controls{width:100%;min-width:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(100px,.45fr);align-items:end;}.admin-financial-controls .admin-tax-selector{min-width:0;width:auto;}.admin-year-selector{min-width:0;}.admin-directory-relations{grid-template-columns:repeat(2,minmax(0,1fr));}}

.admin-activity-more{display:flex;justify-content:center;margin-top:14px;}
.admin-activity-more .chip{min-width:120px;}

/* Admin listing directory controls and owner links. */
.admin-listing-filters{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(160px,.8fr) minmax(160px,.8fr) minmax(160px,.6fr);gap:12px;margin:0 0 15px}
.admin-listing-filters .admin-directory-search{max-width:none;margin:0}
.admin-listing-filters select{display:block;width:100%;margin-top:6px;padding:10px;border:1px solid var(--line);border-radius:5px;background:white;font:inherit;color:var(--ink)}
.admin-related-link{color:var(--ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.admin-related-link:hover{color:var(--accent,#1e493e)}
.admin-related-focus{outline:2px solid #b5853b;outline-offset:4px;border-radius:6px}
@media(max-width:700px){.admin-listing-filters{grid-template-columns:1fr;gap:8px}}
.admin-delete-icon,.admin-icon-action{display:inline-flex!important;align-items:center;justify-content:center;flex:0 0 38px!important;width:38px!important;min-width:38px!important;height:38px;padding:8px!important}.admin-delete-icon svg,.admin-icon-action svg,.admin-identity-icon svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.admin-identity-icon{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:5px}.admin-listing-owner-filter{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-4px 0 15px;padding:10px 12px;border:1px solid var(--line);border-radius:6px;background:#f4f7f2;color:var(--ink);font-size:12px}.admin-listing-owner-filter .chip{flex:none;padding:6px 10px;font-size:11px}.admin-directory-relation[data-admin-owner-listings]{cursor:pointer}.admin-owner-filters{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) minmax(170px,.55fr) minmax(150px,.55fr);gap:12px;margin-bottom:2px}.admin-owner-filters .admin-directory-search{max-width:none;margin:0}.admin-owner-filters select{display:block;width:100%;margin-top:6px;padding:10px;border:1px solid var(--line);border-radius:5px;background:white;font:inherit;color:var(--ink)}@media(max-width:900px){.admin-owner-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}}@media(max-width:700px){.admin-owner-filters{grid-template-columns:1fr;gap:8px}}@media(max-width:600px){.admin-listing-owner-filter{align-items:flex-start;flex-direction:column}.admin-listing-owner-filter .chip{width:100%}}
.admin-directory-relation[data-admin-owner-bookings]{cursor:pointer}
/* Owner directory header and full-width metric tracks. */
.admin-directory-header{display:grid;grid-template-columns:minmax(210px,1.1fr) minmax(220px,1.25fr) minmax(280px,1.8fr) minmax(260px,1.3fr);gap:14px;align-items:end;width:100%;box-sizing:border-box;padding:0 0 8px;border-bottom:1px solid var(--line);font-size:10px;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted)}
.admin-directory-header-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;min-width:0}
.admin-directory-header-facts span{min-width:0}
.admin-directory-header--tenant .admin-directory-header-facts{grid-template-columns:repeat(3,minmax(0,1fr))}
.admin-directory-header-relations{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;min-width:0}
.admin-directory-header-relations span{min-width:0}
.admin-identity-revoked{color:#a63a2f!important;border-color:#e3b4ab!important;background:#fff7f5!important}
.admin-rental-blocked{color:#a63a2f!important;border-color:#e3b4ab!important;background:#fff7f5!important}
.admin-directory-facts .status-pill.is-blocked{color:#a63a2f;background:#fff7f5;border-color:#e3b4ab}
.admin-directory-facts .status-pill.is-paused{color:#8a6218;background:#fff8e8;border-color:#e5cf9d}
.admin-identity-review{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:24px;background:rgba(20,45,38,.48)}
.admin-identity-review-dialog{width:min(720px,100%);max-height:calc(100vh - 48px);overflow:auto;padding:20px;border:1px solid var(--line);border-radius:12px;background:var(--paper);box-shadow:0 24px 70px rgba(20,45,38,.22)}
.admin-identity-review-head,.admin-identity-review-actions{display:flex;align-items:center;justify-content:space-between;gap:16px}
.admin-identity-review-head{margin-bottom:16px;color:var(--ink);font:600 18px Georgia,serif}
.admin-identity-review-dialog img{display:block;width:100%;max-height:62vh;object-fit:contain;border:1px solid var(--line);border-radius:8px;background:#f4f7f2}
.admin-identity-review-actions{margin-top:16px;align-items:flex-end}
.admin-identity-review-actions .field-note{margin:0}
@media(max-width:600px){.admin-identity-review{padding:12px}.admin-identity-review-dialog{padding:14px}.admin-identity-review-actions{align-items:stretch;flex-direction:column}.admin-identity-review-actions button{width:100%}}
.admin-directory-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;align-items:center;min-width:0}
.admin-directory-facts.admin-directory-owner-facts{grid-template-columns:repeat(3,minmax(0,1fr))}
.admin-directory-facts>span{min-width:0}
.admin-directory-facts .status-pill{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;justify-self:start}
.admin-directory-facts>span:not(.status-pill){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.admin-section#admin-owners{width:100%;max-width:none}
.admin-section#admin-owners>.admin-directory-grid{width:100%;max-width:none}
.admin-queue-grid{grid-template-columns:repeat(5,minmax(0,1fr));}
@media(max-width:1000px){.admin-directory-header{display:none}.admin-directory-facts{display:flex;flex-wrap:wrap}.admin-queue-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:850px){.admin-queue-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
.admin-listing-public-link{color:var(--ink);font-weight:600;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.admin-listing-public-link:hover{color:var(--accent,#1e493e)}
.admin-identity-review-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 16px}.admin-identity-review-details>div{display:grid;gap:3px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#f4f7f2}.admin-identity-review-details span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.admin-identity-review-details strong{overflow-wrap:anywhere;color:var(--ink)}
@media(max-width:600px){.admin-identity-review-details{grid-template-columns:1fr}}
.admin-nav-group{margin:0}.admin-nav-group>summary{display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;color:#e4f0e6;padding:10px 8px;border-radius:5px;list-style:none}.admin-nav-group>summary::-webkit-details-marker{display:none}.admin-nav-group>summary::after{content:'⌄';font-size:13px;transition:transform .2s ease}.admin-nav-group[open]>summary::after{transform:rotate(180deg)}.admin-nav-group>summary:hover,.admin-nav-group[open]>summary{background:rgba(255,255,255,.12)}.admin-nav-submenu{display:grid;gap:3px;margin:3px 0 3px 9px;padding-left:9px;border-left:1px solid rgba(255,255,255,.28)}.admin-nav-submenu a{font-size:13px;padding:8px}.admin-nav a.active,.admin-nav-submenu a.active{background:rgba(255,255,255,.16);font-weight:600}@media(max-width:760px){.admin-nav-group{width:100%}.admin-nav-submenu{width:100%;box-sizing:border-box}}
.admin-user-tools{grid-template-columns:minmax(240px,.85fr) minmax(420px,1.15fr);align-items:end}.admin-user-tools>label{min-width:0}.admin-user-tools input{box-sizing:border-box}.admin-invite{min-width:0}.admin-invite label{min-width:0}.admin-invite input{box-sizing:border-box;width:100%}.admin-invite .primary{min-height:40px;white-space:nowrap;align-self:end}@media(max-width:900px){.admin-user-tools{grid-template-columns:1fr}.admin-invite{grid-template-columns:minmax(0,1fr) auto}}@media(max-width:600px){.admin-invite{grid-template-columns:1fr}.admin-invite .primary{width:100%}}.admin-invoice-listing-link{font-weight:600}

.admin-coupon-fields{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch}.admin-coupon-fields label{grid-template-rows:1.2em 42px;align-content:stretch}.admin-coupon-fields input,.admin-coupon-fields select{height:42px;min-height:42px;box-sizing:border-box}.admin-coupon-form{gap:12px}.admin-coupon-form .primary{margin-top:0}.admin-coupon-list{display:grid;gap:10px;margin-top:16px}.admin-coupon-card{display:flex;align-items:center;justify-content:space-between;gap:16px}.admin-coupon-card .admin-card-actions{display:flex;gap:8px;flex-wrap:wrap}@media(max-width:760px){.admin-coupon-fields{grid-template-columns:1fr}.admin-coupon-card{align-items:flex-start;flex-direction:column}.admin-coupon-card .admin-card-actions{width:100%}}

/* Owner directory keeps commission in its own aligned column. */
@media(min-width:1001px){.admin-directory-header--owner,.admin-directory-row--owner{grid-template-columns:minmax(210px,1.1fr) minmax(220px,1.25fr) minmax(150px,.75fr) minmax(280px,1.8fr) auto}}
.admin-owner-commission-header{min-width:0}.admin-owner-commission-column{min-width:0}.admin-owner-commission-control{display:flex;align-items:flex-end;gap:6px;min-width:0}.admin-owner-commission-control label{display:grid;gap:4px;min-width:76px;font-size:10px;color:#587065}.admin-owner-commission-control input{width:68px;box-sizing:border-box;padding:7px;border:1px solid var(--line);border-radius:5px;background:#fff;color:var(--ink);font:inherit;font-size:12px}.admin-owner-commission-control .chip{padding:7px 8px;font-size:10px;white-space:nowrap}
@media(max-width:1000px){.admin-directory-row--owner{grid-template-columns:1fr}.admin-owner-commission-control{justify-content:flex-start}}

/* Incident moderation table with linked parties and balanced resolution controls. */
.admin-incidents-table table{min-width:1120px}.admin-incidents-table td{vertical-align:top}.admin-incident-detail,.admin-incident-resolution{display:block;min-width:210px}.admin-incident-detail summary,.admin-incident-resolution summary{cursor:pointer;color:var(--ink);font-size:12px;font-weight:600}.admin-incident-detail>div,.admin-incident-resolution form{margin-top:8px}.admin-incident-detail p{margin:5px 0;font-size:12px;line-height:1.45}.admin-incident-notes,.admin-incident-responses{margin-top:10px;padding-top:8px;border-top:1px solid #e3eae1}.admin-incident-notes p{padding:5px 0;border-bottom:1px solid #edf0eb}.admin-incident-notes small{color:#587065}.admin-incident-photos>div{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}.admin-incident-photos img{width:78px;height:58px;object-fit:cover;border-radius:5px;border:1px solid #dce5db}.admin-incident-resolution form{min-width:260px}.admin-incident-resolution form>.field-note{margin:0 0 8px}.admin-incident-resolution .admin-award-fields{gap:8px}.admin-incident-resolution .admin-award-fields label{font-size:11px}.admin-incident-resolution .admin-award-fields input{width:100%;box-sizing:border-box}
.admin-incident-filters{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(150px,.55fr) minmax(180px,.7fr);gap:12px;margin-bottom:12px}.admin-incident-filters .admin-directory-search{max-width:none;margin:0}.admin-incident-filters select{display:block;width:100%;margin-top:6px;padding:10px;border:1px solid var(--line);border-radius:5px;background:#fff;font:inherit;color:var(--ink)}.admin-listing-plus{color:#6d7d74;background:#fff}.admin-listing-plus.is-plus{color:#1f5949;background:#e3f0e8;border-color:#9fc7b0}.admin-incident-modal-button{padding:7px 11px;font-size:12px;white-space:nowrap}.admin-incident-modal-content{display:grid;gap:14px;min-width:0}.admin-incident-modal-content h3{font-family:'DM Sans',sans-serif;font-size:14px;font-weight:700;margin:0 0 6px}.admin-incident-modal-content section{padding-top:12px;border-top:1px solid var(--line)}.admin-incident-modal-content label{display:grid;gap:6px;font-size:13px;color:#587065}.admin-incident-modal-content input,.admin-incident-modal-content select,.admin-incident-modal-content textarea{width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink);font:inherit}.admin-incident-resolution-form{max-width:620px}.admin-incident-resolution-form .admin-award-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.admin-incident-resolution-form .primary{width:100%}.admin-incident-photos>div{display:flex;gap:8px;flex-wrap:wrap}.admin-incident-photos img{width:88px;height:66px;object-fit:cover;border-radius:6px;border:1px solid var(--line)}#adminIncidentDialog{max-width:720px;width:calc(100% - 32px);padding:32px;max-height:90vh;overflow:auto}#adminIncidentDialog h2{margin:0 0 18px;font-size:30px}#adminIncidentDialog .close{position:absolute;top:12px;right:14px}@media(max-width:700px){.admin-incident-filters{grid-template-columns:1fr}.admin-incident-resolution-form .admin-award-fields{grid-template-columns:1fr}#adminIncidentDialog{padding:24px 18px;width:calc(100% - 20px)}}

.admin-shell--menu{display:block;min-height:0}.admin-menu-bar{display:flex;align-items:flex-end;gap:12px;margin:0 0 22px;position:relative;z-index:20;border-bottom:1px solid var(--line);padding-bottom:12px}.admin-menu{flex:1;position:relative}.admin-menu>summary{display:none;align-items:center;justify-content:space-between;gap:16px;list-style:none;cursor:pointer;border:1px solid var(--line);border-radius:8px;background:#f4f7f2;color:var(--ink);padding:12px 15px;font-weight:600}.admin-menu>summary::-webkit-details-marker{display:none}.admin-menu>summary::after{content:'⌄';font-size:14px;color:#587065;transition:transform .2s ease}.admin-menu[open]>summary{border-color:#9db9a4;background:#fff}.admin-menu[open]>summary::after{transform:rotate(180deg)}.admin-menu-label{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:#587065}.admin-menu>summary strong{margin-left:auto;font-weight:600}.admin-menu .admin-nav{position:static;display:flex;align-items:center;flex-wrap:wrap;gap:5px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.admin-menu .admin-nav a{color:var(--ink);padding:9px 11px;border:1px solid transparent;border-radius:6px}.admin-menu .admin-nav a:hover,.admin-menu .admin-nav a.active{background:#e7f1e8;color:var(--ink);border-color:#c8ddcc}.admin-menu-bar>#backAccountAdmin{flex:0 0 auto;width:auto}.admin-stat-link{display:block;width:100%;text-align:left;border:1px solid var(--line);padding:16px;background:#f4f7f2;color:var(--ink);font:inherit;cursor:pointer}.admin-stat-link:hover{border-color:#9db9a4;background:#e7f1e8}.admin-stat-link small{display:block;margin-top:10px;color:#24583c;font-size:12px}.booking-issue-submitted{margin:12px 0;padding:10px 12px;border:1px solid #bcd5c2;border-radius:6px;background:#eef7ef;color:#24583c}.booking-issue-submitted strong{font-weight:700}@media(max-width:760px){.admin-menu-bar{display:grid;grid-template-columns:1fr;gap:10px;align-items:stretch;border:0;padding-bottom:0}.admin-menu>summary{display:flex}.admin-menu .admin-nav{position:static;display:grid;grid-template-columns:1fr 1fr;margin-top:8px;padding:10px;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:none}.admin-menu-bar>#backAccountAdmin{width:100%}}@media(max-width:460px){.admin-menu .admin-nav{grid-template-columns:1fr}.admin-menu>summary{align-items:flex-start;flex-wrap:wrap}.admin-menu>summary strong{margin-left:0;width:100%}}

.detail-location-canvas.detail-map-fallback{background:#b8dbe3;background-image:linear-gradient(35deg,transparent 47%,#a8ccd5 48%,#a8ccd5 50%,transparent 51%),linear-gradient(118deg,transparent 47%,#a8ccd5 48%,#a8ccd5 50%,transparent 51%),linear-gradient(#ffffff55 1px,transparent 1px),linear-gradient(90deg,#ffffff55 1px,transparent 1px);background-size:100% 100%,100% 100%,42px 42px,42px 42px}
.detail-map-fallback-visual{position:absolute;inset:0;transform-origin:50% 50%;transition:transform .18s ease}.detail-map-fallback-lines{position:absolute;inset:-20%;background:linear-gradient(28deg,transparent 45%,#e4f0eb 46%,#e4f0eb 48%,transparent 49%),linear-gradient(145deg,transparent 48%,#d6ebe3 49%,#d6ebe3 51%,transparent 52%);opacity:.85}.detail-map-fallback-city{position:absolute;left:50%;top:22%;transform:translateX(-50%);padding:6px 11px;border-radius:7px;background:#fff;color:var(--ink);box-shadow:0 2px 8px #18352930;font:600 12px 'DM Sans',sans-serif}.detail-map-fallback-marker{position:absolute;left:50%;top:54%;display:grid;place-items:center;width:46px;height:46px;transform:translate(-50%,-50%);border:2px solid #205043;border-radius:50%;background:#a9cdbf;color:#1c5140;font-size:18px;box-shadow:0 2px 8px #18352940}

/* Admin navigation: the original side panel keeps the menu in its own layout column. */
.admin-shell>.admin-sidebar{align-self:start;z-index:1}.admin-shell>.admin-sidebar .admin-nav{display:grid;gap:4px;margin-bottom:24px}.admin-shell>.admin-sidebar .admin-nav a{display:block}.admin-shell>.admin-sidebar .admin-nav-group{width:100%}.admin-shell>.admin-sidebar .admin-nav-submenu{display:grid}.admin-shell>.admin-sidebar .admin-nav-group>summary{color:#e4f0e6}.admin-shell>.admin-sidebar .admin-nav-group[open]>summary{background:rgba(255,255,255,.12)}
@media(max-width:760px){.admin-shell{grid-template-columns:1fr;gap:18px}.admin-shell>.admin-sidebar{position:static;width:100%;box-sizing:border-box}.admin-shell>.admin-sidebar .admin-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.admin-shell>.admin-sidebar .admin-nav-group{grid-column:1/-1}.admin-shell>.admin-sidebar .admin-nav-submenu{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.admin-shell>.admin-sidebar .admin-nav-submenu a{min-width:0}.admin-shell>.admin-sidebar #backAccountAdmin{width:100%}}
@media(max-width:460px){.admin-shell>.admin-sidebar .admin-nav{grid-template-columns:1fr}.admin-shell>.admin-sidebar .admin-nav-submenu{grid-template-columns:1fr}}

/* Keep the mobile admin sidebar in normal document flow when a section is open. */
@media(max-width:760px){
  .admin-shell{align-items:start}
  .admin-shell>.admin-sidebar{display:block!important;height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;align-self:stretch!important}
  .admin-shell>.admin-sidebar .admin-nav{display:block!important;height:auto!important;min-height:0!important;overflow:visible!important;margin:0 0 24px!important}
  .admin-shell>.admin-sidebar .admin-nav>a,
  .admin-shell>.admin-sidebar .admin-nav>details{display:block!important;width:100%;box-sizing:border-box}
  .admin-shell>.admin-sidebar .admin-nav-group[open]{display:block!important;height:auto!important;min-height:0!important;overflow:visible!important}
  .admin-shell>.admin-sidebar .admin-nav-group>.admin-nav-submenu{display:block!important;height:auto!important;min-height:0!important;overflow:visible!important;position:static!important;margin:3px 0 3px 9px!important}
  .admin-shell>.admin-sidebar .admin-nav-group>.admin-nav-submenu>a{display:block!important;width:100%;box-sizing:border-box}
  .admin-shell>.admin-sidebar>#backAccountAdmin{display:flex!important;position:static!important;clear:both;width:100%!important;margin-top:8px}
  .admin-shell>.admin-main{width:100%;min-width:0}
}

.confirmation-countdown{display:inline-flex!important;align-items:center;gap:8px;margin:10px 0!important;padding:8px 11px;border:1px solid #d5c79e;border-radius:999px;background:#fff8e8;color:#7b5b18!important;font-weight:600;font-size:13px!important;letter-spacing:.01em}.confirmation-countdown.is-expired{border-color:#e0aaa2;background:#fff1ef;color:#9f3427!important}.invoice-locked{opacity:.68;cursor:not-allowed!important}.invoice-locked .action-icon{opacity:.7}.owner-upcoming-tenants{margin:0 0 18px;padding:14px 16px;border:1px solid #c9d8ca;border-radius:8px;background:#f5faf4}.owner-upcoming-tenants>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;font-weight:600;color:var(--ink);list-style:none}.owner-upcoming-tenants>summary::-webkit-details-marker{display:none}.owner-upcoming-tenants>summary:after{content:'+';display:grid;place-items:center;width:24px;height:24px;border:1px solid #b8cdbb;border-radius:50%;font-size:18px;font-weight:400;line-height:1}.owner-upcoming-tenants[open]>summary:after{content:'−'}.owner-upcoming-tenants-list{margin-top:8px}.upcoming-tenant-card{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;border-top:1px solid #dce8dc}.upcoming-tenant-card:first-of-type{border-top:0}.upcoming-tenant-card strong{font-size:16px}.upcoming-tenant-card p{margin:4px 0;font-size:13px;color:#587065}.upcoming-tenant-contact{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}@media(max-width:600px){.upcoming-tenant-card{display:block}.upcoming-tenant-contact{justify-content:flex-start;margin-top:10px}}

.account-preferences{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:22px 0;padding:18px 20px;border:1px solid var(--line);border-radius:12px;background:#f4f7f2}.account-preferences h3{margin:0 0 4px;font-size:22px}.account-preferences p{margin:0}.account-preferences label{display:grid;gap:7px;min-width:230px;color:#587065;font-size:13px}.account-preferences select{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink)}.account-preferences .field-note{margin-top:8px}@media(max-width:600px){.account-preferences{display:block}.account-preferences label{margin-top:14px;min-width:0}}

.account-payout-row{display:grid;grid-template-columns:minmax(0,4fr) minmax(150px,1fr);gap:12px;align-items:start}.account-payout-row .account-preferences{display:block;min-width:0;margin:0;padding:12px 14px}.account-payout-row .account-preferences h3{font-size:17px}.account-payout-row .account-preferences label{min-width:0}.account-payout-row .account-preferences .field-note{font-size:12px;line-height:1.4}.account-payout-row .account-preferences select{font-size:12px;padding:9px 10px}@media(max-width:700px){.account-payout-row{grid-template-columns:1fr}.account-payout-row .account-preferences{width:auto}}

/* Date preferences sit in the upper-right profile column. */
.account-profile-card{grid-template-columns:auto minmax(0,1fr) minmax(150px,20%);}
.account-profile-card>.account-preferences{display:block;min-width:0;margin:0;padding:12px 14px;align-self:stretch;}
.account-profile-card>.account-preferences h3{font-size:17px;}
.account-profile-card>.account-preferences label{min-width:0;}
.account-profile-card>.account-preferences .field-note{font-size:12px;line-height:1.4;}
.account-profile-card>.account-preferences select{font-size:12px;padding:9px 10px;}
@media(max-width:700px){.account-profile-card{grid-template-columns:auto minmax(0,1fr);}.account-profile-card>.account-preferences{grid-column:1/-1;width:auto;}.account-payout-row{display:block;}}
.owner-history-year,.owner-history-month{border-top:1px solid #edf0eb;padding:9px 0}.owner-history-year>summary,.owner-history-month>summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;font-weight:600;list-style:none}.owner-history-year>summary::-webkit-details-marker,.owner-history-month>summary::-webkit-details-marker{display:none}.owner-history-year>summary::after,.owner-history-month>summary::after{content:'⌄';color:#587065;font-size:15px;line-height:1;transition:transform .15s ease}.owner-history-year[open]>summary::after,.owner-history-month[open]>summary::after{transform:rotate(180deg)}.owner-history-months{padding-left:14px}.owner-history-month{padding-bottom:0}.owner-history-month>summary{font-weight:500}.owner-history-month .history-person{padding-left:10px}
.owner-history-year{margin-left:14px}
.owner-cancelled-history{border-top:1px solid var(--line);margin-top:14px;padding-top:12px}.owner-cancelled-history summary{font-size:13px}.owner-cancelled-person p:last-child{color:#587065}
.owner-cancelled-person{align-items:center}.owner-cancelled-financials{margin-left:auto;display:grid;grid-template-columns:repeat(2,minmax(130px,1fr));gap:8px;min-width:min(100%,320px)}.owner-cancelled-finance{display:grid;gap:4px;padding:8px 10px;background:#f4f7f2;border:1px solid var(--line);border-radius:6px}.owner-cancelled-finance span{font-size:11px;color:#587065}.owner-cancelled-finance strong{font-size:14px;color:var(--ink)}
@media(max-width:600px){.owner-cancelled-person{align-items:stretch;flex-direction:column}.owner-cancelled-financials{width:100%;min-width:0;margin-left:0}}
.admin-payout-settings{width:100%;box-sizing:border-box}.admin-payout-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;margin-top:10px}.admin-payout-form label{display:grid;gap:6px;font-size:12px;color:#587065;min-width:0}.admin-payout-form input{width:100%;box-sizing:border-box;padding:10px;border:1px solid var(--line);border-radius:5px;background:#fff;color:var(--ink);font:inherit}.admin-payout-form button{white-space:nowrap;min-height:40px}.admin-payout-form .field-note{grid-column:1/-1;margin:0}.admin-payout-settings .account-payout-security{grid-template-columns:minmax(0,1fr) auto}.admin-payout-settings .account-payout-security label{min-width:0}@media(max-width:600px){.admin-payout-form{grid-template-columns:1fr}.admin-payout-form button,.admin-payout-settings .account-payout-security button{width:100%}.admin-payout-settings .account-payout-security{grid-template-columns:1fr}}

/* Mobile catalogue map: keep the viewport compact and focused instead of stretching it to the full phone height. */
@media(max-width:600px){.results-layout .map-panel{height:380px;min-height:380px;max-height:380px;padding:10px}.results-layout .map-panel .map-surface{height:auto;min-height:0;flex:1 1 auto}.results-layout .map-panel .map-heading{margin-bottom:8px}.results-layout .map-panel .map-heading h3{font-size:20px}}

/* Identity form: keep international prefix and local number readable on every screen. */
.phone-field-grid{display:grid;grid-template-columns:minmax(190px,.7fr) minmax(0,1.3fr);gap:12px;align-items:end}
.phone-field-grid label{min-width:0}
@media(max-width:600px){.phone-field-grid{grid-template-columns:1fr;gap:18px}}
#listingForm .owner-summary .booking-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:600px){#listingForm .owner-summary .booking-fields{grid-template-columns:1fr}}

/* Responsive catalogue cards and map viewport */
.grid .card{background:#fff;border:1px solid #e8ece7;border-radius:28px;overflow:hidden;box-shadow:0 12px 28px #18352912;display:flex;flex-direction:column;height:auto;transition:transform .18s ease,box-shadow .18s ease}
.grid .card:hover{transform:translateY(-2px);box-shadow:0 18px 36px #18352920}
.grid .card .photo{aspect-ratio:1.34;border-radius:0;overflow:hidden;position:relative}
.grid .card .photo img{display:block;width:100%;height:100%;object-fit:cover}
.grid .card .photo-actions{position:absolute;top:18px;right:18px;display:flex;gap:10px;z-index:3}
.grid .card .photo-actions button{position:static;width:48px;height:48px;border-radius:50%;background:#fffffff2;color:var(--ink);display:grid;place-items:center;box-shadow:0 4px 14px #18352918}
.grid .card .photo-actions .share-listing{font-size:24px}
.grid .card .photo-actions .heart{font-size:28px}
.grid .card .photo-count{position:absolute;right:18px;bottom:18px;background:#172c27e8;color:#fff;border-radius:999px;padding:9px 15px;font-size:13px;letter-spacing:.02em;z-index:3}
.grid .card .card-body{display:flex;flex:1;flex-direction:column;padding:24px 24px 22px}
.grid .card .card-meta{display:flex;flex-direction:column;align-items:flex-start;gap:3px;height:auto;min-height:0;margin:0;color:#707a75;font-size:13px;line-height:1.25;letter-spacing:.12em}
.grid .card .card-location,.grid .card .card-type{display:block}
.grid .card .card-type{font-weight:600}
.grid .card h3{min-height:0;margin:14px 0 9px;font-size:clamp(24px,2.2vw,35px);line-height:1.1;display:block;overflow:visible}
.grid .card .title-button{font:inherit;line-height:inherit;color:var(--ink);padding:0;text-align:left}
.grid .card .rating-summary{min-height:0;margin:0;color:#b87920;font-size:17px;line-height:1.35;font-weight:600}
.grid .card .card-specs{display:flex;flex-wrap:wrap;gap:10px;margin:26px 0 22px}
.grid .card .card-spec{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:10px 14px;background:#f5f5f2;border-radius:999px;color:#3d4c46;font-size:13px;white-space:nowrap}
.grid .card .card-spec-icon{display:inline-flex;align-items:center;justify-content:center;color:#173c32}
.grid .card .card-spec-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.grid .card .price-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding:22px 0 0;border-top:1px solid #e5e9e4}
.grid .card .price-row strong{font-size:31px;font-weight:600;letter-spacing:-.03em}
.grid .card .price-row small{font-size:15px;color:#6f7773}
.grid .card .card-open-action{width:52px;height:52px;border-radius:50%;background:#edf2ed;color:var(--ink);font-size:30px;line-height:1;display:grid;place-items:center;padding:0}
.grid .card .card-open-action:hover{background:#dce9df;transform:translateX(2px)}
@media(max-width:900px){.grid .card .card-body{padding:20px}.grid .card h3{font-size:28px}.grid .card .card-specs{gap:8px;margin-top:20px}.grid .card .card-spec{font-size:12px;padding:9px 11px}}
@media(max-width:600px){.grid .card{border-radius:24px}.grid .card .photo{aspect-ratio:1.12}.grid .card .photo-actions{top:14px;right:14px;gap:8px}.grid .card .photo-actions button{width:42px;height:42px}.grid .card .photo-count{right:14px;bottom:14px;padding:8px 12px}.grid .card .card-body{padding:20px 18px 18px}.grid .card h3{font-size:29px}.grid .card .card-specs{gap:8px;margin:20px 0}.grid .card .card-spec{flex:1 1 calc(50% - 8px);justify-content:center;min-width:0}.grid .card .price-row{margin-top:auto;padding-top:18px}.grid .card .price-row strong{font-size:28px}}


/* Listing card alignment: city left, property type right. */
.grid .card .card-meta{flex-direction:row;align-items:center;justify-content:space-between;gap:12px}
.grid .card .card-location,.grid .card .card-type{display:block}
.grid .card .card-type{margin-left:auto;text-align:right}

/* Original catalogue treatment: cards stay borderless until they are hovered or focused. */
.grid .card{background:transparent;border:0;border-radius:0;box-shadow:none;overflow:visible}
.grid .card:hover{background:transparent;box-shadow:none}
.grid .card .photo{border-radius:7px}

/* Homepage photo carousel and aligned property facts. */
.grid .card .card-photo-control{position:absolute;top:50%;z-index:4;width:36px;height:36px;padding:0;border-radius:50%;background:#fffffff2;color:var(--ink);display:grid;place-items:center;font-size:25px;line-height:1;box-shadow:0 4px 14px #18352918;opacity:0;transform:translateY(-50%);transition:opacity .18s ease,background .18s ease}
.grid .card .card-photo-prev{left:14px}.grid .card .card-photo-next{right:14px}.grid .card:hover .card-photo-control,.grid .card:focus-within .card-photo-control{opacity:1}.grid .card .card-photo-control:hover{background:#fff}
.grid .card h3{min-height:3.3em}.grid .card .rating-summary{min-height:1.35em}.grid .card .card-specs{min-height:42px;align-items:flex-start}.grid .card .card-spec{height:42px}
@media(max-width:600px){.grid .card .card-photo-control{opacity:.92;width:34px;height:34px;font-size:23px}.grid .card h3{min-height:3.3em}}

/* Keep photo navigation inside the highlighted card only, and avoid cramped mid-width grids. */
.grid .card .card-photo-control{opacity:0}
.grid .card.is-hovered .card-photo-control{opacity:1}
.results-layout #grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1250px){.results-layout #grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.results-layout #grid{grid-template-columns:1fr}}

/* Catalogue density: five wide, four intermediate, two mobile columns. */
.results-layout #grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 18px}
@media(min-width:1500px){.results-layout #grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:26px 16px}}
@media(max-width:900px){.results-layout #grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px}}
@media(max-width:600px){.results-layout #grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 10px}.grid .card .card-body{padding:12px 9px 12px}.grid .card .card-meta{font-size:9px;letter-spacing:.08em;gap:4px}.grid .card h3{font-size:18px;line-height:1.08;min-height:3.25em;margin:10px 0 7px}.grid .card .rating-summary{font-size:12px;line-height:1.25;min-height:2.5em}.grid .card .card-specs{gap:5px;margin:14px 0 14px;min-height:34px}.grid .card .card-spec{height:32px;min-height:32px;padding:6px 7px;gap:4px;font-size:9px}.grid .card .card-spec-icon svg{width:15px;height:15px}.grid .card .price-row{padding-top:12px;gap:5px}.grid .card .price-row strong{font-size:20px}.grid .card .price-row small{font-size:10px}.grid .card .card-open-action{width:34px;height:34px;font-size:20px}.grid .card .photo-actions{top:8px;right:8px;gap:5px}.grid .card .photo-actions button{width:30px;height:30px;font-size:19px}.grid .card .photo-actions .heart{font-size:20px}.grid .card .photo-count{right:8px;bottom:8px;padding:5px 8px;font-size:10px}.grid .card .card-photo-control{width:28px;height:28px;font-size:19px}.grid .card .card-photo-prev{left:8px}.grid .card .card-photo-next{right:8px}}

/* Keep the four-column catalogue readable in intermediate widths. */
@media(min-width:601px) and (max-width:1499px){
  .results-layout #grid{gap:26px 14px}
  .grid .card .card-body{padding:14px 12px 14px}
  .grid .card .photo-actions{top:9px;right:9px;gap:5px}
  .grid .card .photo-actions button{width:34px;height:34px;font-size:18px;line-height:1;overflow:hidden}
  .grid .card .photo-actions .heart{font-size:20px}
  .grid .card .card-meta{font-size:10px;letter-spacing:.07em;gap:6px}
  .grid .card .card-location,.grid .card .card-type{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .grid .card h3{font-size:21px;line-height:1.08;min-height:2.75em;margin:9px 0 5px}
  .grid .card .rating-summary{font-size:13px;line-height:1.25;min-height:1.6em}
  .grid .card .card-specs{gap:5px;margin:12px 0 12px;min-height:34px}
  .grid .card .card-spec{height:34px;min-height:34px;flex:1 1 calc(50% - 5px);min-width:0;padding:7px 6px;gap:4px;font-size:10px;justify-content:center;overflow:hidden}
  .grid .card .card-spec>span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis}
  .grid .card .card-spec-icon svg{width:16px;height:16px}
  .grid .card .price-row{padding-top:10px;gap:6px}
  .grid .card .price-row strong{font-size:21px}
  .grid .card .price-row small{font-size:10px}
  .grid .card .card-open-action{width:36px;height:36px;font-size:21px;flex:0 0 36px}
  .grid .card .card-photo-control{width:30px;height:30px;font-size:20px}
  .grid .card .card-photo-prev{left:8px}.grid .card .card-photo-next{right:8px}
}

/* Compact mobile cards and keep the share glyph inside its circular action. */
.grid .card .photo-actions button{overflow:hidden;line-height:1;place-items:center}
.grid .card .photo-actions .share-listing{font-family:Arial,sans-serif;font-size:18px;line-height:1;padding:0;transform:translateY(-1px)}
@media(max-width:600px){
  .grid .card h3{min-height:2.75em;margin:8px 0 4px}
  .grid .card .rating-summary{min-height:1.65em}
  .grid .card .card-specs{margin:10px 0 10px;min-height:30px}
  .grid .card .card-spec{height:30px;min-height:30px}
  .grid .card .price-row{padding-top:9px}
  .grid .card .photo-actions button{width:32px;height:32px;font-size:17px}
  .grid .card .photo-actions .share-listing{font-size:17px}
}

/* Keep desktop cards compact while preserving a shared vertical rhythm. */
@media(min-width:601px){
  .grid .card{height:100%}
  .grid .card .card-body{height:100%;padding:18px 18px 16px}
  .grid .card .photo-actions{top:12px;right:12px;gap:7px}
  .grid .card .photo-actions button{width:40px;height:40px;font-size:18px}
  .grid .card .photo-actions .heart{font-size:23px}
  .grid .card .photo-actions .share-listing{font-size:18px}
  .grid .card .card-meta{font-size:11px;letter-spacing:.09em}
  .grid .card h3{font-size:clamp(22px,2vw,31px);line-height:1.08;min-height:2.55em;margin:10px 0 6px}
  .grid .card .rating-summary{font-size:14px;line-height:1.25;min-height:1.6em}
  .grid .card .card-specs{gap:7px;margin:18px 0 16px;min-height:42px}
  .grid .card .card-spec{height:38px;min-height:38px;padding:8px 10px;font-size:12px;gap:6px}
  .grid .card .card-spec-icon svg{width:18px;height:18px}
  .grid .card .price-row{padding-top:16px}
  .grid .card .price-row strong{font-size:26px}
  .grid .card .price-row small{font-size:12px}
  .grid .card .card-open-action{width:44px;height:44px;font-size:25px;flex:0 0 44px}
}

/* At intermediate widths, reserve room for a possible second bubble row so every price aligns. */
@media(min-width:601px) and (max-width:1499px){
  .grid .card .card-body{padding:14px 12px 14px}
  .grid .card .photo-actions{top:9px;right:9px;gap:5px}
  .grid .card .photo-actions button{width:34px;height:34px;font-size:17px}
  .grid .card .photo-actions .heart{font-size:20px}
  .grid .card .photo-actions .share-listing{font-size:17px}
  .grid .card .card-meta{font-size:10px;letter-spacing:.07em}
  .grid .card h3{font-size:21px;min-height:2.35em;margin:7px 0 3px}
  .grid .card .rating-summary{font-size:13px;min-height:1.3em}
  .grid .card .card-specs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;min-height:0;margin:8px 0 8px;align-content:start}
  .grid .card .card-spec{width:100%;height:32px;min-height:32px;flex:none;padding:6px 5px;font-size:10px}
  .grid .card .price-row{padding-top:7px}
  .grid .card .price-row strong{font-size:21px}
  .grid .card .card-open-action{width:36px;height:36px;font-size:21px;flex-basis:36px}
}

@media(min-width:1251px) and (max-width:1499px){
  .grid .card h3{min-height:2.4em;margin:8px 0 4px}
  .grid .card .rating-summary{min-height:1.4em}
  .grid .card .card-specs{margin:14px 0 12px}
  .grid .card .price-row{padding-top:12px}
}

/* Five-column wide layout: keep the card hierarchy legible at the smaller card width. */
@media(min-width:1500px){
  .grid .card .card-body{padding:14px 12px 13px}
  .grid .card .photo-actions{top:9px;right:9px;gap:5px}
  .grid .card .photo-actions button{width:34px;height:34px;font-size:17px}
  .grid .card .photo-actions .heart{font-size:20px}
  .grid .card .photo-actions .share-listing{font-size:17px}
  .grid .card .card-meta{font-size:10px;letter-spacing:.07em}
  .grid .card h3{font-size:23px;min-height:2.4em;margin:7px 0 4px}
  .grid .card .rating-summary{font-size:13px;min-height:1.35em}
  .grid .card .card-specs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;min-height:0;margin:9px 0 9px}
  .grid .card .card-spec{width:100%;height:32px;min-height:32px;flex:none;padding:6px 5px;font-size:10px;gap:4px}
  .grid .card .card-spec-icon svg{width:16px;height:16px}
  .grid .card .price-row{padding-top:8px;gap:6px}
  .grid .card .price-row strong{font-size:22px}
  .grid .card .price-row small{font-size:10px}
  .grid .card .card-open-action{width:38px;height:38px;font-size:21px;flex-basis:38px}
}

/* Align the title, review line and feature bubbles across every desktop row. */
@media(min-width:601px){
  .grid .card .card-body{display:flex;flex-direction:column;align-items:stretch}
  .grid .card h3{box-sizing:border-box;height:50px;min-height:50px;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2}
  .grid .card .rating-summary{box-sizing:border-box;height:18px;min-height:18px;overflow:hidden}
  .grid .card .card-specs{box-sizing:border-box;align-self:stretch}
}
@media(min-width:601px) and (max-width:1499px){
  .grid .card .card-specs{height:69px;min-height:69px}
}
@media(min-width:1500px){
  .grid .card .card-specs{height:69px;min-height:69px}
}

/* Keep reviews above the feature bubbles and place the price divider immediately after them. */
@media(min-width:601px){
  .grid .card .card-specs{margin-top:4px;margin-bottom:4px}
  .grid .card .price-row{margin-top:0;padding-top:4px}
  .grid .card h3 .title-button{display:-webkit-box;width:100%;height:100%;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2}
}

/* Desktop cards use one aligned bubble row; the price divider follows it without a spacer. */
@media(min-width:601px) and (max-width:1499px){
  .grid .card .card-specs{height:32px;min-height:32px}
}
@media(min-width:1500px){
  .grid .card .card-specs{height:32px;min-height:32px}
}

/* Reserve the full title block so long names remain visible and every row starts its reviews together. */
@media(min-width:601px){
  .grid .card h3{height:75px;min-height:75px;-webkit-line-clamp:3;line-clamp:3}
  .grid .card h3 .title-button{-webkit-line-clamp:3;line-clamp:3}
}
@media(min-width:601px) and (max-width:1499px){
  .grid .card h3{height:69px;min-height:69px}
}

/* Keep every desktop title top-aligned and closer to the city/type row. */
@media(min-width:601px){
  .grid .card h3{display:block;margin:2px 0 4px;overflow:hidden}
  .grid .card h3 .title-button{display:block;width:100%;height:auto;overflow:visible;-webkit-line-clamp:unset;line-clamp:unset}
}

/* Give the title a little breathing room below the city/type row. */
@media(min-width:601px){
  .grid .card h3{margin-top:5px}
}

/* Homepage search: use the space from the redundant type selector for destination. */
@media(min-width:1351px){
  .search{grid-template-columns:minmax(360px,2.1fr) minmax(230px,1.2fr) minmax(145px,.8fr) minmax(145px,.8fr) auto}
}
@media(min-width:1101px) and (max-width:1350px){
  .search{grid-template-columns:minmax(280px,1.7fr) minmax(200px,1.1fr) repeat(2,minmax(130px,.8fr)) auto}
}

/* White fill inside and around the highlighted gold frame. */
.grid .card.is-hovered{background:#fff!important;box-shadow:0 0 0 14px #fff,0 16px 32px #18352922}

/* Mobile browsers should keep the page at its designed scale while text keeps its size. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
@media(max-width:600px){
  html,body{touch-action:pan-x pan-y}
}

/* Remove the legacy top type filter if an older cached HTML shell is still present. */
.search>label:has(#type){display:none!important}


/* Compact mobile listing details: two-column availability summary and booking dates. */
@media(max-width:600px){
  .public-availability{margin:24px 0;padding:14px}
  .public-availability-head{margin-bottom:14px;gap:10px}
  .public-availability-layout{gap:14px}
  .public-availability-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:14px}
  .public-availability-summary-row{padding:11px 0}
  .public-availability-summary-row span{font-size:.68rem}
  .public-availability-summary-row strong{font-size:.92rem;margin-top:3px}
  .listing-page-booking .booking-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .listing-page-booking .booking-fields label{min-width:0;padding:10px 9px;font-size:10px;gap:5px}
  .listing-page-booking .booking-fields input[type=date]{min-width:0;font-size:15px;padding:4px 0}
}


/* Homepage mobile filters: keep check-in and check-out together on one row. */
@media(max-width:600px){
  .search{grid-template-columns:repeat(2,minmax(0,1fr));}
  .search .location-search,
  .search>.budget-control,
  .search .secondary{grid-column:1/-1;}
  .search .availability-field{grid-column:auto;min-width:0;}
  .search .availability-field input[type=date],
  .search .date-display-input{min-width:0;width:100%;font-size:14px;padding-inline:10px;}
}

/* Mobile header layout: brand and utility icons above two balanced account actions. */
@media(max-width:600px){
  header{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto auto auto;
    grid-template-areas:"logo language saved notifications" "mode mode account account";
    align-items:center;
    column-gap:8px;
    row-gap:12px;
    min-height:0;
    height:auto;
    padding:16px;
  }
  header .logo{grid-area:logo;min-width:0;font-size:36px;}
  header .header-actions{display:contents;}
  header .language-switch{grid-area:language;}
  header .saved{grid-area:saved;}
  header .notifications{grid-area:notifications;}
  header #modeSwitch{grid-area:mode;width:100%;min-height:48px;padding:11px 12px;}
  header .utility-nav{grid-area:account;width:100%;min-width:0;margin:0;display:block;}
  header .utility-nav button{width:100%;min-height:48px;padding:11px 12px;}
}


/* Advanced filters stay as compact two-column cards on every mobile width. */
@media(max-width:600px){
  #advancedFilters .advanced-grid,
  #advancedFilters .priority-filter-group,
  #advancedFilters .priority-filter-group.priority-deposit{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
  }
  #advancedFilters .filter-card{
    min-height:56px;
    padding:8px 7px;
    gap:6px;
  }
  #advancedFilters .filter-card-icon{
    flex-basis:27px;
    width:27px;
    height:27px;
    font-size:15px;
  }
  #advancedFilters .filter-card-icon svg{width:17px;height:17px;}
  #advancedFilters .filter-card>span:last-child{gap:2px;}
  #advancedFilters .filter-card b{font-size:10px;line-height:1.15;}
  #advancedFilters .filter-card small{font-size:9px;line-height:1.15;}
}

/* Compact two-column availability summary aligned with the calendar. */
.public-availability-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:18px;align-content:start}
.public-availability-summary-row{padding:11px 0}
.public-availability-summary-row span{font-size:.7rem}
.public-availability-summary-row strong{font-size:1rem;margin-top:3px}
@media(max-width:700px){.public-availability-summary{column-gap:12px}.public-availability-summary-row{padding:9px 0}.public-availability-summary-row span{font-size:.66rem}.public-availability-summary-row strong{font-size:.88rem}}

/* Identity contact verification controls */
.verification-block{display:grid;gap:9px;padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:#f4f7f2}
.verification-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;color:var(--ink);font-size:13px}
.verification-code-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}
.verification-code-row input{min-width:0}
.verification-code-row button{white-space:nowrap}
@media(max-width:600px){.verification-code-row{grid-template-columns:1fr}.verification-code-row button{width:100%}.verification-heading{align-items:flex-start}.verification-heading button{width:100%}}

/* Billing cards stay in three columns on listing details, including compact screens. */
@media(max-width:600px){.listing-page-content .billing-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.listing-page-content .billing-item{min-height:86px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:6px;padding:8px;border-radius:9px}.listing-page-content .billing-icon{width:25px;height:25px;font-size:15px}.listing-page-content .billing-copy{gap:2px}.listing-page-content .billing-copy b{font-size:10px;line-height:1.12}.listing-page-content .billing-copy small{font-size:9px;line-height:1.2;overflow-wrap:anywhere}}


/* Galería del detalle: composición amplia en escritorio y tira de miniaturas en móvil. */
.listing-page-content{min-width:0}
.listing-media-display{height:auto!important;min-height:0!important;margin:0 0 18px;overflow:visible;background:transparent;border-radius:0}
.listing-gallery-frame{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(250px,1fr);gap:8px;min-height:clamp(360px,58vh,620px)}
.listing-gallery-main{position:relative;display:block;grid-column:1;grid-row:1;min-width:0;height:100%;margin:0!important}
.listing-gallery-main .carousel-stage{height:100%;border-radius:14px}
.listing-gallery-main .carousel-stage img{height:100%;min-height:0;border-radius:14px;object-fit:cover}
.listing-gallery-main .carousel-control{position:absolute;top:16px;z-index:4}
.listing-gallery-main .carousel-prev{left:16px}
.listing-gallery-main .carousel-next{right:16px}
.listing-gallery-main .carousel-caption{left:18px;right:18px;bottom:14px;border-radius:999px;padding:9px 13px;background:#132d26e8;text-shadow:none;justify-content:center;min-width:74px;max-width:max-content;margin-left:auto}
.listing-thumbnails{grid-column:2;grid-row:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:8px;min-width:0}
.listing-thumbnail{position:relative;display:block;min-width:0;min-height:0;padding:0;border:0;border-radius:10px;overflow:hidden;background:#e8ede7;cursor:pointer}
.listing-thumbnail img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .2s ease}
.listing-thumbnail:hover img{transform:scale(1.04)}
.listing-thumbnail.is-active{outline:3px solid var(--ink);outline-offset:-3px}
.listing-thumbnail-more{position:absolute;right:10px;bottom:10px;padding:8px 11px;border-radius:999px;background:#17362de8;color:#fff;font-size:11px;font-weight:600;white-space:nowrap}
.listing-protected{display:flex;align-items:center;gap:14px;margin:16px 0;padding:15px 18px;border-radius:13px;background:#eef5ef;color:var(--ink)}
.listing-protected-icon{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border:2px solid currentColor;border-radius:50%;font-size:19px;font-weight:700}
.listing-protected div{min-width:0;flex:1}.listing-protected strong{display:block;font-size:15px}.listing-protected p{margin:3px 0 0;color:#52695e;font-size:12px;line-height:1.45}.listing-protected-link{font-size:12px;text-decoration:underline;white-space:nowrap}
.listing-page-content .detail-location{margin:0 0 5px;color:var(--ink);font-size:17px;line-height:1.3;letter-spacing:.02em}
.listing-page-content .detail-topline{margin:14px 0 8px}
.listing-page-content .facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:18px 0 14px;padding:14px 0;border-block:1px solid var(--line);align-items:center}
.listing-page-content .facts>span{display:flex;align-items:baseline;justify-content:center;gap:4px;min-width:0;padding:0 10px;border-right:1px solid var(--line);text-align:center;font-size:13px;color:var(--ink)}
.listing-page-content .facts>span:last-child{border-right:0}.listing-page-content .facts b{font-size:16px;font-weight:600}.listing-page-content .facts small{font-size:12px;color:#52695e}
.mobile-booking-bar{display:none}

/* Tres columnas para los servicios del anuncio, incluidos teléfonos estrechos. */
@media(max-width:600px){
  .listing-page-content .amenity-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
  .listing-page-content .amenity{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:5px;min-height:78px;padding:8px;border-radius:9px}
  .listing-page-content .amenity-icon{width:24px;height:24px;font-size:14px;flex-basis:24px}
  .listing-page-content .amenity-icon svg{width:16px;height:16px}
  .listing-page-content .amenity-copy{gap:2px;width:100%}
  .listing-page-content .amenity-copy b{font-size:9px;line-height:1.15;overflow-wrap:anywhere}
  .listing-page-content .amenity-copy small{font-size:8px;line-height:1.15;overflow-wrap:anywhere}
  .listing-page-content .facts{gap:0;margin:14px 0 12px;padding:11px 0}
  .listing-page-content .facts>span{padding:0 4px;font-size:10px;gap:2px;line-height:1.15;flex-direction:column;align-items:center}
  .listing-page-content .facts b{font-size:12px;line-height:1.15;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .listing-page-content .facts small{font-size:9px}
  .listing-protected{gap:9px;margin:13px 0;padding:12px}.listing-protected-icon{flex-basis:28px;width:28px;height:28px;font-size:15px}.listing-protected strong{font-size:12px}.listing-protected p{font-size:10px}.listing-protected-link{font-size:10px}
  .listing-page-content .landlord-profile-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin:12px 0 10px}.listing-page-content .landlord-profile-stats b{font-size:12px}.listing-page-content .landlord-profile-stats small{font-size:8px;line-height:1.15}
  .mobile-booking-bar{position:fixed;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:center;gap:14px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fffefcf5;box-shadow:0 -8px 24px #18352918;backdrop-filter:blur(8px)}
  .mobile-booking-bar strong{font-size:20px;white-space:nowrap}.mobile-booking-bar strong small{font-size:11px;font-weight:500;color:#5f7569}.mobile-booking-bar .primary{display:flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:11px 14px;flex:1;font-size:13px;border-radius:14px}.mobile-booking-bar .primary span{font-size:22px;line-height:1}
  #detail{padding-bottom:100px}
}
@media(max-width:850px){
  .listing-gallery-frame{display:block;min-height:0}
  .listing-gallery-main{height:min(62vw,520px);min-height:300px}
  .listing-thumbnails{display:flex;gap:8px;overflow-x:auto;margin-top:8px;padding:0 2px 2px;scrollbar-width:none}
  .listing-thumbnails::-webkit-scrollbar{display:none}
  .listing-thumbnail{flex:0 0 clamp(78px,16vw,128px);height:78px}
  .listing-media-display{margin-bottom:14px}
}
@media(max-width:600px){
  .listing-gallery-main{height:clamp(250px,82vw,390px);min-height:250px}
  .listing-gallery-main .carousel-control{top:12px}.listing-gallery-main .carousel-prev{left:12px}.listing-gallery-main .carousel-next{right:12px}.listing-gallery-main .carousel-caption{bottom:10px;left:auto;right:12px;padding:7px 10px;font-size:11px}
  .listing-thumbnail{flex-basis:76px;height:64px;border-radius:8px}
  .listing-media-tabs{margin-bottom:13px}
  .listing-page-content .detail-location{font-size:15px;margin-bottom:4px}
  .listing-page-content>h2{margin-top:8px;margin-bottom:8px;font-size:clamp(30px,8vw,38px)}
}

/* Detalle: altura estable para que las fotos verticales no agranden la galería. */
.listing-gallery-frame{height:clamp(360px,58vh,620px);min-height:360px}
.listing-gallery-main,.listing-gallery-main .carousel-stage{height:100%;min-height:0;overflow:hidden}
.listing-gallery-main .carousel-stage img{width:100%;height:100%;min-height:0;object-fit:cover}
.detail-location-map{border-top:0!important;padding-top:0}

/* Panel de reserva lateral con el formato compacto de la referencia. */
.listing-page-booking .booking-panel{padding:22px 24px;border:1px solid #dce5dc;border-radius:14px;background:#fff;box-shadow:0 12px 34px #18352912}
.booking-panel-price{display:grid;gap:5px;margin:0 0 18px;color:var(--ink)}
.booking-panel-price strong{font:400 clamp(34px,3vw,44px)/1.05 Georgia,serif;letter-spacing:-1px}
.booking-panel-price strong small{font:400 17px 'DM Sans',sans-serif;letter-spacing:0;color:#52695e}
.booking-panel-price span{font-size:12px;color:#52695e}
.booking-panel .booking-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.booking-panel .booking-fields label{padding:11px 13px;border-radius:10px;background:#fff;font-size:11px;letter-spacing:0;color:#314f44}
.booking-panel .booking-fields input[type=date]{padding:5px 0 4px;border-bottom:1px solid #b9cfbd;font:400 13px 'DM Sans',sans-serif;color:#718278}
.booking-panel .booking-fields input[type=date]::-webkit-datetime-edit{color:#718278}
.booking-submit{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:10px;min-height:44px;border-radius:9px;font-size:13px}
.booking-submit span{font-size:20px;line-height:1}
.booking-no-charge{display:flex;align-items:center;justify-content:center;gap:7px;margin:11px 0 0;color:#718278;font-size:10px}
.booking-no-charge span{font-size:13px;color:var(--ink)}
.booking-divider{height:1px;margin:18px 0 14px;background:var(--line)}
.booking-side-amenities{display:grid;gap:12px;color:var(--ink)}
.booking-side-amenities p{display:flex;align-items:center;gap:10px;margin:0;font-size:13px;line-height:1.25}
.booking-side-amenities .booking-side-icon{display:inline-grid;place-items:center;flex:0 0 18px;width:18px;color:#1b6553;font-size:17px}
.booking-side-amenities .info-tip{margin-left:2px;width:18px;height:18px;font-size:11px}
.booking-quote{margin-top:16px;padding-top:12px;border-top:1px solid var(--line)}
.booking-quote:empty{display:none}
@media(max-width:850px){
  .listing-gallery-frame{height:auto;min-height:0}
  .listing-gallery-main,.listing-gallery-main .carousel-stage{height:min(62vw,520px);min-height:300px}
}
@media(max-width:600px){
  .listing-page-booking .booking-panel{padding:16px}
  .booking-panel-price strong{font-size:32px}
  .booking-panel .booking-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .booking-panel .booking-fields label{padding:9px 10px;font-size:10px}
  .booking-panel .booking-fields input[type=date]{font-size:12px}
  .booking-side-amenities{gap:10px}
  .booking-side-amenities p{font-size:12px}
}
