/* Booking features, activities and host dashboard */
dialog.wide{width:min(1040px,calc(100% - 24px))}
.muted-note{color:var(--muted);font-size:13px;margin:4px 0}
.muted-note.ok{color:#2f7a4a}.muted-note.bad{color:#a8402f}
.booking-plus fieldset{border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin:0}
.booking-plus legend{font-weight:800;padding:0 6px}
.option-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}
.option-card{position:relative;display:grid;gap:2px;border:1px solid var(--line);border-radius:10px;padding:10px 12px 10px 10px;cursor:pointer;background:#fff;font-weight:500}
.option-card input{position:absolute;inset-inline-end:10px;top:10px;width:auto}
.option-card:has(input:checked){border-color:var(--teal);background:var(--mint)}
.option-card small{color:var(--muted)}
.option-card span{color:var(--teal);font-weight:800;font-size:14px}
.check-row{display:flex!important;align-items:center;gap:8px;font-weight:500!important}
.check-row input{width:auto!important}
.check-row small{color:var(--muted);margin-inline-start:auto}
.policy-box{background:#f6f3ec;border:1px solid #ece3cf;border-radius:12px;padding:10px 12px}
.policy-box p{margin:4px 0}
.inline-field{display:flex;gap:6px}
.inline-field input{flex:1;min-width:0}
.pay-methods{display:flex;flex-wrap:wrap;gap:12px;font-size:14px}
.pay-methods label{display:flex;align-items:center;gap:6px;font-weight:500}
.pay-methods input{width:auto}
.quote-breakdown .sub{color:var(--muted);font-size:13px}
.quote-breakdown .minus b{color:#2f7a4a}
.quote-breakdown .total{border-top:1px solid var(--line);padding-top:6px;font-size:16px}
.badge{display:inline-block;border-radius:20px;padding:1px 9px;font-size:12px;font-weight:800;background:var(--mint);color:var(--teal);vertical-align:middle}
.badge.ok{background:#e6f3ea;color:#2f7a4a}.badge.warn{background:#fbf2e6;color:#8a5a1c}.badge.bad{background:#fbeae6;color:#a8402f}.badge.done{background:#eef0f0;color:#56706a}
.trip-card{flex-wrap:wrap;align-items:flex-start}
.trip-card .stay-links button{font-size:14px}
.qr-box{display:grid;justify-items:center;gap:6px;padding:16px;border:1px dashed #9ac6b5;border-radius:14px;margin:12px 0;background:#fff}
.qr-box svg{width:220px;height:220px}
.qr-box input{width:100%;border:1px solid var(--line);border-radius:8px;padding:8px;font-size:13px}
.chat-log{display:grid;gap:8px;max-height:44vh;overflow:auto;padding:10px;border:1px solid var(--line);border-radius:12px;background:#fbfcfa;margin:10px 0}
.msg{max-width:80%;justify-self:start;background:#fff;border:1px solid var(--line);border-radius:12px;padding:8px 10px}
.msg.mine{justify-self:end;background:var(--mint);border-color:#9ac6b5}
.msg.system{justify-self:center;background:#f4f2ec;font-size:13px}
.msg p{margin:0}.msg small{color:var(--muted);font-size:11px}
.chat-form{display:flex;gap:6px;margin:8px 0}
.chat-form input{flex:1;border:1px solid var(--line);border-radius:10px;padding:10px}
.smart-card{display:grid;gap:6px;min-width:180px}
.stars{display:flex;flex-direction:row-reverse;justify-content:flex-end;gap:4px}
.stars input{display:none}
.stars label{font-size:32px;color:#d2d8d5;cursor:pointer}
.stars input:checked~label,.stars label:hover,.stars label:hover~label{color:#dfaf67}
.stack textarea{border:1px solid var(--line);border-radius:8px;padding:8px;font:inherit}
.rating{color:#b07a1f;font-weight:800;font-size:14px}
.rating small{color:var(--muted)}
.reviews{border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin-top:12px}
.reviews summary{cursor:pointer;font-weight:800}
.review{border-top:1px solid var(--line);padding:8px 0}
.review .dim{color:#d2d8d5}
.review p{margin:4px 0}
.review .reply{background:var(--mint);border-radius:8px;padding:6px 8px}
.gift-card{display:grid;gap:4px;padding:14px;border-radius:14px;color:#fff;background:linear-gradient(135deg,#086b60,#0b4b51);}
.gift-card code{background:#ffffff22;border-radius:6px;padding:2px 8px;justify-self:start}
.gift-card small{opacity:.85}
/* activities */
.experiences{padding:10px 0 50px}
.sector-tabs{padding:6px 0 14px}
.offer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.offer-card{display:flex;gap:12px;border:1px solid var(--line);border-radius:16px;background:#fff;padding:14px}
.offer-card>div:last-child{flex:1;display:grid;align-content:start;gap:2px}
.offer-card h3{font-size:19px;margin:2px 0}
.offer-icon{flex:none;display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:var(--mint);color:var(--teal);font-size:26px}
/* dashboard */
.dash-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}
.dash-head label{display:grid;gap:4px;font-weight:700}
.dash-head select,.dash-filter input,.dash-filter select{border:1px solid var(--line);border-radius:8px;padding:8px}
.dash-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}
.dash-body h3{margin:16px 0 8px;font-size:19px}
.dash-filter{display:grid;grid-template-columns:2fr 1fr 1fr;gap:8px;margin-bottom:10px}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.kpi{background:var(--mint);border-radius:12px;padding:12px;text-align:center}
.kpi b{display:block;font-size:22px;color:var(--teal)}
.kpi span{font-size:13px;color:var(--muted)}
.kpi small.up{color:#2f7a4a}.kpi small.down{color:#a8402f}
.dash-cal{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-top:8px}
.cal-dow{text-align:center;color:var(--muted);font-weight:700}
.cal-day{min-height:78px;border:1px solid var(--line);border-radius:8px;padding:4px;display:grid;align-content:start;gap:2px;font-size:12px;background:#fff}
.cal-day.today{border-color:var(--teal);box-shadow:inset 0 0 0 1px var(--teal)}
.cal-item{background:#e6f3ea;color:#2f7a4a;border-radius:4px;padding:0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cal-item.act{background:#fbf2e6;color:#8a5a1c}
.scan-area video{width:100%;max-width:360px;border-radius:12px;background:#000}
.bars{display:grid;gap:6px}
.bar-row{display:grid;grid-template-columns:130px 1fr 40px;align-items:center;gap:8px;font-size:14px}
.bar{background:#eef3f0;border-radius:6px;height:12px;overflow:hidden}
.bar i{display:block;height:100%;background:var(--teal);border-radius:6px}
.perm-table{width:100%;border-collapse:collapse;font-size:14px}
.perm-table th,.perm-table td{border-bottom:1px solid var(--line);padding:6px;text-align:center}
.perm-table td:first-child,.perm-table th:first-child{text-align:right}
@media(max-width:820px){.offer-grid{grid-template-columns:repeat(2,1fr)}.dash-filter{grid-template-columns:1fr}}
@media(max-width:530px){.offer-grid{grid-template-columns:1fr}.bar-row{grid-template-columns:90px 1fr 32px}.cal-day{min-height:54px}.cal-item{display:none}}
/* Booking-style search bar & range picker */
.search.bk-search{display:grid;grid-template-columns:1.3fr 1.4fr 1.1fr auto;gap:0;padding:6px;border:3px solid #dfaf67;border-radius:14px;align-items:stretch}
.bk-field{position:relative;display:flex;align-items:center;gap:8px;padding:8px 12px;border-inline-end:1px solid var(--line);min-width:0}
.bk-ico{color:var(--teal);font-size:20px;flex:none}
.bk-label{display:grid;gap:2px;font-size:12px;font-weight:800;color:var(--muted);flex:1;min-width:0;padding:0!important;border:0!important}
.bk-label input,.bk-label button{border:0;background:none;padding:2px 0;font-size:15px;font-weight:600;color:var(--ink);text-align:start;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bk-label button small{color:var(--muted);font-weight:700;margin-inline-start:8px;background:var(--mint);border-radius:10px;padding:0 7px}
.bk-submit{margin:0 6px 0 0;border-radius:10px;font-size:17px}
.bk-search .search-nights{grid-column:1/-1;padding:4px 12px 0;font-size:13px;color:var(--muted)}
.bk-pop{position:absolute;top:calc(100% + 10px);inset-inline-start:0;z-index:20;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 40px #0f2b2633;padding:12px;min-width:300px}
.bk-pop[hidden]{display:none}
.bk-list{display:grid;gap:2px;width:340px}
.bk-list button{display:grid;grid-template-columns:28px 1fr;grid-template-rows:auto auto;column-gap:8px;text-align:start;padding:8px;border-radius:10px}
.bk-list button:hover{background:var(--mint)}
.bk-list button span{grid-row:1/3;align-self:center;font-size:18px;color:var(--teal)}
.bk-list button small{color:var(--muted)}
.bk-pop-title{color:var(--muted);font-weight:800;padding:4px 8px}
.bk-cal{width:min(660px,calc(100vw - 32px))}
.rp-head{display:flex;justify-content:space-between}
.rp-nav{width:34px;height:34px;border-radius:50%;font-size:22px;line-height:1;color:var(--teal)}
.rp-nav:hover:not(:disabled){background:var(--mint)}.rp-nav:disabled{opacity:.3}
.rp-months{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:-30px}
.rp-month>b{display:block;text-align:center;margin-bottom:8px}
.rp-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px 0}
.rp-grid small{text-align:center;color:var(--muted);font-weight:800;padding-bottom:4px}
.rp-day{height:38px;font-weight:600;border-radius:0}
.rp-day:hover:not(:disabled){outline:2px solid var(--teal);outline-offset:-2px;border-radius:8px}
.rp-day:disabled{color:#c3cdc8;text-decoration:line-through}
.rp-day.today{color:var(--teal);font-weight:900}
.rp-day.mid{background:var(--mint)}
.rp-day.start,.rp-day.end{background:var(--teal);color:#fff;border-radius:8px}
.rp-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:10px;padding-top:10px}
.rp-foot .primary,.rp-foot .outline{padding:8px 16px}
.bk-guest-pop{width:320px;display:grid;gap:10px}
.bk-step{display:flex;justify-content:space-between;align-items:center;gap:10px}
.bk-step>div:first-child{display:grid}.bk-step small{color:var(--muted);font-size:12px}
.bk-step>div:last-child{display:flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:10px;padding:3px}
.bk-step button{width:34px;height:34px;border-radius:8px;font-size:20px;color:var(--teal)}
.bk-step button:disabled{opacity:.3}
.bk-step output{min-width:22px;text-align:center;font-weight:800}
.bk-ages{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.bk-ages small{grid-column:1/-1;color:var(--muted)}
.bk-ages select{border:1px solid var(--line);border-radius:8px;padding:6px}
.stay-dates{border:1px solid var(--teal);border-radius:12px;padding:8px 12px}
.stay-dates .bk-pop{inset-inline-start:-1px}
.hold-note{background:#eef6f2;border:1px dashed #9ac6b5;border-radius:10px;padding:8px 10px;font-size:13px;margin:0}
.hold{display:inline-block;margin-top:2px}.hold.held{color:#8a5a1c}.hold.ok{color:#2f7a4a}
/* services & marketplace */
.near-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:10px 0}
.near-bar small{color:var(--muted)}
.service-card{display:grid!important;gap:4px;align-content:start}
.service-map{display:grid;gap:4px;text-align:start;justify-items:start;padding:0}
.service-shop{justify-self:start;color:var(--teal);font-weight:800;font-size:13px;background:var(--mint);border-radius:8px;padding:3px 9px}
.market-tools{display:grid;gap:8px;margin:12px 0}
.market-tools input{border:1px solid var(--line);border-radius:10px;padding:10px;max-width:420px}
.market-tools #open-orders{justify-self:start}
.market-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.merchant-card{border:1px solid var(--line);border-radius:16px;background:#fff;padding:14px;display:grid;align-content:start;gap:8px}
.merchant-card h3{margin:2px 0;font-size:19px}
.merchant-card header small{display:block;color:var(--muted);font-size:13px}
.merchant-note{color:#a8402f!important}
.merchant-card ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.merchant-card li{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:8px;border-top:1px solid var(--line);padding-top:6px;font-size:14px}
.merchant-card li .outline{padding:5px 10px;font-size:13px}
.cart-store{border:1px solid var(--line);border-radius:12px;padding:10px;display:grid;gap:8px}
.cart-store legend{font-weight:800;padding:0 6px}
.cart-store input{border:1px solid var(--line);border-radius:8px;padding:8px;width:100%}
.timeline{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}
.timeline span{font-size:11px;padding:2px 7px;border-radius:10px;background:#eef0f0;color:#8a9894}
.timeline span.done{background:#e6f3ea;color:#2f7a4a;font-weight:800}
.order-card{flex-wrap:wrap;align-items:flex-start}
@media(max-width:820px){.search.bk-search{grid-template-columns:1fr 1fr}.bk-dest{grid-column:1/-1}.bk-submit{grid-column:1/-1;margin:6px 0 0}.bk-field{border-inline-end:0;border-bottom:1px solid var(--line)}.market-grid{grid-template-columns:repeat(2,1fr)}.rp-months{grid-template-columns:1fr}.rp-months .rp-month+.rp-month{display:none}}
@media(max-width:530px){.search.bk-search{grid-template-columns:1fr}.bk-pop{position:fixed;inset:auto 8px 8px 8px;top:auto;max-height:80vh;overflow:auto;width:auto!important;min-width:0}.market-grid{grid-template-columns:1fr}}
.listing-row img{width:72px;height:56px;object-fit:cover;border-radius:8px;flex:none}
.listing-row>div:nth-child(2){flex:1}
