*{box-sizing:border-box} :root{--ivory:#f4f6f2;--sage:#dce8e2;--forest:#193b36;--blue:#438bf5;--ink:#202a29;--muted:#78827e;--line:#e8ece8;--white:#fff}body{margin:0;background:#fff;color:var(--ink);font-family:"DM Sans",sans-serif;font-size:15px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.site-header{height:82px;padding:0 clamp(20px,6vw,90px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #edf0ec;background:#fff;position:sticky;top:0;z-index:10}.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:20px;letter-spacing:-.8px}.brand-mark{height:38px;width:38px;border-radius:13px;background:var(--forest);color:#e6c78d;display:grid;place-items:center;font-family:"DM Sans";font-size:24px}.brand-light{font-weight:400}.brand small{display:block;font-size:8px;letter-spacing:1.5px;color:var(--muted);font-weight:600;margin-top:2px}.desktop-nav,.header-actions{display:flex;align-items:center;gap:28px}.desktop-nav a,.text-link{font-size:13px;color:#58635f;font-weight:600}.desktop-nav a:hover,.text-link:hover{color:var(--blue)}.header-actions{gap:18px}.header-actions form{margin:0}.mobile-menu,.mobile-nav{display:none}.page{min-height:60vh}.hero{padding:66px clamp(20px,7vw,100px) 38px;display:grid;grid-template-columns:.85fr 1.15fr;gap:55px;align-items:center;background:linear-gradient(115deg,#f5f7f3 0%,#f5f7f3 45%,#edf3ef 100%)}.hero-copy{max-width:490px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.7px;color:#718078;display:inline-flex;align-items:center;gap:8px}.eyebrow i{height:7px;width:7px;border-radius:50%;background:#82a993}.hero h1,.page-intro h1,.detail-head h1,.auth-art h1{font:700 clamp(42px,5vw,68px)/1.08 "DM Sans",sans-serif;letter-spacing:-1.8px;margin:20px 0}.hero h1 em,.page-intro h1 em{color:#648579;font-weight:600}.hero-copy>p,.page-intro>p{color:#78827e;line-height:1.8;max-width:440px}.hero-trust{display:flex;flex-wrap:wrap;gap:16px;margin-top:28px;font-size:11px;color:#68766f}.hero-photo{height:410px;position:relative;border-radius:25px;overflow:visible}.hero-photo>img{height:100%;width:100%;object-fit:cover;border-radius:25px;box-shadow:0 24px 55px #29453b20}.photo-note{position:absolute;left:-24px;bottom:24px;background:#fff;border-radius:15px;padding:14px 18px;display:flex;gap:12px;align-items:center;box-shadow:0 12px 35px #233a301a}.note-icon{height:36px;width:36px;border-radius:12px;background:#edf4ef;display:grid;place-items:center;color:#628a75}.photo-note b,.photo-note small{display:block}.photo-note b{font-size:12px}.photo-note small{font-size:10px;color:var(--muted);margin-top:4px}.search-wrap{padding:0 clamp(20px,7vw,100px);margin-top:-4px;position:relative}.search-panel{background:#fff;border:1px solid #edf0ec;border-radius:19px;padding:14px 18px 18px;box-shadow:0 18px 50px #233a3010}.booking-tabs{display:flex;gap:7px;margin-bottom:14px}.booking-tabs input{position:absolute;opacity:0}.booking-tabs span{display:block;padding:9px 16px;border-radius:10px;background:#f5f7f4;color:#68746e;font-size:12px;font-weight:700;cursor:pointer}.booking-tabs input:checked+span{background:var(--forest);color:#fff}.search-fields{display:grid;grid-template-columns:1.4fr 1fr .8fr auto;align-items:center;gap:12px}.search-field{padding:7px 13px;border-right:1px solid var(--line)}.search-field small{display:block;color:#859089;font-size:9px;font-weight:700;letter-spacing:1px;margin-bottom:6px}.search-field input,.search-field select{border:0;outline:0;width:100%;background:transparent;color:var(--ink);font-weight:600;font-size:13px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:11px;padding:13px 19px;font-weight:700;font-size:12px;cursor:pointer;transition:.2s}.btn:hover{transform:translateY(-1px);filter:brightness(.97)}.btn-blue{background:var(--blue);color:white}.btn-dark{background:var(--forest);color:#fff}.btn-white{background:#fff;color:var(--forest)}.btn-outline{background:#fff;border:1px solid #dfe6e0;color:var(--forest)}.btn-small{padding:10px 13px;font-size:11px}.btn-block{width:100%}.section{padding:75px clamp(20px,7vw,100px)}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:27px}.section-heading h2,.host-cta h2{font:700 clamp(27px,3vw,38px)/1.2 "DM Sans";margin:10px 0}.section-heading p,.host-cta p{color:var(--muted);font-size:13px}.arrow-link{font-size:12px;font-weight:700;color:#557b6c}.category-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.category-card{min-height:285px;border-radius:20px;padding:26px;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between}.day-card{background:#eaf1ec}.night-card{background:#e9eef3}.category-card>div:nth-child(2){position:relative;z-index:1;max-width:60%}.category-icon{font-size:22px;color:#557d6b}.category-card span{font-size:9px;letter-spacing:1.3px;color:#73857a;font-weight:700}.category-card h3{font:700 29px/1.12 "DM Sans";margin:9px 0}.category-card p{font-size:11px;color:#718078;line-height:1.6}.category-card b{font-size:11px;color:var(--forest)}.category-card img{position:absolute;right:0;bottom:0;width:49%;height:100%;object-fit:cover;mask-image:linear-gradient(90deg,transparent 0%,#000 35%);opacity:.94}.night-card img{width:48%}.property-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.property-card{display:block;min-width:0}.property-image{height:190px;border-radius:15px;overflow:hidden;position:relative;background:#eef1ed}.property-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.property-card:hover .property-image img{transform:scale(1.045)}.verified{position:absolute;top:12px;left:12px;background:#fff;border-radius:20px;padding:6px 9px;font-size:9px;font-weight:700;color:#47715d}.property-meta{display:flex;justify-content:space-between;gap:8px;margin-top:12px;font-size:10px;color:#89938d}.property-card h3{font-size:14px;margin:7px 0;font-weight:700}.price-row{display:flex;justify-content:space-between;gap:5px;font-size:10px;color:#6f7b74;flex-wrap:wrap}.price-row b{color:var(--forest)}.host-cta{margin:10px clamp(20px,7vw,100px) 75px;background:var(--forest);border-radius:22px;padding:42px 48px;color:#fff;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between}.host-cta .eyebrow{color:#b7c9bc}.host-cta p{color:#c3d0c8;max-width:440px;line-height:1.7}.host-art{font:700 150px "DM Sans";color:#ffffff12;letter-spacing:-20px}.host-art span{color:#e3c58d}.footer{background:#f5f7f4;padding:42px clamp(20px,7vw,100px) 20px;display:grid;grid-template-columns:1fr auto;gap:25px}.footer p{font-size:11px;color:var(--muted)}.footer-links{display:flex;gap:20px;align-items:center;font-size:11px;color:#68756e}.copyright{grid-column:1/-1;border-top:1px solid #e5eae5;padding-top:17px;font-size:10px;color:#929c95}.page-intro{padding:65px clamp(20px,7vw,100px) 28px;background:#f5f7f4}.page-intro h1{font-size:48px;margin:13px 0}.filter-bar{margin:28px clamp(20px,7vw,100px);display:flex;gap:10px}.filter-bar input,.filter-bar select,.stack-form input,.stack-form select,.stack-form textarea,.inline-form input,.inline-form select{border:1px solid #e3e9e3;border-radius:9px;padding:12px;background:#fff;min-width:0}.filter-bar input:first-child{flex:1}.listing-grid{padding:20px clamp(20px,7vw,100px) 65px;grid-template-columns:repeat(3,minmax(0,1fr))}.back-link{display:block;margin:25px clamp(20px,7vw,100px);font-size:12px;color:#6d7c73}.detail-head{padding:10px clamp(20px,7vw,100px) 25px;display:flex;justify-content:space-between;align-items:center}.detail-head h1{font-size:42px;margin:10px 0}.detail-head p{color:var(--muted);font-size:12px}.verified.large{position:static}.detail-gallery{margin:0 clamp(20px,7vw,100px);height:390px;border-radius:20px;overflow:hidden}.detail-gallery img{width:100%;height:100%;object-fit:cover}.detail-layout{padding:38px clamp(20px,7vw,100px) 70px;display:grid;grid-template-columns:1fr 360px;gap:60px}.detail-content h2{font:700 29px "DM Sans"}.detail-content h3{font:700 17px "DM Sans";margin-top:30px}.description{line-height:1.9;color:#68756e;white-space:pre-line}.amenities{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;color:#63736a;font-size:12px}.booking-box,.auth-card,.form-card{border:1px solid var(--line);border-radius:18px;padding:23px;box-shadow:0 12px 35px #20382d0a;align-self:start}.booking-box h3{font:700 23px "DM Sans";margin:10px 0 18px}.option-price{display:flex;justify-content:space-between;padding:12px 0;border-top:1px solid var(--line);font-size:12px}.option-price b{color:var(--forest)}.stack-form{display:grid;gap:13px}.stack-form label,.form-card>label{display:grid;gap:7px;font-size:11px;font-weight:700;color:#66736b}.stack-form input,.stack-form select,.stack-form textarea{width:100%;font-size:12px;font-weight:400}.muted{font-size:11px;color:var(--muted);line-height:1.6}.hidden{display:none!important}.auth-wrap{padding:60px clamp(20px,10vw,150px);display:grid;grid-template-columns:1fr 430px;gap:65px;align-items:center;background:#f5f7f4;min-height:590px}.auth-art h1{font-size:49px}.auth-art p{color:var(--muted);max-width:380px;line-height:1.8}.auth-card{background:#fff}.auth-card h2{font:700 27px "DM Sans";margin:0}.auth-card>p{color:var(--muted);font-size:12px}.auth-switch{font-size:11px;color:var(--muted);margin-top:18px}.auth-switch a{color:var(--blue);font-weight:700}.dashboard-heading{padding:50px clamp(20px,7vw,100px) 25px;display:flex;justify-content:space-between;align-items:center}.dashboard-heading h1{font:700 37px "DM Sans";margin:10px 0}.dashboard-heading p{font-size:12px;color:var(--muted)}.stats-grid{padding:10px clamp(20px,7vw,100px);display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.stat{border:1px solid var(--line);border-radius:13px;padding:17px}.stat small{display:block;font-size:9px;letter-spacing:.7px;color:var(--muted);font-weight:700}.stat b{display:block;font-size:24px;margin-top:10px;color:var(--forest)}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px}table{border-collapse:collapse;width:100%;font-size:11px;min-width:700px}th,td{text-align:left;padding:13px;border-bottom:1px solid var(--line);vertical-align:top}th{background:#f6f8f5;color:#68766e;font-size:9px;text-transform:uppercase;letter-spacing:.7px}td small{display:block;color:var(--muted);margin-top:5px}.status{font-size:10px;color:#557c66;background:#edf4ef;padding:5px 8px;border-radius:20px}.inline-form,.admin-actions{display:flex;flex-wrap:wrap;gap:5px}.inline-form input,.inline-form select{padding:7px;font-size:10px;max-width:130px}.admin-actions{min-width:190px;flex-direction:column}.admin-actions form{display:flex;gap:4px}.form-card{max-width:850px;margin:30px auto 70px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-grid label{display:grid;gap:7px;font-size:11px;font-weight:700;color:#66736b}.form-grid input,.form-grid select{width:100%;padding:11px;border:1px solid var(--line);border-radius:8px}.form-grid fieldset{border:1px solid var(--line);border-radius:12px;padding:15px;display:grid;gap:10px}.form-grid legend{font:700 15px "DM Sans"}.check{display:flex!important;align-items:center;gap:8px}.check input{width:auto}.empty-state{text-align:center;padding:55px 20px;color:var(--muted);grid-column:1/-1}.empty-state>div{font-size:35px;color:#87a393}.empty-state h3{color:var(--ink);font:700 23px "DM Sans"}.empty-state p{font-size:12px}.error-state{padding:100px 20px}.flash{margin:15px clamp(20px,7vw,100px);padding:13px 16px;border-radius:10px;font-size:12px}.flash.success{background:#eaf5ed;color:#28613e}.flash.error{background:#fff0ef;color:#a43a32}
@media(max-width:1050px){.desktop-nav{gap:14px}.hero{gap:30px}.property-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.search-fields{grid-template-columns:1fr 1fr 1fr}.search-button{grid-column:1/-1}.detail-layout{grid-template-columns:1fr 320px;gap:25px}}
@media(max-width:760px){.site-header{height:68px;padding:0 18px}.desktop-nav,.header-actions{display:none}.mobile-menu{display:block;border:0;background:#f2f5f1;border-radius:10px;padding:9px 12px;font-size:19px}.mobile-nav{display:none;position:absolute;top:68px;left:0;right:0;background:#fff;padding:18px 22px;z-index:20;box-shadow:0 15px 25px #0001}.menu-open .mobile-nav{display:grid;gap:17px}.hero{padding:43px 20px 28px;grid-template-columns:1fr;gap:25px}.hero h1{font-size:48px}.hero-photo{height:270px;margin-left:10px}.photo-note{left:-10px;bottom:12px}.search-wrap{padding:0 16px}.search-panel{padding:12px}.search-fields{grid-template-columns:1fr 1fr}.search-field{border:0;border-bottom:1px solid var(--line);padding:10px 5px}.search-button{grid-column:1/-1}.section{padding:48px 18px}.section-heading{align-items:start;gap:10px}.section-heading h2{font-size:27px}.section-heading p{font-size:11px;line-height:1.6}.arrow-link{font-size:10px;white-space:nowrap;margin-top:12px}.category-grid{grid-template-columns:1fr}.category-card{min-height:255px;padding:20px}.category-card h3{font-size:26px}.property-grid,.listing-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.property-image{height:145px}.property-card h3{font-size:12px}.property-meta{font-size:9px}.price-row{font-size:9px}.host-cta{margin:0 16px 45px;padding:28px 23px}.host-art{font-size:85px;letter-spacing:-12px}.host-cta h2{font-size:27px}.footer{padding:32px 20px 18px;grid-template-columns:1fr}.footer-links{flex-wrap:wrap}.copyright{grid-column:auto}.page-intro{padding:45px 20px 22px}.page-intro h1{font-size:39px}.filter-bar{margin:18px;display:grid;grid-template-columns:1fr 1fr}.filter-bar input:first-child{grid-column:1/-1}.filter-bar button{grid-column:1/-1}.detail-head{padding:5px 20px 18px;display:block}.detail-head h1{font-size:34px}.detail-gallery{margin:0 15px;height:250px}.detail-layout{padding:28px 18px 50px;grid-template-columns:1fr}.booking-box{order:-1}.auth-wrap{padding:35px 18px;grid-template-columns:1fr;gap:25px}.auth-art h1{font-size:38px;margin:12px 0}.auth-card{padding:20px}.dashboard-heading{padding:35px 18px 20px;gap:12px;align-items:flex-start;flex-direction:column}.dashboard-heading h1{font-size:30px}.stats-grid{padding:10px 18px;grid-template-columns:repeat(2,1fr);gap:9px}.stat{padding:13px}.stat b{font-size:20px}.form-card{margin:18px;padding:18px}.form-grid{grid-template-columns:1fr}.amenities{grid-template-columns:1fr 1fr}}
@media(max-width:390px){.property-grid,.listing-grid{grid-template-columns:1fr}.property-image{height:205px}.hero h1{font-size:43px}.section-heading{display:block}.arrow-link{display:inline-block}}

/* Search interaction refinements */
.search-fields{grid-template-columns:1.3fr 1fr 1fr .8fr auto}
.search-field input[type=date]{min-width:120px}
.filter-bar{flex-wrap:wrap;align-items:center}
.filter-bar input,.filter-bar select{min-height:42px}
.filter-bar input[type=date]{min-width:145px}
.property-card:focus-visible,.btn:focus-visible,a:focus-visible{outline:3px solid #9bc0fa;outline-offset:3px}
@media(max-width:1050px){.search-fields{grid-template-columns:1fr 1fr}.search-button{grid-column:1/-1}}
@media(max-width:760px){.search-fields{grid-template-columns:1fr 1fr}.filter-bar{display:grid;grid-template-columns:1fr 1fr}.filter-bar input:first-child{grid-column:1/-1}.filter-bar button{grid-column:1/-1}}

/* NairobiBNB hybrid property detail + booking modal */
.detail-page{padding-bottom:65px}
.detail-topline{padding:8px clamp(20px,7vw,100px) 25px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.detail-topline h1{font:700 clamp(34px,4vw,49px)/1.12 "DM Sans";letter-spacing:-1px;margin:10px 0}
.detail-topline p{color:var(--muted);font-size:12px}
.hybrid-gallery{margin:0 clamp(20px,7vw,100px);display:grid;grid-template-columns:minmax(0,1.7fr) minmax(220px,.8fr);gap:13px;height:390px}
.gallery-main{position:relative;min-width:0;border-radius:19px;overflow:hidden;background:#e8eee9}
.gallery-main img{width:100%;height:100%;object-fit:cover}
.gallery-label{position:absolute;left:18px;bottom:18px;background:#ffffffed;padding:10px 14px;border-radius:10px;font-size:11px;font-weight:700}
.gallery-side{display:grid;grid-template-rows:1fr 1fr auto;gap:12px;min-height:0}
.gallery-info-tile{border-radius:16px;background:#eaf1ec;padding:18px;display:flex;flex-direction:column;justify-content:center;gap:6px}
.gallery-info-tile>span{font-size:23px;color:#60836f}
.gallery-info-tile b{font:700 19px "DM Sans"}
.gallery-info-tile small{font-size:10px;color:#748078}
.night-tile{background:#edf1f5}
.night-tile>span{color:#607c9a}
.gallery-host-tile{display:flex;gap:11px;align-items:center;padding:13px;border:1px solid var(--line);border-radius:14px}
.host-avatar{width:35px;height:35px;display:grid;place-items:center;border-radius:50%;background:var(--forest);color:#fff;font:700 17px "DM Sans"}
.gallery-host-tile b,.gallery-host-tile small{display:block}
.gallery-host-tile b{font-size:10px}
.gallery-host-tile small{font-size:9px;color:var(--muted);margin-top:4px}
.hybrid-detail-layout{padding-top:38px;grid-template-columns:minmax(0,1fr) 350px;gap:55px}
.detail-highlights{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:35px}
.detail-highlights>div{padding:14px;border:1px solid var(--line);border-radius:13px;display:grid;gap:5px}
.detail-highlights span{font-size:17px;color:#6d8d7a}
.detail-highlights b{font-size:11px}
.detail-highlights small{font-size:9px;color:var(--muted)}
.management-note{display:flex;gap:13px;margin-top:35px;padding:18px;border-radius:14px;background:#f1f5f1}
.management-note>span{font-size:21px;color:#6f967e}
.management-note b{font-size:12px}
.management-note p{font-size:11px;line-height:1.7;color:#718078;margin-bottom:0}
.hybrid-booking-box{position:sticky;top:105px}
.booking-intro{font-size:11px;color:var(--muted);line-height:1.65}
.option-price b small{font-weight:400;color:var(--muted)}
.centered-link{display:block;text-align:center;margin-top:13px}
.booking-assurance{display:flex;gap:8px;align-items:center;margin-top:13px;font-size:10px;color:#718078}
.booking-assurance span{color:#5b8a6d;font-weight:700}
.booking-modal-backdrop{position:fixed;inset:0;z-index:100;background:#15231f99;backdrop-filter:blur(5px);display:none;align-items:center;justify-content:center;padding:22px;overflow-y:auto}
.booking-modal-backdrop.is-open{display:flex}
.booking-modal{width:min(100%,560px);max-height:min(92vh,850px);overflow-y:auto;background:#fff;border-radius:22px;padding:25px;box-shadow:0 25px 90px #101c1850;animation:modalIn .2s ease-out}
@keyframes modalIn{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
.modal-top{display:flex;justify-content:space-between;gap:15px;align-items:flex-start}
.modal-top h2{font:700 27px "DM Sans";margin:8px 0 4px}
.modal-top p{font-size:11px;color:var(--muted);margin:0 0 15px}
.modal-close{height:36px;width:36px;border:0;border-radius:50%;background:#f1f4f1;font-size:24px;color:#52645a;cursor:pointer;flex-shrink:0}
.modal-property{display:flex;gap:12px;align-items:center;padding:11px;background:#f5f7f4;border-radius:13px;margin:10px 0 18px}
.modal-property img{width:64px;height:58px;object-fit:cover;border-radius:9px}
.modal-property b,.modal-property small{display:block}
.modal-property b{font-size:12px}
.modal-property small{font-size:10px;color:var(--muted);margin-top:4px}
.modal-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.modal-booking-form label{font-size:10px}
.modal-booking-form input,.modal-booking-form select,.modal-booking-form textarea{font-size:12px}
.modal-submit-note{padding:12px;border-radius:10px;background:#f0f5f1;color:#62756a;font-size:10px;line-height:1.6}
body.modal-open{overflow:hidden}
@media(max-width:760px){
 .detail-page{padding-bottom:90px}
 .detail-topline{padding:5px 18px 17px;display:block}
 .detail-topline h1{font-size:33px}
 .detail-verified{display:inline-block;margin-top:4px}
 .hybrid-gallery{margin:0 14px;height:auto;grid-template-columns:1fr;gap:9px}
 .gallery-main{height:255px}
 .gallery-side{grid-template-columns:1fr 1fr;grid-template-rows:auto auto}
 .gallery-info-tile{min-height:112px;padding:14px}
 .gallery-info-tile b{font-size:16px}
 .gallery-host-tile{grid-column:1/-1}
 .hybrid-detail-layout{padding:25px 18px 40px;grid-template-columns:1fr;gap:22px}
 .hybrid-booking-box{display:none}
 .detail-highlights{gap:7px;margin-bottom:25px}
 .detail-highlights>div{padding:10px 8px}
 .detail-highlights b{font-size:10px}
 .detail-highlights small{font-size:8px}
 .detail-page:after{content:"";display:block}
 .detail-page .mobile-booking-spacer{height:0}
 .booking-modal-backdrop{padding:0;align-items:flex-end}
 .booking-modal{width:100%;max-height:94dvh;border-radius:22px 22px 0 0;padding:22px 18px calc(22px + env(safe-area-inset-bottom));animation:modalSheet .22s ease-out}
 @keyframes modalSheet{from{transform:translateY(35px);opacity:.7}to{transform:translateY(0);opacity:1}}
 .modal-top h2{font-size:24px}
 .modal-form-grid{gap:9px}
}

.mobile-booking-bar{display:none}
@media(max-width:760px){
 .mobile-booking-bar{position:fixed;z-index:30;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px calc(12px + env(safe-area-inset-bottom));background:#ffffffed;backdrop-filter:blur(12px);border-top:1px solid var(--line)}
 .mobile-booking-bar small,.mobile-booking-bar b{display:block}
 .mobile-booking-bar small{font-size:9px;color:var(--muted)}
 .mobile-booking-bar b{font-size:15px;color:var(--forest);margin-top:3px}
 .mobile-booking-bar .btn{min-width:155px}
}

/* --- NairobiBNB responsive polish and account experience --- */
:root{--forest-deep:#142f2b;--sage-soft:#eff4f0;--ink-soft:#52635b;--shadow-soft:0 18px 55px rgba(25,59,54,.09)}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{overflow-x:hidden}
img{max-width:100%}
button,input,select,textarea{max-width:100%}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:3px solid #9bc0fa;outline-offset:3px}
.site-header{isolation:isolate}
.mobile-menu{display:none;align-items:center;justify-content:center;width:44px;height:44px;color:var(--forest);cursor:pointer}
.mobile-nav{display:none}

/* Account access */
.auth-wrap{position:relative;isolation:isolate;grid-template-columns:minmax(0,1fr) minmax(390px,470px);gap:clamp(35px,7vw,105px);padding:clamp(42px,6vw,82px) clamp(22px,9vw,140px);min-height:680px;overflow:hidden;background:linear-gradient(130deg,#f5f7f3 0%,#edf3ef 58%,#f8faf7 100%)}
.auth-art{position:relative;z-index:1;max-width:540px;padding:14px 0}
.auth-art h1{max-width:520px;font-size:clamp(42px,5vw,62px);line-height:1.07;margin:19px 0 16px;letter-spacing:-1.8px;color:var(--forest)}
.auth-art>p{max-width:440px;font-size:14px;line-height:1.85;color:#718078}
.auth-benefits{display:grid;gap:17px;margin-top:34px;max-width:440px}
.auth-benefits>div{display:flex;align-items:center;gap:14px}
.auth-benefits>div>span{width:36px;height:36px;border:1px solid #d6e1d9;border-radius:12px;display:grid;place-items:center;color:#6e907c;font-size:10px;font-weight:700;flex:0 0 auto;background:#ffffff91}
.auth-benefits b,.auth-benefits small{display:block}
.auth-benefits b{font-size:12px;color:#33443b}
.auth-benefits small{font-size:10px;color:#87928b;margin-top:4px}
.auth-art-note{display:flex;align-items:center;gap:11px;margin-top:37px;padding-top:20px;border-top:1px solid #dfe8e1;max-width:440px}
.auth-note-mark{width:37px;height:37px;border-radius:12px;background:var(--forest);color:#e6c78d;display:grid;place-items:center;font:700 22px "DM Sans"}
.auth-art-note b,.auth-art-note small{display:block}
.auth-art-note b{font-size:10px;color:var(--forest)}
.auth-art-note small{font-size:9px;color:#8a958e;margin-top:3px}
.auth-orb{position:absolute;z-index:-1;border-radius:50%;pointer-events:none}
.auth-orb-one{width:390px;height:390px;right:-145px;top:-80px;background:radial-gradient(circle at 35% 35%,#dce8e2 0%,#e5eee8 50%,#e5eee800 72%)}
.auth-orb-two{width:310px;height:310px;left:-170px;bottom:-180px;border:1px solid #d8e4dc}
.auth-card{position:relative;z-index:2;width:100%;max-width:470px;justify-self:end;padding:clamp(24px,3vw,36px);border:1px solid #e7ede8;border-radius:23px;background:#ffffff;box-shadow:0 24px 70px rgba(35,61,48,.10)}
.auth-card-heading{margin-bottom:23px}
.auth-card-heading h2{font:700 30px/1.18 "DM Sans";letter-spacing:-.5px;color:#203b33;margin:10px 0 7px}
.auth-card-heading p{font-size:12px;line-height:1.6;color:#849087;margin:0}
.auth-form{gap:15px}
.auth-field{display:grid;gap:7px;color:#4f6158;font-size:11px;font-weight:700}
.auth-field>input,.password-control input{width:100%;height:48px;padding:0 14px;border:1px solid #e2e9e3;border-radius:10px;background:#fcfdfb;color:#26372f;font-size:13px;font-weight:500;outline:none;transition:border-color .18s,box-shadow .18s}
.auth-field>input:focus,.password-control input:focus{border-color:#89a998;box-shadow:0 0 0 3px rgba(110,150,125,.13)}
.auth-field input::placeholder{color:#aab4ad;font-weight:400}
.field-label{display:block;color:#4f6158;font-size:11px;font-weight:700}
.field-hint{font-size:10px;color:#89958d;font-weight:400;line-height:1.5}
.password-control{position:relative;display:block}
.password-control input{padding-right:66px}
.password-toggle{position:absolute;top:50%;right:8px;transform:translateY(-50%);border:0;background:#eef3ef;color:#537261;border-radius:7px;padding:7px 9px;font-size:10px;font-weight:700;cursor:pointer}
.password-strength{display:grid;gap:6px}
.strength-track{height:5px;background:#edf1ed;border-radius:20px;overflow:hidden}
.strength-track i{display:block;width:0;height:100%;border-radius:20px;background:#ca8a4a;transition:width .2s,background .2s}
.password-strength small{font-size:9px;color:#89958d;font-weight:500}
.password-strength.is-medium .strength-track i{background:#d5a34f}
.password-strength.is-strong .strength-track i{background:#5d9271}
.password-strength.is-weak .strength-track i{background:#cb755e}
.account-type-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:2px}
.account-type-option{display:block;cursor:pointer}
.account-type-option>input{position:absolute;opacity:0;pointer-events:none}
.account-type-card{display:grid;gap:5px;height:100%;min-height:99px;padding:12px;border:1px solid #e4eae5;border-radius:11px;background:#fcfdfb;transition:.18s}
.account-type-icon{font-size:17px;color:#6d927b}
.account-type-card b{font-size:11px;color:#33443b}
.account-type-card small{font-size:9px;color:#8a958d;line-height:1.45}
.account-type-option>input:checked+.account-type-card{border-color:#6f9a80;background:#f0f6f1;box-shadow:inset 0 0 0 1px #6f9a80}
.account-type-option>input:focus-visible+.account-type-card{outline:3px solid #9bc0fa;outline-offset:3px}
.auth-privacy-note{display:flex;align-items:center;gap:8px;margin:0;padding:11px 12px;border-radius:9px;background:#f2f6f2;color:#77847b;font-size:10px;line-height:1.5}
.auth-privacy-note span{color:#54856a;font-weight:700}
.auth-submit{min-height:49px;margin-top:2px;font-size:12px;box-shadow:0 8px 18px rgba(25,59,54,.13)}
.auth-submit span{font-size:16px}
.auth-switch{font-size:11px;text-align:center;color:#849087;margin:18px 0 0}
.auth-switch a{color:#3b7658}
.auth-bottom-note{border-top:1px solid #edf0ec;margin-top:19px;padding-top:13px;text-align:center;color:#a0aaa3;font-size:9px;line-height:1.55}
.auth-login .auth-card{max-width:440px}
.auth-login .auth-wrap{min-height:620px}

/* Mobile navigation */
@media(max-width:980px){
 .site-header{height:72px;padding:0 22px}
 .desktop-nav,.header-actions{display:none}
 .mobile-menu{display:inline-flex;border:1px solid #e5ebe6;background:#f4f7f4;border-radius:12px}
 .mobile-nav{display:none;position:fixed;top:72px;left:0;right:0;z-index:50;padding:14px 20px 22px;background:#fff;border-top:1px solid #edf1ed;box-shadow:0 20px 35px rgba(25,48,37,.14);max-height:calc(100dvh - 72px);overflow:auto}
 body.menu-open .mobile-nav{display:grid;gap:0}
 .mobile-nav>a,.mobile-logout{display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:9px 2px;border:0;border-bottom:1px solid #f0f3f0;background:transparent;color:#36483f;font-size:13px;font-weight:600;text-align:left}
 .mobile-nav>a span,.mobile-logout span{color:#779482}
 .mobile-nav-divider{height:10px}
 .mobile-nav form{margin:0}
 .mobile-logout{width:100%;cursor:pointer}
 .mobile-nav-join{margin-top:9px!important;padding:13px 15px!important;border:0!important;border-radius:10px;background:var(--forest)!important;color:#fff!important}
}

/* Responsive layouts across the site */
@media(max-width:760px){
 .brand{font-size:18px}
 .brand-mark{width:35px;height:35px}
 .hero{padding:38px 19px 27px}
 .hero h1{font-size:clamp(39px,10vw,49px);line-height:1.06}
 .hero-copy>p{font-size:13px;line-height:1.7}
 .hero-trust{gap:9px 13px;font-size:10px}
 .hero-photo{height:clamp(220px,62vw,310px);margin-left:7px;margin-right:2px}
 .photo-note{padding:11px 13px;max-width:calc(100% - 12px)}
 .search-wrap{padding:0 14px}
 .search-panel{border-radius:15px}
 .section{padding:43px 17px}
 .section-heading{gap:14px}
 .section-heading h2{line-height:1.18}
 .property-grid,.listing-grid{gap:15px}
 .property-image{height:clamp(130px,34vw,180px)}
 .property-meta{align-items:flex-start;flex-wrap:wrap}
 .category-card>div:nth-child(2){max-width:65%}
 .host-cta{gap:15px;align-items:flex-start}
 .host-art{font-size:70px;letter-spacing:-9px}
 .page-intro h1{font-size:clamp(32px,8vw,41px);line-height:1.12}
 .filter-bar{gap:8px}
 .filter-bar input,.filter-bar select{width:100%;min-width:0;font-size:12px}
 .dashboard-heading{padding:31px 18px 20px}
 .dashboard-heading .btn{width:100%}
 .stats-grid{padding:8px 18px;grid-template-columns:repeat(2,minmax(0,1fr))}
 .form-card{margin:16px 14px 40px;padding:18px}
 .form-grid{gap:12px}
 .table-wrap{max-width:calc(100vw - 28px)}
 .table-wrap table{min-width:680px}
 .flash{margin:12px 14px;padding:12px;font-size:11px}
 .footer{padding:30px 18px 18px;gap:18px}
 .footer-links{gap:13px 17px}
 .detail-topline h1{overflow-wrap:anywhere}
 .hybrid-gallery{margin:0 13px}
 .gallery-main{height:clamp(215px,64vw,300px)}
 .detail-highlights{grid-template-columns:repeat(3,minmax(0,1fr))}
 .management-note{align-items:flex-start}
}
@media(max-width:540px){
 .search-fields{grid-template-columns:1fr;gap:3px}
 .search-field{border:0;border-bottom:1px solid var(--line);padding:10px 5px}
 .search-field input,.search-field select{font-size:14px;min-height:30px}
 .search-field input[type=date]{min-width:0;width:100%}
 .search-button{grid-column:1/-1;width:100%;margin-top:8px;min-height:46px}
 .booking-tabs{display:grid;grid-template-columns:1fr 1fr}
 .booking-tabs label span{text-align:center}
 .category-card{min-height:235px}
 .category-card>div:nth-child(2){max-width:72%}
 .category-card img{width:45%}
 .property-grid,.listing-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .property-image{height:135px;border-radius:12px}
 .property-meta{font-size:9px;gap:4px}
 .property-card h3{font-size:11px;line-height:1.35}
 .price-row{font-size:9px;display:grid;gap:4px}
 .filter-bar{grid-template-columns:1fr;margin:15px}
 .filter-bar input:first-child,.filter-bar button{grid-column:auto}
 .auth-wrap{padding:27px 14px 34px;grid-template-columns:minmax(0,1fr);gap:20px;min-height:0}
 .auth-art{padding:2px 4px 0}
 .auth-art h1{font-size:36px;line-height:1.06;margin:12px 0 9px;max-width:420px}
 .auth-art>p{font-size:12px;line-height:1.65;margin:0;max-width:430px}
 .auth-benefits{grid-template-columns:1fr;gap:10px;margin-top:18px}
 .auth-benefits>div{gap:10px}
 .auth-benefits>div>span{width:31px;height:31px;border-radius:10px}
 .auth-benefits b{font-size:10px}
 .auth-benefits small{font-size:9px}
 .auth-art-note{display:none}
 .auth-card{max-width:none;padding:22px 18px;border-radius:18px}
 .auth-card-heading{margin-bottom:18px}
 .auth-card-heading h2{font-size:26px}
 .auth-form{gap:13px}
 .auth-field{font-size:11px}
 .auth-field>input,.password-control input{height:49px;font-size:16px}
 .account-type-card{min-height:91px;padding:10px}
 .account-type-card b{font-size:10px}
 .account-type-card small{font-size:8px}
 .auth-bottom-note{font-size:8px}
 .account-overview{grid-template-columns:1fr;margin:0 15px}
 .account-bookings{padding:34px 15px 50px}
 .account-section-heading{display:block}
 .customer-booking-card{grid-template-columns:92px minmax(0,1fr);gap:12px;padding:12px}
 .customer-booking-image{height:112px}
 .customer-booking-main{min-width:0}
 .customer-booking-top{flex-wrap:wrap;gap:6px}
 .booking-facts{grid-template-columns:1fr 1fr;gap:8px}
 .customer-booking-total{grid-column:1/-1;border-top:1px solid var(--line);padding:10px 0 0;display:flex;align-items:center;justify-content:space-between;gap:8px}
 .customer-booking-total span{display:none}
 .confirmed-location{grid-column:1/-1}
 .detail-highlights{grid-template-columns:repeat(3,minmax(0,1fr))}
 .detail-highlights>div{min-width:0}
 .detail-highlights b{overflow-wrap:anywhere}
}
@media(max-width:370px){
 .brand small{font-size:7px;letter-spacing:1.1px}
 .property-grid,.listing-grid{grid-template-columns:1fr}
 .property-image{height:190px}
 .auth-art h1{font-size:32px}
 .account-type-grid{grid-template-columns:1fr}
 .customer-booking-card{grid-template-columns:1fr}
 .customer-booking-image{height:160px}
}

/* Customer dashboard */
.account-page{padding-bottom:35px;background:linear-gradient(180deg,#f7f9f6 0%,#fff 420px)}
.account-welcome{padding-top:43px}
.account-welcome .btn{min-width:155px}
.account-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin:8px clamp(20px,7vw,100px) 28px}
.account-overview-card{display:flex;gap:13px;align-items:center;min-width:0;padding:18px;border:1px solid #e8eee8;background:#fff;border-radius:15px;box-shadow:0 8px 25px rgba(26,55,42,.035)}
.overview-icon{width:39px;height:39px;flex:0 0 auto;display:grid;place-items:center;border-radius:12px;background:#eff5f0;color:#60866e;font-size:19px}
.account-overview-card small,.account-overview-card b,.account-overview-card div>span{display:block}
.account-overview-card small{font-size:8px;letter-spacing:1px;color:#89958d;font-weight:700}
.account-overview-card b{font-size:13px;color:#35483e;margin-top:5px;overflow-wrap:anywhere}
.account-overview-card div>span{font-size:9px;color:#8a958e;margin-top:4px;overflow-wrap:anywhere}
.account-bookings{padding:25px clamp(20px,7vw,100px) 55px}
.account-section-heading{margin-bottom:20px}
.account-section-heading h2{margin:8px 0;font:700 31px "DM Sans"}
.account-section-heading p{max-width:530px;line-height:1.6}
.booking-cards{display:grid;gap:13px}
.customer-booking-card{display:grid;grid-template-columns:160px minmax(0,1fr) 175px;gap:20px;align-items:stretch;padding:15px;border:1px solid #e7ece7;border-radius:16px;background:#fff;box-shadow:0 8px 26px rgba(24,54,39,.035)}
.customer-booking-image{height:100%;min-height:148px;border-radius:12px;overflow:hidden;background:#edf2ee}
.customer-booking-image img{width:100%;height:100%;object-fit:cover}
.customer-booking-main{min-width:0;padding:2px 0}
.customer-booking-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.booking-reference{font-size:9px;font-weight:700;letter-spacing:.5px;color:#819087}
.customer-booking-main h3{margin:9px 0 4px;font-size:15px;color:#293c32;overflow-wrap:anywhere}
.booking-location{margin:0;font-size:10px;color:#869189}
.booking-location span{color:#6c927a}
.booking-facts{display:flex;flex-wrap:wrap;gap:19px;margin-top:16px}
.booking-facts small,.booking-facts b{display:block}
.booking-facts small,.customer-booking-total small,.confirmed-location small{font-size:8px;color:#929d95;font-weight:700;letter-spacing:.6px}
.booking-facts b{font-size:10px;color:#4c5d53;margin-top:5px}
.customer-booking-total{display:flex;flex-direction:column;justify-content:center;padding:12px 14px;border-left:1px solid #edf0ed}
.customer-booking-total b{font:700 18px "DM Sans";color:var(--forest);margin:7px 0}
.customer-booking-total span{font-size:9px;line-height:1.5;color:#929d95}
.confirmed-location{display:grid;gap:5px;margin-top:12px;padding:10px 11px;border-radius:9px;background:#f1f6f2}
.confirmed-location b{font-size:10px;color:#3d654d;overflow-wrap:anywhere}
.status{white-space:normal;display:inline-flex;align-items:center;text-transform:capitalize}
.account-empty{padding:48px 20px;border:1px dashed #dce6dd;border-radius:17px;background:#fbfcfa}
.account-empty p{max-width:430px;margin:0 auto 18px;line-height:1.7}
@media(max-width:950px){
 .auth-wrap{grid-template-columns:minmax(0,1fr) minmax(340px,430px);gap:35px;padding-left:5vw;padding-right:5vw}
 .customer-booking-card{grid-template-columns:125px minmax(0,1fr)}
 .customer-booking-total{grid-column:2;border-left:0;border-top:1px solid #edf0ed;padding:10px 0 0;display:grid;grid-template-columns:auto auto;justify-content:start;align-items:center;column-gap:12px}
 .customer-booking-total b{margin:0}
 .customer-booking-total span{grid-column:1/-1}
}
@media(max-width:760px){
 .account-overview{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 .account-help-card{grid-column:1/-1}
 .account-bookings{padding-left:18px;padding-right:18px}
 .account-section-heading h2{font-size:27px}
}
.auth-field #password-match.is-match{color:#54856a}
.auth-field #password-match.is-mismatch{color:#b85d4e}
@media(max-width:540px){
 .auth-wrap.auth-login .auth-benefits{display:none}
 .auth-wrap.auth-login{padding-top:35px}
 .auth-wrap.auth-login .auth-art-note{display:none}
 .customer-booking-top .status{font-size:8px;padding:5px 7px}
 .booking-facts{gap:9px 13px}
 .customer-booking-main h3{font-size:13px}
}

/* Account landing pages — warm, practical dashboards for guests and hosts */
.guest-dashboard,.host-dashboard{max-width:1440px;margin:0 auto;padding:28px clamp(16px,5.5vw,76px) 76px}
.guest-welcome,.host-welcome{position:relative;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(230px,.65fr);gap:28px;align-items:center;min-height:248px;padding:38px 42px;border:1px solid #e6ede7;border-radius:23px;background:linear-gradient(112deg,#f3f7f2 0%,#edf3ee 62%,#e6eee9 100%);overflow:hidden}
.guest-welcome-copy,.host-welcome-copy{position:relative;z-index:1;max-width:690px}
.guest-welcome h1,.host-welcome h1{max-width:680px;margin:14px 0 9px;color:#243b31;font:700 clamp(34px,4.1vw,51px)/1.08 "DM Sans",sans-serif;letter-spacing:-1.25px}
.guest-welcome-copy>p,.host-welcome-copy>p{max-width:590px;margin:0;color:#718078;font-size:13px;line-height:1.8}
.guest-welcome-actions,.host-welcome-actions{display:flex;align-items:center;gap:19px;flex-wrap:wrap;margin-top:22px}
.guest-quiet-link,.host-welcome-actions>span{font-size:11px;font-weight:700;color:#61776a}
.guest-welcome-aside{max-width:250px;justify-self:end;padding:17px 0 17px 22px;border-left:1px solid #d9e4dc}
.welcome-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:#193b36;color:#e4c78e;font:700 25px "DM Sans"}
.welcome-aside-label{display:block;margin-top:14px;color:#3c5949;font-size:12px;font-weight:700}
.guest-welcome-aside p{margin:7px 0 0;color:#7b8980;font-size:10px;line-height:1.75}
.guest-stat-grid,.host-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin:17px 0 33px}
.guest-stat-card,.host-stat-card{display:flex;gap:13px;align-items:center;min-width:0;padding:17px 19px;border:1px solid #e9eee9;border-radius:15px;background:#fff;box-shadow:0 8px 24px rgba(27,51,38,.025)}
.guest-stat-icon,.host-stat-icon{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border-radius:13px;background:#edf4ef;color:#57816a;font-size:19px}
.guest-stat-icon.icon-blue,.host-stat-icon.host-icon-blue{background:#edf3fb;color:#5c82b2}
.guest-stat-icon.icon-gold,.host-stat-icon.host-icon-gold{background:#f7f2e7;color:#a28753}
.host-stat-icon.host-icon-green{background:#eaf3ec;color:#4e835f}
.guest-stat-card small,.guest-stat-card b,.guest-stat-card span,.host-stat-card small,.host-stat-card b,.host-stat-card span{display:block}
.guest-stat-card small,.host-stat-card small{color:#89968e;font-size:8px;font-weight:700;letter-spacing:1.05px}
.guest-stat-card b,.host-stat-card b{margin:4px 0 1px;color:#2d4337;font:700 23px "DM Sans"}
.guest-stat-card div>span,.host-stat-card div>span{color:#89958e;font-size:9px}
.guest-dashboard-grid,.host-dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:30px;align-items:start}
.guest-main-column,.host-listings-column{min-width:0}
.dashboard-section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:5px 0 17px}
.dashboard-section-head h2{margin:7px 0 4px;color:#293d32;font:700 29px/1.15 "DM Sans"}
.dashboard-section-head p{margin:0;color:#87928b;font-size:11px;line-height:1.6}
.inline-arrow{flex:0 0 auto;color:#537a63;font-size:10px;font-weight:700}
.inline-arrow span{font-size:14px;margin-left:4px}
.guest-booking-list{display:grid;gap:13px}
.guest-booking-card{display:grid;grid-template-columns:142px minmax(0,1fr) 137px;gap:17px;align-items:stretch;padding:13px;border:1px solid #e7ece7;border-radius:16px;background:#fff;box-shadow:0 7px 22px rgba(24,54,39,.025)}
.guest-booking-photo{min-height:150px;border-radius:11px;overflow:hidden;background:#edf2ed}
.guest-booking-photo img,.guest-featured-image img,.host-property-photo img{width:100%;height:100%;object-fit:cover;display:block}
.photo-placeholder,.guest-featured-image>span,.host-property-photo>span,.host-request-property>span{display:grid;place-items:center;width:100%;height:100%;color:#77927f;font-size:35px;background:linear-gradient(145deg,#e9f0ea,#dce8df)}
.guest-booking-info{min-width:0;padding:3px 0}
.guest-booking-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.guest-booking-meta>span:first-child{color:#8c9890;font-size:8px;font-weight:700;letter-spacing:.55px}
.guest-booking-meta .status{font-size:8px;padding:5px 8px}
.guest-booking-info h3{margin:9px 0 3px;color:#2c4035;font-size:14px;line-height:1.4}
.guest-booking-area{margin:0;color:#87938b;font-size:9px}
.guest-booking-details{display:flex;flex-wrap:wrap;gap:15px;margin-top:15px}
.guest-booking-details small,.guest-booking-details b{display:block}
.guest-booking-details small{color:#9aa49d;font-size:7px;font-weight:700;letter-spacing:.85px}
.guest-booking-details b{margin-top:4px;color:#526459;font-size:9px;font-weight:700}
.guest-confirmed-location{display:grid;gap:4px;margin-top:10px;padding:9px 10px;border-radius:8px;background:#f0f6f1}
.guest-confirmed-location small{color:#83978a;font-size:7px;font-weight:700;letter-spacing:.7px}
.guest-confirmed-location b{color:#42664f;font-size:9px;overflow-wrap:anywhere}
.guest-booking-note{margin:10px 0 0;color:#718678;font-size:9px;line-height:1.55}
.guest-booking-price{display:flex;flex-direction:column;justify-content:center;padding:10px 0 10px 13px;border-left:1px solid #edf0ed}
.guest-booking-price small{color:#9aa39d;font-size:7px;font-weight:700;letter-spacing:.75px}
.guest-booking-price b{margin:7px 0 3px;color:#27483a;font:700 18px "DM Sans";overflow-wrap:anywhere}
.guest-booking-price span{color:#929d96;font-size:8px;line-height:1.5}
.guest-side-column,.host-side-column{display:grid;gap:13px}
.guest-side-card,.host-side-card{padding:19px;border:1px solid #e8ede8;border-radius:16px;background:#fff}
.guest-side-card h3,.host-side-card h3{margin:8px 0;color:#2c4035;font:700 20px/1.2 "DM Sans"}
.booking-guide-list{display:grid;gap:16px;padding:0;margin:18px 0 0;list-style:none}
.booking-guide-list li{display:flex;gap:11px;align-items:flex-start}
.booking-guide-list li>span{display:grid;place-items:center;flex:0 0 25px;width:25px;height:25px;border:1px solid #dbe7dd;border-radius:50%;color:#63836d;font-size:10px;font-weight:700}
.booking-guide-list b,.booking-guide-list small{display:block}
.booking-guide-list b{color:#42564a;font-size:10px}
.booking-guide-list small{margin-top:4px;color:#89958d;font-size:9px;line-height:1.5}
.guest-help-card{display:grid;grid-template-columns:35px minmax(0,1fr);gap:10px;align-items:start;background:#f7f8f5}
.help-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#e8eee8;color:#587764;font:700 15px "DM Sans"}
.guest-help-card h3{margin:2px 0 5px;font-size:17px}
.guest-help-card p,.guest-discover-card p,.host-side-card p{margin:0;color:#849188;font-size:9px;line-height:1.7}
.help-footnote{grid-column:1/-1;padding-top:10px;border-top:1px solid #e8ede8;color:#87938b;font-size:8px;overflow-wrap:anywhere}
.guest-discover-card{background:#edf3ee}
.guest-discover-card h3{font-size:19px}
.guest-discover-card a,.host-side-action{display:inline-flex;margin-top:13px;color:#496f57;font-size:9px;font-weight:700}
.guest-discover-card a span,.host-side-action span{margin-left:5px}
.guest-first-booking,.host-first-listing{display:grid;grid-template-columns:190px minmax(0,1fr);gap:25px;align-items:center;padding:24px;border:1px dashed #dce6dd;border-radius:17px;background:#fbfcfa}
.first-booking-art{position:relative;display:grid;place-items:center;height:160px;overflow:hidden;border-radius:13px;background:linear-gradient(145deg,#e7efe8,#d7e5dc)}
.first-booking-art>span{z-index:1;color:#567c63;font:700 72px "DM Sans"}
.first-booking-art i{position:absolute;bottom:-34px;width:175px;height:85px;border-radius:50%;background:#c7d8cb}
.first-booking-art i:nth-child(2){bottom:-49px;background:#b6cbbb;width:220px}
.first-booking-art i:nth-child(3){bottom:-60px;background:#a8c1ae;width:250px}
.first-booking-copy h3,.host-first-listing h3{margin:8px 0;color:#2d4235;font:700 23px/1.2 "DM Sans"}
.first-booking-copy p,.host-first-listing p{max-width:500px;margin:0 0 15px;color:#7d8b81;font-size:10px;line-height:1.8}
.guest-discover-section{margin-top:42px}
.guest-featured-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.guest-featured-card{min-width:0;border:1px solid #e8ede8;border-radius:14px;overflow:hidden;background:#fff;transition:transform .2s,box-shadow .2s}
.guest-featured-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(27,51,38,.08)}
.guest-featured-image{height:130px;background:#edf2ed}
.guest-featured-copy{display:grid;gap:5px;padding:12px}
.guest-featured-copy>small{color:#87958b;font-size:8px}
.guest-featured-copy>b{color:#34483b;font-size:11px}
.guest-featured-copy>span{display:flex;justify-content:space-between;align-items:center;color:#728078;font-size:9px}
.guest-featured-copy i{color:#63856f;font-size:14px;font-style:normal}
/* Host studio */
.host-dashboard{padding-top:28px}
.host-welcome{grid-template-columns:minmax(0,1.35fr) minmax(230px,.65fr);background:linear-gradient(112deg,#f4f6f0 0%,#eef3e9 60%,#e7eee4 100%)}
.host-welcome h1{max-width:570px}
.host-welcome-illustration{position:relative;justify-self:end;width:min(100%,260px);height:176px;padding:13px;border:1px solid #dce7dc;border-radius:16px;background:#ffffffa6;box-shadow:0 14px 35px rgba(43,67,48,.06);transform:rotate(2deg)}
.host-illustration-window{height:100%;padding:8px;border-radius:10px;background:#f5f7f0}
.host-illustration-window>span{display:inline-block;width:6px;height:6px;margin-right:4px;border-radius:50%;background:#c6d6c5}
.host-illustration-scene{position:relative;height:105px;margin-top:10px;overflow:hidden;border-radius:7px;background:linear-gradient(150deg,#dbe8dc 0 55%,#b9d0bb 55%)}
.host-illustration-scene:before{content:"";position:absolute;right:24px;top:13px;width:54px;height:45px;border:7px solid #f9f8ed;background:#b9d1d8}
.host-illustration-scene:after{content:"";position:absolute;left:0;right:0;bottom:0;height:31px;background:#b6c7ae}
.host-illustration-scene i{position:absolute;z-index:1;left:24px;bottom:13px;width:82px;height:35px;border-radius:8px 8px 4px 4px;background:#f5f0e4}
.host-illustration-scene b{position:absolute;z-index:2;left:38px;bottom:8px;width:17px;height:23px;border-radius:4px;background:#9aab91}
.host-illustration-scene em{position:absolute;z-index:2;left:91px;bottom:8px;width:17px;height:23px;border-radius:4px;background:#9aab91}
.host-illustration-caption{position:absolute;right:16px;bottom:-14px;display:grid;gap:3px;padding:9px 12px;border:1px solid #e5ebe3;border-radius:9px;background:#fff;box-shadow:0 8px 19px rgba(35,58,42,.08)}
.host-illustration-caption b{color:#425846;font-size:9px}
.host-illustration-caption small{color:#89958c;font-size:7px}
.host-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.host-dashboard-grid{grid-template-columns:minmax(0,1fr) 278px;gap:24px}
.host-property-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.host-property-card{min-width:0;overflow:hidden;border:1px solid #e8ede8;border-radius:15px;background:#fff}
.host-property-photo{position:relative;height:155px;background:#edf2ed}
.host-property-status{position:absolute;left:10px;top:10px;padding:6px 8px;border-radius:20px;background:#fff;color:#587461;font-size:8px;font-weight:700;box-shadow:0 3px 10px rgba(0,0,0,.06)}
.host-property-status.status-rejected{background:#fff0ed;color:#aa6457}
.host-property-status.status-suspended{background:#f2f1ed;color:#817968}
.host-property-copy{padding:13px}
.host-property-copy>small{color:#8c988f;font-size:8px}
.host-property-copy h3{margin:5px 0 10px;color:#32473a;font-size:13px;line-height:1.4}
.host-property-facts{display:flex;gap:13px;color:#8b968e;font-size:8px}
.host-property-facts b{color:#536b59}
.host-property-prices{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px;padding-top:10px;border-top:1px solid #edf0ed}
.host-property-prices span{display:grid;gap:3px;color:#919b94;font-size:7px}
.host-property-prices b{color:#45634e;font-size:9px}
.host-card-link{display:inline-block;margin-top:12px;color:#4e795c;font-size:9px;font-weight:700}
.host-review-note{margin:10px 0 0;color:#89958c;font-size:8px;line-height:1.55}
.host-first-listing{grid-template-columns:170px minmax(0,1fr);padding:20px}
.host-first-art{position:relative;display:grid;place-items:center;height:142px;overflow:hidden;border-radius:12px;background:linear-gradient(145deg,#e8efe7,#dbe7da)}
.host-first-art>span{z-index:1;color:#5c7d60;font:700 68px "DM Sans"}
.host-first-art i{position:absolute;bottom:-33px;width:160px;height:75px;border-radius:50%;background:#c5d8c2}
.host-first-art i:last-child{bottom:-46px;width:210px;background:#b2c9ae}
.host-checklist-card ul{display:grid;gap:15px;margin:18px 0 0;padding:0;list-style:none}
.host-checklist-card li{display:flex;gap:10px;align-items:flex-start}
.host-checklist-card li>span{display:grid;place-items:center;flex:0 0 22px;width:22px;height:22px;border-radius:7px;background:#edf4ee;color:#5c8565;font-size:10px;font-weight:700}
.host-checklist-card li b,.host-checklist-card li small{display:block}
.host-checklist-card li b{color:#46594b;font-size:9px}
.host-checklist-card li small{margin-top:4px;color:#8a968e;font-size:8px;line-height:1.55}
.host-side-action{padding-top:12px;border-top:1px solid #edf0ed;width:100%}
.host-management-card{background:#f0f4ed}
.host-management-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#e0eade;color:#628064}
.host-management-card h3{font-size:18px}
.host-activity-section{margin-top:40px}
.host-request-list{display:grid;gap:9px}
.host-request-card{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(90px,.6fr) minmax(90px,.6fr) auto;gap:15px;align-items:center;padding:11px 13px;border:1px solid #e8ede8;border-radius:13px;background:#fff}
.host-request-property{display:flex;gap:10px;align-items:center;min-width:0}
.host-request-property img,.host-request-property>span{width:45px;height:42px;flex:0 0 45px;border-radius:8px;object-fit:cover}
.host-request-property>span{font-size:17px}
.host-request-property b,.host-request-property small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.host-request-property b{color:#405448;font-size:9px}
.host-request-property small{margin-top:4px;color:#919b94;font-size:7px}
.host-request-detail small,.host-request-detail b{display:block}
.host-request-detail small{color:#9aa39c;font-size:7px;font-weight:700;letter-spacing:.6px}
.host-request-detail b{margin-top:5px;color:#53675a;font-size:8px}
.host-request-card .status{font-size:8px;white-space:nowrap}
.host-activity-empty{display:flex;align-items:center;gap:13px;padding:19px;border:1px dashed #dce6dd;border-radius:13px;background:#fbfcfa}
.host-activity-empty>span{display:grid;place-items:center;width:35px;height:35px;border-radius:10px;background:#edf4ee;color:#66856e}
.host-activity-empty b{color:#4a5e4f;font-size:10px}
.host-activity-empty p{margin:4px 0 0;color:#89958d;font-size:9px;line-height:1.6}

/* Persistent light / dark appearance control */
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:8px 10px;border:1px solid #e5ebe5;border-radius:999px;background:#fff;color:#596b5e;font-size:10px;font-weight:700;cursor:pointer;white-space:nowrap}
.theme-toggle:hover{border-color:#b9c9bd;background:#f8faf8}
.theme-toggle-icon{font-size:14px;line-height:1}
.mobile-theme-toggle{display:none}
.mobile-theme-quick{display:none}

/* Dashboard and theme responsiveness */
@media(max-width:1050px){
 .guest-dashboard-grid,.host-dashboard-grid{grid-template-columns:minmax(0,1fr) 265px;gap:18px}
 .guest-booking-card{grid-template-columns:115px minmax(0,1fr)}
 .guest-booking-price{grid-column:2;border-left:0;border-top:1px solid #edf0ed;padding:9px 0 0;display:flex;flex-direction:row;justify-content:flex-start;align-items:center;gap:10px}
 .guest-booking-price b{margin:0}
 .guest-booking-price span{margin-left:auto}
}
@media(max-width:760px){
 .guest-dashboard,.host-dashboard{padding:16px 14px 48px}
 .guest-welcome,.host-welcome{grid-template-columns:1fr;min-height:0;padding:25px 20px;border-radius:18px}
 .guest-welcome h1,.host-welcome h1{font-size:34px;line-height:1.1}
 .guest-welcome-copy>p,.host-welcome-copy>p{font-size:11px;line-height:1.7}
 .guest-welcome-aside{display:none}
 .host-welcome-illustration{display:none}
 .guest-stat-grid{gap:8px;margin:12px 0 25px}
 .guest-stat-card{padding:12px 10px;gap:8px}
 .guest-stat-icon{flex-basis:31px;width:31px;height:31px;border-radius:10px;font-size:15px}
 .guest-stat-card small{font-size:6px;letter-spacing:.6px}
 .guest-stat-card b{font-size:19px}
 .guest-stat-card div>span{font-size:7px}
 .guest-dashboard-grid,.host-dashboard-grid{grid-template-columns:1fr;gap:25px}
 .dashboard-section-head h2{font-size:25px}
 .dashboard-section-head p{font-size:9px}
 .guest-booking-card{grid-template-columns:92px minmax(0,1fr);gap:11px;padding:10px}
 .guest-booking-photo{min-height:116px}
 .guest-booking-info h3{font-size:12px;margin:7px 0 3px}
 .guest-booking-meta>span:first-child{font-size:7px}
 .guest-booking-meta .status{font-size:7px;padding:4px 6px}
 .guest-booking-details{gap:8px 12px;margin-top:11px}
 .guest-booking-details small{font-size:6px}
 .guest-booking-details b{font-size:8px}
 .guest-booking-price{grid-column:1/-1;padding:9px 0 0;gap:8px}
 .guest-booking-price small{font-size:7px}
 .guest-booking-price b{font-size:15px}
 .guest-booking-price span{font-size:7px}
 .guest-side-column{grid-template-columns:1fr 1fr;align-items:stretch}
 .booking-guide-card{grid-column:1/-1}
 .guest-side-card{padding:15px}
 .guest-first-booking,.host-first-listing{grid-template-columns:1fr;gap:15px;padding:17px}
 .first-booking-art{height:115px}
 .first-booking-copy h3,.host-first-listing h3{font-size:20px}
 .guest-featured-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .guest-featured-card:last-child:nth-child(odd){display:none}
 .guest-featured-image{height:105px}
 .host-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:13px 0 25px}
 .host-stat-card{padding:12px;gap:9px}
 .host-stat-icon{flex-basis:32px;width:32px;height:32px}
 .host-stat-card small{font-size:7px;letter-spacing:.6px}
 .host-stat-card b{font-size:20px}
 .host-stat-card div>span{font-size:8px}
 .host-property-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 .host-property-photo{height:112px}
 .host-property-copy{padding:10px}
 .host-property-copy h3{font-size:11px}
 .host-property-prices{gap:5px}
 .host-property-prices b{font-size:8px}
 .host-request-card{grid-template-columns:minmax(0,1fr) auto;gap:9px;padding:10px}
 .host-request-property{grid-column:1/-1}
 .host-request-card>div:last-child{justify-self:end}
 .host-activity-section{margin-top:29px}
 .mobile-theme-toggle{display:flex;width:100%;justify-content:flex-start;min-height:47px;padding:9px 2px;border:0;border-bottom:1px solid #f0f3f0;border-radius:0;background:transparent;color:#36483f;font-size:13px}
 .mobile-theme-quick{display:inline-flex;flex:0 0 38px;width:38px;height:38px;margin-left:auto;padding:0;border-radius:11px;font-size:17px}
 .site-header{gap:9px}
 .guest-discover-section{margin-top:30px}
}
@media(max-width:420px){
 .guest-welcome h1,.host-welcome h1{font-size:30px}
 .guest-welcome-actions,.host-welcome-actions{gap:12px}
 .guest-welcome-actions .btn,.host-welcome-actions .btn{width:100%}
 .guest-quiet-link{padding-left:2px}
 .guest-side-column{grid-template-columns:1fr}
 .booking-guide-card{grid-column:auto}
 .guest-booking-card{grid-template-columns:78px minmax(0,1fr);gap:9px}
 .guest-booking-photo{min-height:105px}
 .guest-booking-details{gap:7px 10px}
 .guest-featured-grid{gap:9px}
 .host-property-grid{grid-template-columns:1fr}
 .host-property-photo{height:155px}
 .host-request-card{grid-template-columns:1fr 1fr}
 .host-request-property{grid-column:1/-1}
}

/* Colour tokens applied consistently to the whole site in dark mode */
html[data-theme="dark"]{
 color-scheme:dark;
 --ivory:#17221e;--sage:#263a30;--forest:#b3d0bd;--blue:#73aaff;--ink:#e8eee9;--muted:#a0ada4;--line:#35443b;--white:#202d26;
}
html[data-theme="dark"] body{background:#121a16;color:#e8eee9}
html[data-theme="dark"] .site-header{background:#18231e;border-color:#2c3b32}
html[data-theme="dark"] .brand,.dark-theme-text{color:#edf3ee}
html[data-theme="dark"] .desktop-nav a,html[data-theme="dark"] .text-link{color:#c1cec4}
html[data-theme="dark"] .theme-toggle{background:#24332a;border-color:#405247;color:#e1ebe3}
html[data-theme="dark"] .theme-toggle:hover{background:#2d4034}
html[data-theme="dark"] .hero,html[data-theme="dark"] .page-intro,html[data-theme="dark"] .auth-wrap{background:linear-gradient(120deg,#1a2821,#1c2c23)}
html[data-theme="dark"] .hero h1,html[data-theme="dark"] .page-intro h1,html[data-theme="dark"] .detail-head h1,html[data-theme="dark"] .auth-art h1{color:#edf3ee}
html[data-theme="dark"] .hero-copy>p,html[data-theme="dark"] .page-intro>p,html[data-theme="dark"] .hero-trust,html[data-theme="dark"] .eyebrow{color:#a8b8ad}
html[data-theme="dark"] .photo-note,html[data-theme="dark"] .search-panel,html[data-theme="dark"] .booking-box,html[data-theme="dark"] .auth-card,html[data-theme="dark"] .form-card,html[data-theme="dark"] .modal-booking-form,html[data-theme="dark"] .booking-modal{background:#202d26;border-color:#35463b;color:#e7eee8}
html[data-theme="dark"] .search-field input,html[data-theme="dark"] .search-field select,html[data-theme="dark"] .stack-form input,html[data-theme="dark"] .stack-form select,html[data-theme="dark"] .stack-form textarea,html[data-theme="dark"] .filter-bar input,html[data-theme="dark"] .filter-bar select,html[data-theme="dark"] .form-grid input,html[data-theme="dark"] .form-grid select,html[data-theme="dark"] .modal-booking-form input,html[data-theme="dark"] .modal-booking-form select,html[data-theme="dark"] .modal-booking-form textarea{background:#17221d;color:#edf3ee;border-color:#3b4c41}
html[data-theme="dark"] .booking-tabs span,html[data-theme="dark"] .note-icon,html[data-theme="dark"] .modal-close,html[data-theme="dark"] .modal-property{background:#2b3a31;color:#d6e3d8}
html[data-theme="dark"] .category-card,html[data-theme="dark"] .day-card,html[data-theme="dark"] .night-card{background:#26372d;color:#e6eee7}
html[data-theme="dark"] .category-card h3,html[data-theme="dark"] .category-card b{color:#e4eee6}
html[data-theme="dark"] .category-card p,html[data-theme="dark"] .category-card span{color:#afbeb2}
html[data-theme="dark"] .footer{background:#17221d;border-color:#344238}
html[data-theme="dark"] .footer-links,html[data-theme="dark"] .footer p,html[data-theme="dark"] .copyright{color:#a2b0a6}
html[data-theme="dark"] .property-card h3,html[data-theme="dark"] .detail-content h2,html[data-theme="dark"] .detail-content h3,html[data-theme="dark"] .booking-box h3,html[data-theme="dark"] .section-heading h2{color:#e8eee9}
html[data-theme="dark"] .property-image,html[data-theme="dark"] .gallery-main,html[data-theme="dark"] .gallery-info-tile,html[data-theme="dark"] .management-note,html[data-theme="dark"] .modal-submit-note{background:#26372d}
html[data-theme="dark"] .verified,html[data-theme="dark"] .gallery-label{background:#26372d;color:#dce9df}
html[data-theme="dark"] .detail-highlights>div,html[data-theme="dark"] .gallery-host-tile,html[data-theme="dark"] .property-card{border-color:#35463b}
html[data-theme="dark"] .guest-dashboard,html[data-theme="dark"] .host-dashboard{background:#121a16}
html[data-theme="dark"] .guest-welcome,html[data-theme="dark"] .host-welcome{background:linear-gradient(112deg,#1d3025,#24372a);border-color:#34483a}
html[data-theme="dark"] .guest-welcome h1,html[data-theme="dark"] .host-welcome h1,html[data-theme="dark"] .dashboard-section-head h2{color:#edf3ee}
html[data-theme="dark"] .guest-welcome-copy>p,html[data-theme="dark"] .host-welcome-copy>p,html[data-theme="dark"] .dashboard-section-head p{color:#aab8ad}
html[data-theme="dark"] .guest-welcome-aside{border-color:#415648}
html[data-theme="dark"] .welcome-aside-label{color:#c7d9ca}
html[data-theme="dark"] .guest-welcome-aside p{color:#a4b4a7}
html[data-theme="dark"] .guest-stat-card,html[data-theme="dark"] .host-stat-card,html[data-theme="dark"] .guest-booking-card,html[data-theme="dark"] .guest-side-card,html[data-theme="dark"] .host-side-card,html[data-theme="dark"] .guest-featured-card,html[data-theme="dark"] .host-property-card,html[data-theme="dark"] .host-request-card{background:#1d2a22;border-color:#34453a;box-shadow:none}
html[data-theme="dark"] .guest-stat-card b,html[data-theme="dark"] .host-stat-card b,html[data-theme="dark"] .guest-booking-info h3,html[data-theme="dark"] .guest-side-card h3,html[data-theme="dark"] .host-side-card h3,html[data-theme="dark"] .guest-featured-copy>b,html[data-theme="dark"] .host-property-copy h3,html[data-theme="dark"] .host-request-property b{color:#e6eee7}
html[data-theme="dark"] .guest-booking-details b,html[data-theme="dark"] .guest-booking-price b,html[data-theme="dark"] .host-property-prices b,html[data-theme="dark"] .host-property-facts b{color:#c0ddc6}
html[data-theme="dark"] .guest-stat-card div>span,html[data-theme="dark"] .host-stat-card div>span,html[data-theme="dark"] .guest-booking-area,html[data-theme="dark"] .guest-booking-price span,html[data-theme="dark"] .guest-help-card p,html[data-theme="dark"] .guest-discover-card p,html[data-theme="dark"] .host-side-card p,html[data-theme="dark"] .host-property-copy>small,html[data-theme="dark"] .host-property-facts,html[data-theme="dark"] .host-request-property small{color:#9eada2}
html[data-theme="dark"] .guest-booking-price,html[data-theme="dark"] .host-property-prices,html[data-theme="dark"] .help-footnote,html[data-theme="dark"] .host-side-action{border-color:#35463b}
html[data-theme="dark"] .guest-confirmed-location,html[data-theme="dark"] .guest-discover-card,html[data-theme="dark"] .host-management-card{background:#26382c}
html[data-theme="dark"] .guest-confirmed-location b,html[data-theme="dark"] .guest-booking-note,html[data-theme="dark"] .guest-discover-card a,html[data-theme="dark"] .host-card-link{color:#bcd8c2}
html[data-theme="dark"] .guest-first-booking,html[data-theme="dark"] .host-first-listing,html[data-theme="dark"] .host-activity-empty{background:#1b2921;border-color:#3c5041}
html[data-theme="dark"] .first-booking-copy h3,html[data-theme="dark"] .host-first-listing h3,html[data-theme="dark"] .host-activity-empty b{color:#e5eee6}
html[data-theme="dark"] .first-booking-copy p,html[data-theme="dark"] .host-first-listing p,html[data-theme="dark"] .host-activity-empty p{color:#a3b2a6}
html[data-theme="dark"] .booking-guide-list li>span,html[data-theme="dark"] .help-icon,html[data-theme="dark"] .host-checklist-card li>span,html[data-theme="dark"] .host-management-icon{background:#2d4033;color:#c2d8c6;border-color:#415748}
html[data-theme="dark"] .booking-guide-list b,html[data-theme="dark"] .host-checklist-card li b{color:#d4e1d6}
html[data-theme="dark"] .booking-guide-list small,html[data-theme="dark"] .host-checklist-card li small,html[data-theme="dark"] .guest-featured-copy>small,html[data-theme="dark"] .guest-featured-copy>span{color:#9faf9f}
html[data-theme="dark"] .host-property-status{background:#27372d;color:#dbe8dd}
html[data-theme="dark"] .host-property-status.status-rejected{background:#49312d;color:#f0b5a9}
html[data-theme="dark"] .host-illustration-window{background:#26372d}
html[data-theme="dark"] .host-welcome-illustration{background:#25352b;border-color:#405344}
html[data-theme="dark"] .host-illustration-caption{background:#1e2c23;border-color:#405344}
html[data-theme="dark"] .host-illustration-caption b{color:#e2ece4}
html[data-theme="dark"] .host-illustration-caption small{color:#a4b1a6}
html[data-theme="dark"] .mobile-nav{background:#1c2922;border-color:#35463b}
html[data-theme="dark"] .mobile-nav>a,html[data-theme="dark"] .mobile-logout{background:transparent;color:#e0eae2;border-color:#35463b}
html[data-theme="dark"] .mobile-nav>a span,html[data-theme="dark"] .mobile-logout span{color:#a6c6ad}
html[data-theme="dark"] .mobile-theme-toggle{color:#e0eae2}
html[data-theme="dark"] .mobile-nav-join{background:#b4cfb9!important;color:#1b2b20!important}
html[data-theme="dark"] .flash.success{background:#203d2b;color:#bce3c6}
html[data-theme="dark"] .flash.error{background:#492a27;color:#f0b9ae}
html[data-theme="dark"] .status{background:#2c4132;color:#c5dec9}
html[data-theme="dark"] .btn-outline{background:#26372d;border-color:#45594a;color:#e4eee6}
html[data-theme="dark"] .btn-dark{background:#b7d2bd;color:#193125}
html[data-theme="dark"] .auth-card h2,html[data-theme="dark"] .auth-card label,html[data-theme="dark"] .form-card label{color:#e6eee7}
html[data-theme="dark"] .auth-card>p,html[data-theme="dark"] .auth-switch,html[data-theme="dark"] .muted{color:#aab7ac}
html[data-theme="dark"] .table-wrap{border-color:#35463b}
html[data-theme="dark"] table th{background:#26372d;color:#c4d2c7}
html[data-theme="dark"] table td{border-color:#35463b;color:#d5e0d7}
html[data-theme="dark"] .booking-modal-backdrop{background:#060b08cc}
@media(prefers-reduced-motion:reduce){.guest-featured-card,.btn{transition:none!important}}

html[data-theme="dark"] .brand-mark{background:#31513b;color:#f0d39a}
html[data-theme="dark"] .mobile-menu{background:#2b3b31;color:#e3ece5}

/* NairobiBNB 1.3.0 — clearer typography, compact account access and reliable themes */
:root {
  --page-bg: #ffffff;
  --surface: #ffffff;
  --surface-soft: #f5f7f4;
  --text-primary: #202a29;
  --text-secondary: #78827e;
  --border-color: #e8ece8;
}

/* Use one clean type family throughout. The old display serif made headings feel overly ornate. */
html, body, button, input, select, textarea {
  font-family: "DM Sans", Arial, sans-serif !important;
}
h1, h2, h3, h4, .brand-mark, .auth-note-mark, .host-art, .host-avatar,
.hero h1, .page-intro h1, .detail-head h1, .auth-art h1, .section-heading h2,
.host-cta h2, .category-card h3, .detail-content h2, .detail-content h3,
.booking-box h3, .dashboard-heading h1, .account-section-heading h2,
.guest-welcome h1, .host-welcome h1, .guest-stat-card b, .host-stat-card b,
.dashboard-section-head h2, .guest-booking-price b, .guest-side-card h3,
.host-side-card h3, .first-booking-copy h3, .host-first-listing h3 {
  font-family: "DM Sans", Arial, sans-serif !important;
  font-style: normal !important;
}
.hero h1, .page-intro h1, .detail-head h1, .auth-art h1,
.guest-welcome h1, .host-welcome h1 {
  letter-spacing: -0.045em;
  line-height: 1.12;
}
.hero h1 em, .page-intro h1 em {
  font-style: normal;
  font-weight: 700;
}
.brand-mark, .auth-note-mark, .welcome-mark {
  font-family: "DM Sans", Arial, sans-serif !important;
  font-weight: 700;
}

/* Registration and login: stack cleanly before the card gets squeezed on phone-sized screens. */
@media (max-width: 850px) {
  .auth-wrap,
  .auth-wrap.auth-register,
  .auth-wrap.auth-login {
    display: block;
    width: 100%;
    min-height: 0;
    padding: 22px 14px 34px;
    overflow: visible;
  }
  .auth-art {
    display: none !important;
  }
  .auth-card,
  .auth-login .auth-card {
    width: 100%;
    max-width: 520px;
    margin: 0 auto;
    padding: 22px 20px;
    border-radius: 16px;
  }
  .auth-card-heading {
    margin-bottom: 17px;
  }
  .auth-card-heading h2 {
    font-size: clamp(23px, 5vw, 28px);
    line-height: 1.2;
    letter-spacing: -0.035em;
  }
  .auth-card-heading p {
    font-size: 13px;
  }
  .auth-form {
    gap: 12px;
  }
  .auth-field {
    gap: 6px;
    font-size: 12px;
  }
  .auth-field > input,
  .password-control input {
    height: 46px;
    padding-left: 12px;
    font-size: 16px;
    border-radius: 9px;
  }
  .password-control input {
    padding-right: 68px;
  }
  .account-type-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }
  .account-type-card {
    min-height: 82px;
    padding: 10px;
    gap: 4px;
  }
  .account-type-card b {
    font-size: 11px;
  }
  .account-type-card small {
    font-size: 9px;
    line-height: 1.35;
  }
  .auth-privacy-note {
    padding: 9px 10px;
    font-size: 10px;
  }
  .auth-submit {
    min-height: 47px;
  }
  .auth-bottom-note {
    font-size: 9px;
  }
}

@media (max-width: 380px) {
  .auth-wrap,
  .auth-wrap.auth-register,
  .auth-wrap.auth-login {
    padding: 14px 10px 25px;
  }
  .auth-card,
  .auth-login .auth-card {
    padding: 19px 15px;
  }
  .account-type-card {
    min-height: 78px;
    padding: 8px;
  }
  .account-type-card small {
    font-size: 8px;
  }
}

/* Keep the dark appearance legible across every major section, including the host invitation. */
html[data-theme="dark"] {
  --page-bg: #121a16;
  --surface: #202d26;
  --surface-soft: #19251e;
  --text-primary: #e8eee9;
  --text-secondary: #a0ada4;
  --border-color: #35443b;
}
html[data-theme="dark"] body,
html[data-theme="dark"] .page {
  background: var(--page-bg);
  color: var(--text-primary);
}
html[data-theme="dark"] .host-cta {
  background: #20372a !important;
  color: #f1f6f2 !important;
  border: 1px solid #344c3b;
}
html[data-theme="dark"] .host-cta h2 {
  color: #f1f6f2 !important;
}
html[data-theme="dark"] .host-cta p {
  color: #c5d2c8 !important;
}
html[data-theme="dark"] .host-cta .eyebrow {
  color: #b8cdbd !important;
}
html[data-theme="dark"] .host-cta .btn-white {
  background: #f0f5f0 !important;
  color: #193b36 !important;
}
html[data-theme="dark"] .host-cta .host-art {
  color: rgba(241, 246, 242, .10) !important;
}
html[data-theme="dark"] .host-cta .host-art span {
  color: #d9c18b !important;
}
html[data-theme="dark"] .auth-card {
  background: #202d26 !important;
  border-color: #35483b !important;
  color: #e8eee9;
}
html[data-theme="dark"] .auth-card-heading h2,
html[data-theme="dark"] .auth-card label,
html[data-theme="dark"] .auth-card .field-label {
  color: #e8eee9 !important;
}
html[data-theme="dark"] .auth-card-heading p,
html[data-theme="dark"] .auth-card .field-hint,
html[data-theme="dark"] .auth-card .password-strength small,
html[data-theme="dark"] .auth-bottom-note {
  color: #aab8ad !important;
}
html[data-theme="dark"] .auth-field > input,
html[data-theme="dark"] .password-control input {
  background: #17221d !important;
  border-color: #405447 !important;
  color: #edf3ee !important;
}
html[data-theme="dark"] .auth-field input::placeholder {
  color: #89988d !important;
}
html[data-theme="dark"] .password-toggle {
  background: #304438 !important;
  color: #d6e5d9 !important;
}
html[data-theme="dark"] .account-type-card {
  background: #19251e !important;
  border-color: #3b5042 !important;
}
html[data-theme="dark"] .account-type-card b {
  color: #edf3ee !important;
}
html[data-theme="dark"] .account-type-card small {
  color: #acb9af !important;
}
html[data-theme="dark"] .account-type-option > input:checked + .account-type-card {
  background: #294334 !important;
  border-color: #83a991 !important;
  box-shadow: inset 0 0 0 1px #83a991;
}
html[data-theme="dark"] .auth-privacy-note {
  background: #26382c !important;
  color: #c0cec3 !important;
}
html[data-theme="dark"] .auth-bottom-note {
  border-color: #35483b !important;
}
html[data-theme="dark"] .auth-switch a {
  color: #a9d0b2 !important;
}
html[data-theme="dark"] .account-page {
  background: #121a16 !important;
}
html[data-theme="dark"] .account-overview-card,
html[data-theme="dark"] .customer-booking-card,
html[data-theme="dark"] .account-empty {
  background: #1d2a22 !important;
  border-color: #35483b !important;
  color: #e5eee7 !important;
}
html[data-theme="dark"] .account-overview-card b,
html[data-theme="dark"] .customer-booking-main h3,
html[data-theme="dark"] .customer-booking-total b {
  color: #e5eee7 !important;
}
html[data-theme="dark"] .account-overview-card small,
html[data-theme="dark"] .account-overview-card div > span,
html[data-theme="dark"] .booking-reference,
html[data-theme="dark"] .booking-location,
html[data-theme="dark"] .booking-facts small,
html[data-theme="dark"] .customer-booking-total small,
html[data-theme="dark"] .customer-booking-total span {
  color: #a6b4a9 !important;
}
html[data-theme="dark"] .customer-booking-total,
html[data-theme="dark"] .host-property-prices,
html[data-theme="dark"] .help-footnote {
  border-color: #35483b !important;
}
html[data-theme="dark"] .confirmed-location {
  background: #26382c !important;
}
html[data-theme="dark"] .confirmed-location b {
  color: #c7e0cb !important;
}
html[data-theme="dark"] .empty-state h3,
html[data-theme="dark"] .empty-state p {
  color: #d9e4dc !important;
}
html[data-theme="dark"] .empty-state > div {
  color: #a7c8ae !important;
}
html[data-theme="dark"] .photo-note {
  background: #202d26 !important;
  color: #e8eee9 !important;
  border: 1px solid #35483b;
}
html[data-theme="dark"] .photo-note small {
  color: #afbbb1 !important;
}
html[data-theme="dark"] .search-field {
  border-color: #35443b !important;
}
html[data-theme="dark"] .search-field small,
html[data-theme="dark"] .property-meta,
html[data-theme="dark"] .price-row {
  color: #a7b4aa !important;
}
html[data-theme="dark"] .price-row b,
html[data-theme="dark"] .option-price b,
html[data-theme="dark"] .stat b {
  color: #c7dfcc !important;
}

html[data-theme="dark"] .booking-tabs input:checked + span {
  background: #41634b !important;
  color: #f2f7f3 !important;
}

/* NairobiBNB 1.4.0 — neighbourhood preview collection and location filters */
.home-search-fields{grid-template-columns:1.15fr .95fr 1.25fr .9fr .9fr .7fr auto;gap:8px}
.home-search-fields .search-field{min-width:0;padding-left:9px;padding-right:9px}
.home-search-fields .search-button{white-space:nowrap}
.showcase-section{padding-top:38px}
.showcase-intro-note{display:grid;grid-template-columns:150px 1fr;gap:18px;align-items:start;padding:15px 18px;margin:0 0 20px;border:1px solid #e4ebe5;border-radius:13px;background:#f7faf7}
.showcase-intro-note>span{font-size:11px;font-weight:700;color:#47715b}
.showcase-intro-note p{margin:0;color:#738078;font-size:11px;line-height:1.65}
.showcase-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.showcase-card{min-width:0;overflow:hidden;border:1px solid #e7ede8;border-radius:16px;background:#fff;box-shadow:0 8px 26px rgba(25,59,54,.045);transition:transform .2s,box-shadow .2s,border-color .2s}
.showcase-card:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(25,59,54,.10);border-color:#b9cdbf}
.showcase-image{height:178px;border-radius:0;overflow:hidden}
.showcase-badge,.showcase-not-bookable{position:absolute;top:11px;padding:6px 9px;border-radius:20px;font-size:9px;font-weight:700}
.showcase-badge{left:11px;background:#e9f3eb;color:#335d43}
.showcase-not-bookable{right:10px;background:#212c25e8;color:#fff}
.showcase-card-body{padding:13px 14px 15px}
.showcase-card .property-meta{justify-content:flex-start;flex-wrap:wrap;margin:0 0 7px;font-size:9px;line-height:1.4}
.showcase-card h3{margin:0 0 4px;font-size:14px;line-height:1.35;color:#26372e}
.showcase-development{margin:0;color:#728078;font-size:10px;line-height:1.45}
.showcase-host{display:flex;align-items:center;gap:9px;margin-top:12px;padding-top:11px;border-top:1px solid #edf1ed}
.showcase-avatar,.preview-host-avatar{display:grid;place-items:center;flex:0 0 auto;width:32px;height:32px;border-radius:50%;background:#e6efe8;color:#386247;font-size:10px;font-weight:700}
.showcase-host b,.showcase-host small{display:block}
.showcase-host b{font-size:10px;color:#3e5246}
.showcase-host small{margin-top:2px;color:#8a958e;font-size:9px}
.showcase-rates{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:12px;padding:10px;border-radius:10px;background:#f5f8f5}
.showcase-rates small,.showcase-rates b{display:block}
.showcase-rates small{font-size:8px;letter-spacing:.6px;color:#87948b;font-weight:700}
.showcase-rates b{margin-top:4px;color:#325b42;font-size:11px}
.showcase-card-link{display:flex;justify-content:space-between;align-items:center;margin-top:12px;color:#4d7b5e;font-size:10px;font-weight:700}
.showcase-disclaimer{margin-top:16px;color:#86928a;font-size:9px;line-height:1.6}
.live-listings-section{padding-top:20px}
.location-filter-bar{display:grid;grid-template-columns:1.5fr 1fr 1.3fr .9fr 1fr .8fr 1fr auto;align-items:center;margin-top:20px}
.location-filter-bar input,.location-filter-bar select{width:100%;min-height:43px;font-size:11px}
.location-filter-bar input:first-child{grid-column:auto;flex:initial}
.results-section{padding-top:25px}
.search-showcase-section{padding-top:20px}
.preview-detail-page{max-width:1320px;margin:0 auto;padding:0 clamp(18px,6vw,78px) 70px}
.preview-detail-alert{padding:15px 18px;margin:0 0 24px;border:1px solid #dfc99c;border-radius:13px;background:#fff8e9;color:#675633}
.preview-detail-alert span{display:block;margin-bottom:5px;color:#916e2e;font-size:9px;font-weight:800;letter-spacing:1px;text-transform:uppercase}
.preview-detail-alert b{font-size:13px}
.preview-detail-alert p{margin:5px 0 0;font-size:11px;line-height:1.6}
.preview-detail-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px}
.preview-detail-heading h1{margin:8px 0 5px;color:#263a2e;font-size:clamp(30px,4vw,44px);letter-spacing:-1px}
.preview-detail-heading p{margin:0;color:#77847c;font-size:12px}
.detail-sample-badge{position:static;white-space:nowrap}
.preview-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px;align-items:stretch}
.preview-detail-photo{min-width:0;overflow:hidden;border-radius:17px;background:#e8eee9}
.preview-detail-photo img{display:block;width:100%;height:100%;min-height:360px;max-height:510px;object-fit:cover}
.preview-detail-photo small{display:block;padding:8px 12px;background:#f3f6f3;color:#7a877e;font-size:9px;line-height:1.5}
.preview-host-panel{padding:21px;border:1px solid #e4ebe5;border-radius:17px;background:#fff;align-self:start}
.preview-host-avatar{width:48px;height:48px;margin:16px 0 9px;font-size:14px}
.preview-host-panel h2{margin:0 0 4px;color:#293f32;font-size:20px}
.preview-host-panel>p{color:#78857c;font-size:10px;line-height:1.65}
.preview-rate-row{display:flex;justify-content:space-between;gap:8px;padding:11px 0;border-top:1px solid #edf1ed;color:#596c60;font-size:10px}
.preview-rate-row b{display:block;margin-top:4px;color:#315e43;font-size:14px}
.preview-rate-row small{align-self:center;color:#89958d;font-size:8px}
.preview-panel-note{padding:9px 10px;border-radius:9px;background:#f5f7f4}
.preview-detail-content{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:25px;margin-top:28px}
.preview-detail-content h2{margin:8px 0;font-size:25px;color:#293f32}
.preview-detail-content h3{margin:22px 0 11px;font-size:15px;color:#293f32}
.preview-detail-content article>p{max-width:760px;color:#68776e;font-size:12px;line-height:1.8}
.preview-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;color:#587162;font-size:11px}
.preview-small-note{font-size:10px!important;color:#89948d!important}
.preview-source-panel{padding:18px;border:1px solid #e4ebe5;border-radius:14px;background:#f7f9f7;align-self:start}
.preview-source-panel>b{font-size:12px;color:#3f5948}
.preview-source-panel p{font-size:10px;line-height:1.7;color:#78867d}
.preview-source-panel a{font-size:10px;color:#477b5a;font-weight:700}
.preview-source-panel hr{border:0;border-top:1px solid #e1e8e2;margin:14px 0}

/* Dark theme is the first-visit default; saved user choice still takes precedence. */
html[data-theme="dark"] .showcase-intro-note,
html[data-theme="dark"] .showcase-rates,
html[data-theme="dark"] .preview-source-panel{background:#1b2921;border-color:#35483b}
html[data-theme="dark"] .showcase-intro-note>span,
html[data-theme="dark"] .showcase-card-link,
html[data-theme="dark"] .preview-source-panel a{color:#b9d6c0}
html[data-theme="dark"] .showcase-intro-note p,
html[data-theme="dark"] .showcase-development,
html[data-theme="dark"] .showcase-host small,
html[data-theme="dark"] .showcase-disclaimer,
html[data-theme="dark"] .preview-detail-heading p,
html[data-theme="dark"] .preview-detail-photo small,
html[data-theme="dark"] .preview-host-panel>p,
html[data-theme="dark"] .preview-rate-row small,
html[data-theme="dark"] .preview-detail-content article>p,
html[data-theme="dark"] .preview-small-note,
html[data-theme="dark"] .preview-source-panel p{color:#a6b4a9!important}
html[data-theme="dark"] .showcase-card,
html[data-theme="dark"] .preview-host-panel{background:#1d2a22;border-color:#35483b}
html[data-theme="dark"] .showcase-card h3,
html[data-theme="dark"] .showcase-host b,
html[data-theme="dark"] .preview-detail-heading h1,
html[data-theme="dark"] .preview-host-panel h2,
html[data-theme="dark"] .preview-detail-content h2,
html[data-theme="dark"] .preview-detail-content h3{color:#e5eee7}
html[data-theme="dark"] .showcase-card .property-meta,
html[data-theme="dark"] .showcase-rates small,
html[data-theme="dark"] .preview-rate-row{color:#adbbaf}
html[data-theme="dark"] .showcase-rates b,
html[data-theme="dark"] .preview-rate-row b{color:#c3dfc9}
html[data-theme="dark"] .showcase-avatar,
html[data-theme="dark"] .preview-host-avatar{background:#2d4033;color:#c7dfcc}
html[data-theme="dark"] .showcase-host,
html[data-theme="dark"] .preview-rate-row,
html[data-theme="dark"] .preview-source-panel hr{border-color:#35483b}
html[data-theme="dark"] .preview-detail-alert{background:#3b3220;border-color:#665333;color:#f0dfb9}
html[data-theme="dark"] .preview-detail-alert span{color:#e1bd75}
html[data-theme="dark"] .preview-detail-alert p{color:#ddcda9}
html[data-theme="dark"] .preview-detail-photo small{background:#1b2921}
html[data-theme="dark"] .preview-panel-note{background:#26382c;color:#c4d4c8}

@media(max-width:1180px){
 .home-search-fields{grid-template-columns:repeat(3,minmax(0,1fr))}
 .home-search-fields .search-button{grid-column:1/-1}
 .location-filter-bar{grid-template-columns:repeat(4,minmax(0,1fr))}
 .location-filter-bar input:first-child{grid-column:span 2}
 .location-filter-bar button{grid-column:span 2}
 .showcase-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
 .home-search-fields{grid-template-columns:1fr;gap:3px}
 .home-search-fields .search-field{border:0;border-bottom:1px solid var(--line);padding:10px 5px}
 .home-search-fields .search-button{grid-column:1/-1;width:100%;margin-top:8px}
 .location-filter-bar{grid-template-columns:1fr 1fr;gap:8px;margin:16px}
 .location-filter-bar input:first-child{grid-column:1/-1}
 .location-filter-bar button{grid-column:1/-1}
 .showcase-intro-note{grid-template-columns:1fr;gap:5px}
 .showcase-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
 .showcase-image{height:138px}
 .showcase-card-body{padding:10px}
 .showcase-card h3{font-size:12px}
 .showcase-card .property-meta{font-size:8px}
 .showcase-host{margin-top:9px;padding-top:8px}
 .showcase-rates{gap:5px;padding:8px 6px}
 .showcase-rates small{font-size:7px}
 .showcase-rates b{font-size:10px}
 .preview-detail-heading{display:block}
 .detail-sample-badge{display:inline-flex;margin-top:11px}
 .preview-detail-grid,.preview-detail-content{grid-template-columns:1fr}
 .preview-detail-photo img{min-height:230px;max-height:340px}
 .preview-host-panel{order:-1}
 .preview-feature-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:390px){
 .showcase-grid{grid-template-columns:1fr}
 .showcase-image{height:190px}
 .location-filter-bar{grid-template-columns:1fr}
 .location-filter-bar input:first-child,.location-filter-bar button{grid-column:auto}
}

/* Fine layout for the home and browse location controls. */
.home-search-fields{grid-template-columns:1.25fr .9fr 1.25fr .95fr .75fr auto}
#home-search:has(#checkout-search-field:not(.hidden)) .home-search-fields{grid-template-columns:1.1fr .85fr 1.15fr .85fr .85fr .65fr auto}
@media(max-width:1180px){
 #home-search .home-search-fields,
 #home-search:has(#checkout-search-field:not(.hidden)) .home-search-fields{grid-template-columns:repeat(3,minmax(0,1fr))}
 #home-search .home-search-fields .search-button{grid-column:1/-1}
}
@media(max-width:760px){
 #home-search .home-search-fields,
 #home-search:has(#checkout-search-field:not(.hidden)) .home-search-fields{grid-template-columns:1fr}
}


/* Host application approval workflow */
.admin-section{padding-top:36px;padding-bottom:38px}
.admin-section-heading{align-items:center}
.admin-count-pill{display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;border:1px solid var(--line);border-radius:30px;font-size:11px;font-weight:700;white-space:nowrap;background:var(--sage-soft);color:var(--forest)}
.stat-attention{border-color:#d4b779;background:#fbf7ec}
.stat-attention b{color:#8b6728}
.host-review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.host-review-card{min-width:0;padding:18px;border:1px solid var(--line);border-radius:15px;background:var(--white);box-shadow:var(--shadow-soft)}
.host-review-top{display:flex;align-items:center;gap:11px;min-width:0}
.host-review-avatar{width:42px;height:42px;display:grid;place-items:center;flex:0 0 auto;border-radius:13px;background:var(--sage);color:var(--forest);font-weight:700}
.host-review-identity{min-width:0;flex:1}
.host-review-identity h3{font-size:14px;margin:0 0 4px;color:var(--ink)}
.host-review-identity>span{display:block;overflow-wrap:anywhere;font-size:11px;color:var(--muted)}
.host-status-pill{display:inline-flex;align-items:center;padding:5px 9px;border-radius:30px;background:#eef1ed;color:#66736a;font-size:9px;font-weight:700;text-transform:capitalize;white-space:nowrap}
.host-status-pending{background:#fff4d9;color:#86621f}
.host-status-active,.host-status-published{background:#e8f4eb;color:#316b44}
.host-status-rejected{background:#fbecea;color:#9a4c43}
.host-status-suspended{background:#eeedf0;color:#625f6c}
.host-review-details{display:grid;grid-template-columns:1fr 1fr 75px;gap:10px;margin:17px 0;padding:13px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.host-review-details span{min-width:0}
.host-review-details small,.host-review-details b{display:block}
.host-review-details small{font-size:8px;letter-spacing:.7px;color:var(--muted);margin-bottom:5px}
.host-review-details b{font-size:10px;overflow-wrap:anywhere;color:var(--ink)}
.host-review-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.host-review-actions form{margin:0}
.btn-approve{background:#e4f1e7;color:#286541}
.btn-reject{background:#f8eae8;color:#944d45}
.host-review-hint{flex:1;min-width:120px;font-size:10px;color:var(--muted)}
.admin-note{font-size:10px;line-height:1.6;color:var(--muted);margin:15px 0 0}
.admin-empty-state{border:1px dashed var(--line);border-radius:15px}
.host-application-state{min-height:66vh;padding:55px 20px 75px;display:grid;place-items:center;background:var(--ivory)}
.host-application-card{width:min(100%,620px);padding:clamp(24px,5vw,42px);border:1px solid var(--line);border-radius:22px;background:var(--white);box-shadow:var(--shadow-soft)}
.host-application-icon{width:48px;height:48px;display:grid;place-items:center;margin-bottom:22px;border-radius:15px;background:#e5f2e8;color:#286541;font-size:23px;font-weight:700}
.host-application-icon-muted{background:#f3eee3;color:#8b6728}
.host-application-card h1{font-size:clamp(27px,4vw,36px);line-height:1.15;letter-spacing:-.8px;margin:12px 0;color:var(--ink)}
.host-application-lead{font-size:13px;line-height:1.75;color:var(--muted)}
.host-application-summary{display:grid;gap:12px;margin:22px 0;padding:15px;border-radius:12px;background:var(--sage-soft)}
.host-application-summary small,.host-application-summary b{display:block}
.host-application-summary small{font-size:8px;letter-spacing:1px;color:var(--muted);margin-bottom:4px}
.host-application-summary b{font-size:12px;color:var(--ink);overflow-wrap:anywhere}
.host-application-next{margin:22px 0;padding:16px;border:1px solid var(--line);border-radius:12px}
.host-application-next b{font-size:12px;color:var(--ink)}
.host-application-next p{font-size:11px;line-height:1.7;color:var(--muted);margin:7px 0 0}
.host-application-status{display:inline-flex;padding:8px 11px;border-radius:20px;font-size:10px;font-weight:700}
.host-application-status.status-pending{background:#fff4d9;color:#86621f}
.host-application-status.status-rejected{background:#fbecea;color:#9a4c43}
.host-application-status.status-suspended{background:#eeedf0;color:#625f6c}
.host-application-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:25px}
.host-application-footnote{font-size:9px;line-height:1.6;color:var(--muted);margin:20px 0 0}
html[data-theme="dark"] .host-review-card,html[data-theme="dark"] .host-application-card{background:#1d2a22;border-color:#35483b}
html[data-theme="dark"] .host-review-identity h3,html[data-theme="dark"] .host-review-details b,html[data-theme="dark"] .host-application-card h1,html[data-theme="dark"] .host-application-summary b,html[data-theme="dark"] .host-application-next b{color:#e5eee7}
html[data-theme="dark"] .host-review-details{border-color:#35483b}
html[data-theme="dark"] .host-application-state{background:#17221c}
html[data-theme="dark"] .host-application-summary{background:#26382c}
html[data-theme="dark"] .host-application-next{border-color:#35483b}
html[data-theme="dark"] .admin-count-pill{background:#26382c;border-color:#35483b;color:#d5e4d9}
html[data-theme="dark"] .stat-attention{background:#342e20;border-color:#665333}
html[data-theme="dark"] .stat-attention b{color:#edce8c}
html[data-theme="dark"] .btn-approve{background:#274534;color:#cce6d2}
html[data-theme="dark"] .btn-reject{background:#472c2b;color:#f0c0ba}
@media(max-width:760px){
 .admin-section{padding:28px 18px}
 .host-review-grid{grid-template-columns:1fr}
 .admin-count-pill{align-self:flex-start}
 .host-application-state{padding:30px 14px 45px;min-height:60vh}
 .host-application-actions{display:grid;grid-template-columns:1fr}
 .host-application-actions .btn{width:100%}
}

/* NairobiBNB approved detail-page and login visual refinement */
.preview-detail-page{padding-top:4px;color:var(--text-primary,#e8eee9)}
.preview-back-link{margin-top:22px;margin-bottom:18px;color:var(--text-secondary,#9aa99f)}
.preview-detail-heading{align-items:flex-end;margin-bottom:20px}
.preview-detail-heading h1{font-family:"DM Sans",Arial,sans-serif;font-size:clamp(29px,3.6vw,43px);font-weight:750;letter-spacing:-.045em;line-height:1.12}
.preview-detail-heading p{font-size:12px;line-height:1.6}
.preview-detail-grid{grid-template-columns:minmax(0,1fr) 300px;gap:20px;align-items:start}
.preview-gallery-column{min-width:0}
.preview-detail-photo{height:clamp(300px,36vw,470px);border-radius:18px;box-shadow:0 16px 40px rgba(0,0,0,.16)}
.preview-detail-photo img{width:100%;height:100%;min-height:0;max-height:none;object-fit:cover;display:block}
.preview-gallery-thumbs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:10px}
.preview-thumb{display:block;padding:0;height:78px;overflow:hidden;border:2px solid transparent;border-radius:12px;background:var(--surface-soft,#1b2921);cursor:pointer;opacity:.82;transition:border-color .18s,opacity .18s,transform .18s}
.preview-thumb:hover{opacity:1;transform:translateY(-2px)}
.preview-thumb.is-active{border-color:#82dd61;opacity:1}
.preview-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.preview-host-panel{padding:22px 20px;border-radius:18px;position:sticky;top:100px;box-shadow:0 15px 40px rgba(0,0,0,.12)}
.preview-host-identity{display:flex;align-items:center;gap:12px;margin:16px 0 12px}
.preview-host-identity .preview-host-avatar{margin:0;width:48px;height:48px;font-size:14px}
.preview-host-identity h2{margin:0 0 3px;font-size:19px;letter-spacing:-.025em}
.preview-host-identity p{margin:0;color:#829087;font-size:10px}
.preview-rate-row{padding:13px 0}
.preview-rate-row span{font-size:11px}
.preview-rate-row b{font-size:17px;margin-top:4px}
.btn-inquire{display:flex;align-items:center;justify-content:center;gap:9px;min-height:49px;margin-top:13px;background:linear-gradient(135deg,#8bea62,#65d94f);color:#142a1c;border:0;font-weight:800;box-shadow:0 8px 22px rgba(108,222,79,.2)}
.btn-inquire:hover{filter:brightness(1.04);transform:translateY(-1px)}
.btn-inquire>span:last-child{font-size:16px}
.inquire-icon{font-size:14px}
.btn-save-preview{min-height:44px;margin-top:10px;background:transparent;border:1px solid #6b9e69;color:#a7df8c;font-weight:700}
.btn-save-preview.is-saved{background:rgba(108,222,79,.12);border-color:#8bea62;color:#a9ed91}
.preview-booking-help{margin:13px 0 0;color:#829087;font-size:9px;line-height:1.6}
.preview-detail-tabs{display:flex;gap:28px;align-items:center;margin-top:30px;border-bottom:1px solid var(--border-color,#35443b);overflow-x:auto;scrollbar-width:none}
.preview-detail-tabs::-webkit-scrollbar{display:none}
.preview-detail-tabs a{flex:0 0 auto;padding:13px 8px 12px;color:var(--text-secondary,#a0ada4);font-size:11px;font-weight:700;border-bottom:3px solid transparent}
.preview-detail-tabs a.is-active,.preview-detail-tabs a:hover{color:var(--text-primary,#e8eee9);border-color:#78dc5c}
.preview-detail-content{grid-template-columns:minmax(0,1fr) 300px;gap:30px;margin-top:24px}
.preview-info-section h2{margin:8px 0 10px;font-size:25px;letter-spacing:-.035em}
.preview-info-section>p{max-width:750px;color:var(--text-secondary,#a6b4a9);font-size:12px;line-height:1.85}
.preview-info-side{display:grid;gap:17px}
.preview-info-side section{padding:17px;border:1px solid var(--border-color,#35443b);border-radius:15px;background:var(--surface,#202d26)}
.preview-info-side h3{margin:7px 0 12px;font-size:15px}
.preview-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;color:var(--text-secondary,#b0beb4);font-size:10px;line-height:1.55}
.preview-rules-card p{margin:0;color:var(--text-secondary,#a6b4a9);font-size:10px;line-height:1.7}
.preview-location-card{display:flex;align-items:center;gap:13px;max-width:380px;margin-top:22px;padding:16px;border:1px solid var(--border-color,#35443b);border-radius:15px;background:var(--surface,#202d26)}
.preview-location-pin{display:grid;place-items:center;width:42px;height:42px;flex:0 0 auto;border-radius:13px;background:#294c35;color:#8ceb63;font-size:22px}
.preview-location-card b,.preview-location-card span,.preview-location-card small{display:block}
.preview-location-card b{margin-bottom:4px;font-size:12px}
.preview-location-card div span{font-size:11px;color:var(--text-primary,#e8eee9)}
.preview-location-card small{margin-top:3px;color:var(--text-secondary,#a6b4a9);font-size:10px}
.inquiry-modal{max-width:590px}
.inquiry-modal .modal-top h2{margin:8px 0 6px;font-size:25px;letter-spacing:-.035em}
.inquiry-modal .modal-top p{max-width:450px;color:var(--text-secondary,#a6b4a9);font-size:11px;line-height:1.7}
.inquiry-form{gap:12px}
.inquiry-form label{display:grid;gap:6px;color:var(--text-primary,#e8eee9);font-size:11px;font-weight:700}
.inquiry-form input,.inquiry-form select,.inquiry-form textarea{width:100%;min-width:0;border:1px solid var(--border-color,#405447);border-radius:9px;padding:11px 12px;background:var(--surface-soft,#17221d);color:var(--text-primary,#e8eee9);font:500 12px "DM Sans",Arial,sans-serif}
.inquiry-form input::placeholder,.inquiry-form textarea::placeholder{color:#84958a}
.inquiry-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.inquiry-form-note{margin:0;color:var(--text-secondary,#a6b4a9);font-size:9px;line-height:1.6}
.inquiry-email-fallback{display:block;text-align:center;color:#9dce8d;font-size:10px;font-weight:700}

/* Circular Nairobi skyline artwork on the login welcome panel. */
.auth-login .auth-art{max-width:550px}
.auth-skyline-wrap{position:relative;width:clamp(225px,24vw,315px);aspect-ratio:1;margin:0 10px -42px auto;z-index:0;filter:drop-shadow(0 20px 35px rgba(0,0,0,.22))}
.auth-skyline-wrap img{width:100%;height:100%;display:block;object-fit:contain}
.auth-login .auth-art h1{position:relative;z-index:1;max-width:470px;margin-top:0;font-size:clamp(43px,4.5vw,59px);letter-spacing:-.055em}
.auth-login .auth-art>p{position:relative;z-index:1;max-width:430px}
.auth-login .auth-benefits{position:relative;z-index:1;margin-top:26px}
html[data-theme="dark"] .auth-login .auth-skyline-wrap{filter:drop-shadow(0 22px 42px rgba(0,0,0,.38))}
html[data-theme="light"] .auth-skyline-wrap{filter:drop-shadow(0 14px 28px rgba(40,66,48,.13))}

@media(max-width:980px){
  .preview-host-panel{position:static}
  .preview-detail-grid{grid-template-columns:minmax(0,1fr) 280px}
}
@media(max-width:850px){
  .auth-wrap.auth-login{display:block!important;padding:18px 14px 32px!important;min-height:0!important}
  .auth-login .auth-art{display:block!important;max-width:520px;margin:0 auto 12px;padding:0;text-align:center}
  .auth-login .auth-skyline-wrap{width:132px;margin:0 auto -2px;filter:drop-shadow(0 10px 18px rgba(0,0,0,.2))}
  .auth-login .auth-art>.eyebrow,.auth-login .auth-art h1,.auth-login .auth-art>p,.auth-login .auth-benefits,.auth-login .auth-art-note{display:none!important}
  .auth-login .auth-card{margin:0 auto!important;max-width:520px!important}
  .preview-detail-page{padding-left:16px;padding-right:16px}
  .preview-detail-grid,.preview-detail-content{grid-template-columns:1fr}
  .preview-host-panel{order:-1}
  .preview-detail-photo{height:clamp(230px,55vw,370px)}
  .preview-gallery-thumbs{gap:7px}
  .preview-thumb{height:66px}
  .preview-info-side{grid-template-columns:1fr 1fr}
}
@media(max-width:520px){
  .preview-detail-heading h1{font-size:29px}
  .preview-detail-heading p{font-size:10px}
  .preview-host-panel{padding:17px}
  .preview-detail-tabs{gap:16px;margin-top:22px}
  .preview-detail-tabs a{font-size:10px}
  .preview-info-side{grid-template-columns:1fr}
  .preview-info-section h2{font-size:22px}
  .preview-thumb{height:58px;border-radius:9px}
  .inquiry-form-grid{grid-template-columns:1fr}
  .inquiry-modal{padding:20px 16px calc(20px + env(safe-area-inset-bottom))}
}


/* NairobiBNB management contact: visible only after a customer signs in. */
.unit-contact-panel{margin-top:16px;padding:16px;border:1px solid var(--border-color,#35483b);border-radius:15px;background:linear-gradient(145deg,rgba(36,61,46,.72),rgba(24,39,31,.82));color:var(--text-primary,#eef4ee)}
.unit-contact-panel>.eyebrow{color:#9ec58b}
.unit-contact-panel h3{margin:7px 0 6px;font-size:17px;letter-spacing:-.025em}
.unit-contact-panel>p{margin:0 0 13px;color:var(--text-secondary,#b0bdb3);font-size:10px;line-height:1.65}
.unit-contact-actions{display:grid;gap:8px}
.unit-contact-action{display:flex;align-items:center;gap:10px;min-height:55px;padding:9px 11px;border:1px solid #47624b;border-radius:11px;background:#1d3526;color:#eff8ec;transition:transform .18s,border-color .18s,background .18s}
.unit-contact-action:hover{transform:translateY(-1px);border-color:#8be965;background:#23432c}
.unit-contact-action-icon{width:34px;height:34px;display:grid;place-items:center;flex:0 0 auto;border-radius:10px;background:#315b37;color:#a6f178;font-size:17px;font-weight:800}
.unit-contact-action b,.unit-contact-action small{display:block}
.unit-contact-action b{font-size:11px}
.unit-contact-action small{margin-top:3px;color:#adc0b0;font-size:9px}
.unit-contact-arrow{margin-left:auto;color:#9bea79;font-size:15px}
.unit-contact-whatsapp .unit-contact-action-icon{background:#235b42;color:#b4f59b}
.unit-contact-gate{display:grid;gap:8px}
.unit-contact-gate>b{font-size:12px}
.unit-contact-gate>span,.unit-contact-unconfigured span{color:var(--text-secondary,#aab8ae);font-size:10px;line-height:1.6}
.unit-contact-gate-actions{display:grid;gap:9px;margin-top:4px}
.unit-contact-gate-actions .btn{margin:0;min-height:45px}
.unit-contact-create{display:block;text-align:center;color:#a8d797;font-size:10px;font-weight:700;padding:5px}
.unit-contact-unconfigured{display:grid;gap:5px;padding:12px;border:1px dashed #55705a;border-radius:10px;background:#1b2d22}
.unit-contact-unconfigured>b{font-size:11px;color:#d6e8d1}
.preview-host-panel .unit-contact-panel{margin-top:16px}
.booking-box .unit-contact-panel{margin-top:14px}
html[data-theme="light"] .unit-contact-panel{background:#f1f7f1;border-color:#d9e6da;color:#23392d}
html[data-theme="light"] .unit-contact-panel>p,
html[data-theme="light"] .unit-contact-gate>span,
html[data-theme="light"] .unit-contact-unconfigured span{color:#66786c}
html[data-theme="light"] .unit-contact-action{background:#e6f2e5;border-color:#c7ddc6;color:#1b3b26}
html[data-theme="light"] .unit-contact-action small{color:#637a67}
html[data-theme="light"] .unit-contact-action-icon{background:#d2e9d0;color:#315f35}
html[data-theme="light"] .unit-contact-unconfigured{background:#f7fbf5;border-color:#bdd6b8}
html[data-theme="light"] .unit-contact-unconfigured>b{color:#31583b}
html[data-theme="light"] .unit-contact-create{color:#367446}

/* Login artwork: one Nairobi/KICC medallion above the welcome copy, without the pale moon orb. */
.auth-login .auth-orb-one,.auth-login .auth-orb-two{display:none!important}
.auth-login .auth-skyline-wrap{width:clamp(280px,30vw,370px);aspect-ratio:1;margin:0 28px 4px auto;position:relative;z-index:1;filter:drop-shadow(0 18px 30px rgba(0,0,0,.28))}
.auth-login .auth-skyline-wrap img{width:100%;height:100%;object-fit:contain;display:block;border-radius:50%}
.auth-login .auth-art>.eyebrow{margin-top:0;position:relative;z-index:2}
.auth-login .auth-art h1{position:relative;z-index:2;margin:10px 0 12px;max-width:470px;font-size:clamp(43px,4.5vw,59px);letter-spacing:-.055em}
.auth-login .auth-art>p{position:relative;z-index:2;max-width:430px}
.auth-login .auth-benefits{position:relative;z-index:2;margin-top:25px}
@media(max-width:850px){
 .auth-login .auth-skyline-wrap{width:clamp(190px,48vw,250px);margin:0 auto 5px;filter:drop-shadow(0 12px 20px rgba(0,0,0,.24))}
 .auth-login .auth-art{text-align:left;max-width:520px;margin:0 auto 16px;padding:0 4px}
 .auth-login .auth-art>.eyebrow,.auth-login .auth-art h1,.auth-login .auth-art>p{display:block!important}
 .auth-login .auth-art h1{font-size:clamp(30px,8vw,38px);margin:8px 0}
 .auth-login .auth-art>p{font-size:11px;line-height:1.6;margin:0}
 .auth-login .auth-benefits,.auth-login .auth-art-note{display:none!important}
}
@media(max-width:520px){
 .unit-contact-panel{padding:14px}
 .unit-contact-action{min-height:52px}
}


/* Guest dashboard discovery cards */
.guest-dashboard-discover{margin:34px 0 8px;padding:22px;border:1px solid var(--line,#35443b);border-radius:18px;background:var(--white,#202d26)}
.guest-dashboard-discover .dashboard-section-head{margin-bottom:16px}
.guest-featured-image{position:relative;overflow:hidden}
.guest-card-tag{position:absolute;left:10px;top:10px;display:inline-flex;align-items:center;padding:6px 9px;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:rgba(15,31,23,.78);color:#f3f8f3;font-size:8px;font-weight:700;letter-spacing:.35px}
.guest-area-guide-card .guest-featured-image{height:145px}
.guest-area-guide-card .guest-featured-copy>span{font-size:9px}
.guest-featured-card .guest-featured-image img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .25s}
.guest-featured-card:hover .guest-featured-image img{transform:scale(1.035)}
.price-separator{margin:0 4px;color:#98a89d;font-style:normal}
html[data-theme="dark"] .guest-dashboard-discover{background:#19251f;border-color:#34463b}
html[data-theme="dark"] .guest-featured-card{background:#202d26;border-color:#35463b}
html[data-theme="dark"] .guest-featured-copy>small{color:#a5b5aa}
html[data-theme="dark"] .guest-featured-copy>b{color:#edf3ee}
html[data-theme="dark"] .guest-featured-copy>span{color:#c2cec5}
html[data-theme="dark"] .guest-featured-copy i{color:#9ac4a5}
@media(max-width:640px){
  .guest-dashboard-discover{margin-top:26px;padding:14px;border-radius:14px}
  .guest-dashboard-discover .dashboard-section-head{align-items:flex-start;gap:8px}
  .guest-area-guide-card .guest-featured-image{height:112px}
}


/* Admin moderation controls: readable selected value and native options in both themes. */
.admin-status-select{
  appearance:auto;
  -webkit-appearance:menulist;
  min-width:126px;
  min-height:36px;
  padding:8px 28px 8px 10px;
  border:1px solid #d6e1d8;
  border-radius:9px;
  background-color:#fff;
  color:#24342a;
  color-scheme:light;
  font:600 11px "DM Sans",Arial,sans-serif;
  line-height:1.25;
  cursor:pointer;
}
.admin-status-select option{
  background:#fff;
  color:#24342a;
}
.admin-status-select:focus-visible{
  outline:3px solid rgba(67,139,245,.35);
  outline-offset:2px;
  border-color:#438bf5;
}
html[data-theme="dark"] .admin-status-select{
  background-color:#1a2820 !important;
  color:#edf5ee !important;
  border-color:#526b58 !important;
  color-scheme:dark;
}
html[data-theme="dark"] .admin-status-select option{
  background-color:#1a2820;
  color:#edf5ee;
}
html[data-theme="light"] .admin-status-select{
  background-color:#fff;
  color:#24342a;
  border-color:#d6e1d8;
  color-scheme:light;
}
@media(max-width:640px){
  .admin-status-select{min-width:118px;max-width:100%}
}


/* NairobiBNB 1.8.0 — compact guest cards, host profile/listing controls and booking workflow */
.guest-featured-image .guest-card-tag{width:auto!important;height:auto!important;max-width:calc(100% - 20px);min-height:0!important;padding:6px 9px!important;line-height:1.2;white-space:nowrap;box-sizing:border-box;z-index:2}
.guest-featured-image>span.guest-card-tag{display:inline-flex!important}
.host-profile-section{margin:24px 0 30px;padding:20px;border:1px solid var(--line,#35443b);border-radius:18px;background:var(--white,#202d26)}
.host-profile-form{display:grid;grid-template-columns:120px minmax(0,1fr);gap:20px;align-items:start}
.host-profile-preview{width:112px;height:112px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:#dce9df;color:#345b40;font-size:25px;font-weight:800}
.host-profile-preview img{width:100%;height:100%;object-fit:cover}
.host-profile-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.host-profile-fields label,.booking-payment-form label,.admin-confirm-form label,.admin-inline-control label{display:grid;gap:6px;color:var(--text-primary,#e8eee9);font-size:11px;font-weight:700}
.host-profile-fields input,.booking-payment-form input,.admin-confirm-form input,.admin-confirm-form textarea,.admin-inline-control input{width:100%;min-width:0;padding:11px 12px;border:1px solid var(--line,#52665a);border-radius:9px;background:var(--surface,#1b2821);color:var(--text-primary,#edf4ee);font:500 12px "DM Sans",Arial,sans-serif}
.host-profile-fields small{display:block;color:var(--text-secondary,#aab8ae);font-size:9px;font-weight:400}
.host-profile-fields .btn{justify-self:start;align-self:end}
.host-profile-hero-image{width:100px;height:100px;margin:0 auto 12px;border-radius:50%;object-fit:cover;border:4px solid rgba(255,255,255,.45)}
.host-profile-hero-avatar{width:100px;height:100px;margin:0 auto 12px;border-radius:50%;display:grid;place-items:center;background:#dce9df;color:#345b40;font-size:27px;font-weight:800}
.host-property-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px}
.host-availability-toggle{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;padding-top:11px;border-top:1px solid var(--line,#35443b)}
.host-availability-toggle span{display:grid;gap:3px}
.host-availability-toggle b{font-size:10px;color:var(--text-primary,#e8eee9)}
.host-availability-toggle small,.host-request-hint{font-size:9px;line-height:1.5;color:var(--text-secondary,#aab8ae)}
.host-request-status{display:grid;gap:8px;justify-items:start}
.host-decision-actions{display:flex;gap:6px;flex-wrap:wrap}
.host-request-card{align-items:start}
.host-property-edit-form fieldset{min-width:0}
.host-form-check{display:flex!important;align-items:center;gap:9px;padding:12px;border:1px solid var(--line,#405246);border-radius:10px}
.host-form-check input{width:auto}
.current-property-image{display:flex;gap:12px;align-items:center;color:var(--text-secondary,#aab8ae);font-size:10px}
.current-property-image img{width:100px;height:72px;object-fit:cover;border-radius:9px}
.guest-booking-contact{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:9px;padding-top:8px;border-top:1px solid var(--line,#35443b)}
.guest-booking-contact b{font-size:9px;color:var(--text-secondary,#aab8ae);margin-right:4px}
.guest-booking-contact a{font-size:9px;font-weight:700;color:var(--forest,#9ec9a7);text-decoration:underline}
.guest-pay-link{display:inline-flex;margin-top:6px;padding:8px 11px;min-height:0}
.guest-confirmed-location{background:#eaf4eb!important;color:#254a30}
.guest-confirmed-location b{white-space:pre-line;line-height:1.5}
.booking-payment-page{max-width:780px;margin:0 auto;padding:28px 18px 80px}
.booking-payment-card{margin-top:18px;padding:clamp(20px,4vw,34px);border:1px solid var(--line,#35443b);border-radius:20px;background:var(--white,#202d26);color:var(--text-primary,#e8eee9)}
.booking-payment-card h1{margin:8px 0;font-size:clamp(28px,4vw,42px);letter-spacing:-.04em}
.booking-payment-card>p{font-size:12px;color:var(--text-secondary,#aab8ae);line-height:1.6}
.booking-payment-summary{display:grid;grid-template-columns:1.2fr 1fr .8fr;gap:12px;margin:22px 0;padding:16px;border:1px solid var(--line,#35443b);border-radius:13px;background:rgba(120,150,125,.08)}
.booking-payment-summary>div{display:grid;gap:5px;min-width:0}
.booking-payment-summary small{font-size:8px;letter-spacing:.8px;color:var(--text-secondary,#aab8ae);font-weight:700}
.booking-payment-summary b{font-size:12px;overflow-wrap:anywhere}
.booking-payment-summary span{font-size:10px;color:var(--text-secondary,#aab8ae)}
.booking-payment-amount{font-size:18px!important;color:#8dde77}
.booking-payment-form{display:grid;gap:13px;margin:22px 0}
.booking-payment-form label{font-size:11px}
.payment-gateway-note,.payment-state-pending,.payment-state-success{padding:13px;border-radius:11px;background:rgba(212,170,83,.12);border:1px solid rgba(212,170,83,.35);color:var(--text-primary,#e8eee9);font-size:10px;line-height:1.6}
.payment-gateway-note b{display:block;margin-bottom:3px}
.payment-state-success{background:rgba(104,185,120,.12);border-color:rgba(104,185,120,.4)}
.payment-state-success>b,.payment-state-pending>b{font-size:12px}
.payment-state-success p,.payment-state-pending p{margin:5px 0 0;color:var(--text-secondary,#aab8ae)}
.booking-payment-support{margin-top:22px;padding-top:15px;border-top:1px solid var(--line,#35443b)}
.booking-payment-support b{font-size:11px}
.booking-payment-support p{font-size:10px;color:var(--text-secondary,#aab8ae);line-height:1.5}
.admin-booking-actions{display:grid;gap:9px;min-width:230px}
.admin-inline-control,.admin-confirm-form{display:grid;gap:8px;padding:9px;border:1px solid var(--line,#35443b);border-radius:10px;background:rgba(120,150,125,.05)}
.admin-inline-control small{font-size:9px;color:var(--text-secondary,#aab8ae);line-height:1.4}
.admin-confirm-form textarea{resize:vertical}
.admin-contact-links{display:flex;gap:9px;flex-wrap:wrap;margin-top:5px}
.admin-contact-links a{font-size:9px;font-weight:700;color:var(--forest,#9ec9a7);text-decoration:underline}
html[data-theme="dark"] .host-profile-section,html[data-theme="dark"] .booking-payment-card{background:#1a2820;border-color:#35483b}
html[data-theme="dark"] .host-profile-fields input,html[data-theme="dark"] .booking-payment-form input,html[data-theme="dark"] .admin-confirm-form input,html[data-theme="dark"] .admin-confirm-form textarea,html[data-theme="dark"] .admin-inline-control input{background:#132019;border-color:#405547;color:#edf4ee}
html[data-theme="dark"] .host-profile-fields label,html[data-theme="dark"] .booking-payment-form label,html[data-theme="dark"] .admin-confirm-form label,html[data-theme="dark"] .admin-inline-control label{color:#dce9df}
html[data-theme="dark"] .guest-confirmed-location{background:#24392b!important;border:1px solid #405c46}
html[data-theme="dark"] .guest-confirmed-location b{color:#d7ead9}
html[data-theme="light"] .host-profile-section,html[data-theme="light"] .booking-payment-card{background:#fff;border-color:#e4ebe4;color:#23392d}
html[data-theme="light"] .host-profile-fields label,html[data-theme="light"] .booking-payment-form label,html[data-theme="light"] .admin-confirm-form label,html[data-theme="light"] .admin-inline-control label{color:#30483a}
html[data-theme="light"] .host-profile-fields input,html[data-theme="light"] .booking-payment-form input,html[data-theme="light"] .admin-confirm-form input,html[data-theme="light"] .admin-confirm-form textarea,html[data-theme="light"] .admin-inline-control input{background:#fbfdfb;border-color:#d9e5da;color:#23392d}
html[data-theme="light"] .payment-gateway-note,html[data-theme="light"] .payment-state-pending,html[data-theme="light"] .payment-state-success{color:#23392d}
@media(max-width:760px){
 .host-profile-form{grid-template-columns:1fr}
 .host-profile-preview{margin:0 auto}
 .booking-payment-summary{grid-template-columns:1fr 1fr}
 .booking-payment-summary>div:last-child{grid-column:1/-1}
 .admin-booking-actions{min-width:190px}
}
@media(max-width:560px){
 .host-profile-fields{grid-template-columns:1fr}
 .host-availability-toggle{align-items:flex-start;flex-direction:column}
 .host-decision-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}
 .host-decision-actions form,.host-decision-actions button{width:100%}
 .booking-payment-summary{grid-template-columns:1fr}
 .booking-payment-summary>div:last-child{grid-column:auto}
 .guest-booking-contact{align-items:flex-start;flex-direction:column}
}

.booking-payment-contact{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}


/* NairobiBNB 1.9.0 — Admin operations workspace */
.admin-hero{
  margin:30px clamp(18px,5vw,72px) 18px;padding:clamp(22px,3vw,38px);
  border:1px solid #dbe7dd;border-radius:22px;
  background:linear-gradient(120deg,#edf4ee 0%,#f7f8f4 62%,#e7f0e9 100%);
  display:grid;grid-template-columns:minmax(0,1.4fr) minmax(230px,.6fr);gap:28px;align-items:center;
}
.admin-hero h1{font:750 clamp(29px,3.5vw,43px)/1.08 "DM Sans",sans-serif;letter-spacing:-1.5px;margin:12px 0;color:#1c3428}
.admin-hero-copy>p{max-width:650px;font-size:13px;line-height:1.75;color:#66776c}
.admin-hero-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}
.admin-hero-pulse{padding:21px;border:1px solid #d2e0d5;border-radius:17px;background:#fff;box-shadow:0 12px 28px rgba(25,59,54,.06)}
.admin-pulse-label{display:block;font-size:9px;letter-spacing:1.5px;font-weight:800;color:#74847a}
.admin-hero-pulse>strong{display:block;font-size:42px;line-height:1;margin:9px 0;color:#193b36}
.admin-hero-pulse>small{display:block;font-size:10px;color:#7a887e;line-height:1.5}
.admin-pulse-breakdown{display:flex;flex-wrap:wrap;gap:13px;margin-top:17px;padding-top:13px;border-top:1px solid #edf1ed}
.admin-pulse-breakdown span{font-size:9px;color:#718078}.admin-pulse-breakdown b{color:#234b39;font-size:13px;margin-right:3px}
.admin-work-nav{position:sticky;top:82px;z-index:8;display:flex;gap:7px;overflow-x:auto;white-space:nowrap;padding:11px clamp(18px,5vw,72px);background:color-mix(in srgb,var(--white) 94%,transparent);border-top:1px solid var(--line);border-bottom:1px solid var(--line);scrollbar-width:thin}
.admin-work-nav a{display:inline-flex;align-items:center;padding:9px 13px;border:1px solid var(--line);border-radius:999px;font-size:10px;font-weight:700;color:var(--ink);background:var(--white)}
.admin-work-nav a:hover{border-color:#88a994;color:#507a62;background:var(--sage-soft)}
.admin-queue-section{padding:28px clamp(18px,5vw,72px) 10px;scroll-margin-top:150px}
.admin-section-title-row{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:17px}
.admin-section-title-row h2{font:700 clamp(23px,2.4vw,30px) "DM Sans";margin:7px 0;color:var(--ink)}
.admin-section-title-row p{font-size:11px;color:var(--muted);margin:0}
.admin-total-pill{flex:0 0 auto;display:inline-flex;padding:8px 12px;border-radius:999px;background:var(--sage-soft);border:1px solid var(--line);font-size:10px;font-weight:700;color:var(--forest)}
.admin-queue-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:11px}
.admin-queue-card{min-width:0;display:grid;grid-template-columns:34px 1fr;gap:5px 9px;align-items:center;padding:15px;border:1px solid var(--line);border-radius:15px;background:var(--white);box-shadow:var(--shadow-soft);transition:transform .18s,border-color .18s}
.admin-queue-card:hover{transform:translateY(-2px);border-color:#91b39b}
.admin-queue-card.queue-warm{border-color:#d9c28e;background:#fffaf0}
.queue-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:var(--sage-soft);color:var(--forest);font-size:15px;font-weight:800}
.queue-number{font-size:22px;font-weight:800;color:var(--ink)}
.admin-queue-card>b,.admin-queue-card>small,.admin-queue-card>em{grid-column:1/-1}
.admin-queue-card>b{font-size:11px;color:var(--ink);margin-top:7px}
.admin-queue-card>small{font-size:9px;color:var(--muted);line-height:1.5;min-height:27px}
.admin-queue-card>em{font-style:normal;font-size:9px;font-weight:800;color:#628b70;margin-top:5px}
.admin-metric-strip{padding:22px clamp(18px,5vw,72px) 10px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px}
.admin-metric-strip article{min-width:0;padding:14px;border:1px solid var(--line);border-radius:13px;background:var(--white)}
.admin-metric-strip small,.admin-metric-strip b,.admin-metric-strip span{display:block}
.admin-metric-strip small{font-size:8px;letter-spacing:.8px;color:var(--muted);font-weight:800}
.admin-metric-strip b{font-size:18px;margin-top:8px;color:var(--ink);overflow-wrap:anywhere}
.admin-metric-strip span{font-size:8px;color:var(--muted);margin-top:4px}
.admin-ops-section{scroll-margin-top:145px}
.admin-ops-section .section-heading{margin-bottom:18px}
.admin-property-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.admin-property-card{overflow:hidden;border:1px solid var(--line);border-radius:16px;background:var(--white);box-shadow:var(--shadow-soft)}
.admin-property-photo{height:150px;position:relative;background:var(--sage-soft);display:grid;place-items:center;overflow:hidden}
.admin-property-photo img{width:100%;height:100%;object-fit:cover}
.admin-property-photo>span{position:absolute;top:10px;right:10px}
.admin-property-photo>span:not(.host-status-pill){font-size:30px;color:var(--muted)}
.admin-property-body{padding:15px}
.admin-property-meta{display:flex;justify-content:space-between;gap:8px;color:var(--muted);font-size:9px}
.admin-property-body h3{font-size:15px;margin:8px 0 5px;color:var(--ink)}
.admin-property-host{font-size:10px;color:var(--muted);margin:0 0 12px}
.admin-property-host b{color:var(--ink)}
.admin-property-facts{display:flex;gap:12px;flex-wrap:wrap;font-size:9px;color:var(--muted);padding:10px 0;border-top:1px solid var(--line)}
.admin-property-facts b{color:var(--ink)}
.admin-property-rates{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 12px;font-size:9px;color:var(--muted)}
.admin-property-rates b{display:block;color:var(--ink);font-size:11px;margin-top:3px}
.admin-property-review-form{display:flex;align-items:end;gap:7px;padding-top:12px;border-top:1px solid var(--line)}
.admin-property-review-form label{display:grid;gap:5px;flex:1;min-width:0;font-size:9px;font-weight:700;color:var(--muted)}
.admin-property-review-form select{width:100%;min-width:0;padding:9px 8px;border:1px solid var(--line);border-radius:8px;background:var(--white);color:var(--ink);font-size:10px}
.admin-booking-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.admin-booking-card{min-width:0;padding:17px;border:1px solid var(--line);border-radius:17px;background:var(--white);box-shadow:var(--shadow-soft)}
.admin-booking-top{display:flex;justify-content:space-between;gap:12px;align-items:start;padding-bottom:12px;border-bottom:1px solid var(--line)}
.admin-booking-top h3{font-size:14px;letter-spacing:.3px;margin:5px 0;color:var(--ink)}
.admin-booking-top small{font-size:9px;color:var(--muted)}
.admin-booking-top .eyebrow{font-size:8px}
.admin-booking-summary{display:flex;gap:11px;align-items:center;padding:13px 0}
.admin-booking-summary img{width:74px;height:66px;flex:0 0 auto;object-fit:cover;border-radius:10px;background:var(--sage-soft)}
.admin-booking-summary>div{min-width:0;display:grid;gap:3px}
.admin-booking-summary b{font-size:12px;color:var(--ink)}
.admin-booking-summary span,.admin-booking-summary small{font-size:9px;color:var(--muted)}
.admin-booking-people{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.admin-booking-people>div{min-width:0;display:grid;gap:4px}
.admin-booking-people small,.admin-booking-financials small{font-size:8px;letter-spacing:.8px;color:var(--muted);font-weight:800}
.admin-booking-people b{font-size:10px;color:var(--ink)}
.admin-booking-people span{font-size:9px;color:var(--muted);overflow-wrap:anywhere}
.admin-contact-links{display:flex;flex-wrap:wrap;gap:9px;margin-top:3px}
.admin-contact-links a{font-size:9px;font-weight:800;color:#5e8c6b;text-decoration:underline}
.admin-booking-financials{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;padding:12px 0}
.admin-booking-financials>div{min-width:0;display:grid;gap:5px}
.admin-booking-financials b{font-size:10px;color:var(--ink);overflow-wrap:anywhere}
.admin-customer-note,.admin-hold-note{padding:9px 11px;background:var(--sage-soft);border-radius:9px;margin:4px 0 10px;font-size:9px;color:var(--muted)}
.admin-customer-note small{font-weight:800;letter-spacing:.7px}
.admin-customer-note p{margin:4px 0 0;line-height:1.5;color:var(--ink)}
.admin-hold-note{background:#fff6df;color:#846629}
.admin-booking-next-step{padding:13px;border-radius:12px;border:1px solid var(--line);background:var(--ivory)}
.admin-booking-next-step>b{display:block;font-size:11px;color:var(--ink)}
.admin-booking-next-step>p{font-size:9px;line-height:1.6;color:var(--muted);margin:5px 0 10px}
.admin-booking-next-step form{display:flex;align-items:end;gap:8px;flex-wrap:wrap}
.admin-booking-next-step label,.admin-booking-edit-form label{display:grid;gap:5px;min-width:0;flex:1;font-size:9px;font-weight:700;color:var(--muted)}
.admin-booking-next-step input,.admin-booking-edit-form input,.admin-booking-edit-form textarea,.admin-booking-edit-form select{width:100%;min-width:0;padding:9px;border:1px solid var(--line);border-radius:8px;background:var(--white);color:var(--ink);font-size:10px}
.admin-payer-phone{padding:7px 9px;background:var(--sage-soft);border-radius:8px;font-size:9px;margin:7px 0;color:var(--ink)}
.admin-booking-edit{margin-top:10px;border-top:1px solid var(--line);padding-top:10px}
.admin-booking-edit summary{font-size:9px;color:#6e927a;font-weight:800;cursor:pointer;list-style:none}
.admin-booking-edit summary::-webkit-details-marker{display:none}
.admin-booking-edit summary:after{content:'＋';float:right}
.admin-booking-edit[open] summary:after{content:'−'}
.admin-booking-edit-form{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:12px}
.admin-booking-edit-form label:nth-child(2),.admin-booking-edit-form label:nth-child(3),.admin-booking-edit-form label:nth-child(4){grid-column:1/-1}
.admin-booking-edit-form textarea{resize:vertical}
.admin-payment-notice{display:flex;gap:12px;padding:15px;border:1px solid #e7d4a6;border-radius:13px;background:#fff9e9;margin:0 0 16px}
.admin-payment-notice>span{height:25px;width:25px;flex:0 0 auto;display:grid;place-items:center;border-radius:50%;background:#f0e2ba;color:#795c20;font-weight:800}
.admin-payment-notice b{display:block;font-size:11px;color:#725a28}
.admin-payment-notice p{font-size:10px;line-height:1.65;color:#83724d;margin:5px 0 0}
.admin-payment-list{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--white)}
.admin-payment-row{display:grid;grid-template-columns:1.2fr .7fr 1fr 1fr .8fr;gap:12px;align-items:center;padding:13px 15px;border-bottom:1px solid var(--line)}
.admin-payment-row:last-child{border-bottom:0}
.admin-payment-row>div{min-width:0;display:grid;gap:4px}
.admin-payment-row small{font-size:8px;letter-spacing:.7px;font-weight:800;color:var(--muted)}
.admin-payment-row b{font-size:10px;color:var(--ink);overflow-wrap:anywhere}
.admin-payment-row span{font-size:9px;color:var(--muted)}
.admin-finance-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}
.admin-finance-summary>div{padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--white)}
.admin-finance-summary small,.admin-finance-summary b{display:block}
.admin-finance-summary small{font-size:8px;font-weight:800;letter-spacing:.7px;color:var(--muted)}
.admin-finance-summary b{font-size:16px;color:var(--ink);margin-top:7px}
.admin-customer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.admin-customer-card{display:flex;align-items:center;gap:10px;min-width:0;padding:13px;border:1px solid var(--line);border-radius:12px;background:var(--white)}
.admin-customer-avatar{width:36px;height:36px;display:grid;place-items:center;flex:0 0 auto;border-radius:12px;background:var(--sage-soft);color:var(--forest);font-size:10px;font-weight:800}
.admin-customer-main{display:grid;gap:3px;min-width:0;flex:1}
.admin-customer-main b{font-size:10px;color:var(--ink)}
.admin-customer-main span,.admin-customer-main small{font-size:9px;color:var(--muted);overflow-wrap:anywhere}
.admin-customer-actions{display:flex;gap:9px;flex:0 0 auto}
.admin-customer-actions a{font-size:9px;font-weight:800;color:#618b6b;text-decoration:underline}
.admin-activity-list{border-left:1px solid var(--line);margin-left:8px;padding-left:18px;display:grid;gap:0}
.admin-activity-list article{position:relative;display:flex;justify-content:space-between;gap:15px;padding:0 0 17px}
.admin-activity-dot{position:absolute;left:-23px;top:3px;width:9px;height:9px;border-radius:50%;background:#83a98d;border:2px solid var(--white);box-shadow:0 0 0 1px #83a98d}
.admin-activity-list article>div{display:grid;gap:4px;min-width:0}
.admin-activity-list b{font-size:10px;color:var(--ink);text-transform:capitalize}
.admin-activity-list small,.admin-activity-list p,.admin-activity-list time{font-size:9px;color:var(--muted)}
.admin-activity-list p{margin:0;overflow-wrap:anywhere}
.admin-activity-list time{white-space:nowrap}
html[data-theme="dark"] .admin-hero{background:linear-gradient(120deg,#1d3025,#24372a);border-color:#3b5143}
html[data-theme="dark"] .admin-hero h1{color:#edf3ee}
html[data-theme="dark"] .admin-hero-copy>p,html[data-theme="dark"] .admin-pulse-label,html[data-theme="dark"] .admin-hero-pulse>small{color:#aab8ad}
html[data-theme="dark"] .admin-hero-pulse{background:#1a2820;border-color:#405447;box-shadow:none}
html[data-theme="dark"] .admin-hero-pulse>strong,html[data-theme="dark"] .admin-pulse-breakdown b{color:#d4e7d8}
html[data-theme="dark"] .admin-pulse-breakdown{border-color:#35483b}
html[data-theme="dark"] .admin-pulse-breakdown span{color:#aab8ad}
html[data-theme="dark"] .admin-work-nav{background:rgba(24,35,30,.96)}
html[data-theme="dark"] .admin-work-nav a{background:#202d26;color:#e2ebe4;border-color:#405247}
html[data-theme="dark"] .admin-queue-card,html[data-theme="dark"] .admin-metric-strip article,html[data-theme="dark"] .admin-property-card,html[data-theme="dark"] .admin-booking-card,html[data-theme="dark"] .admin-payment-list,html[data-theme="dark"] .admin-finance-summary>div,html[data-theme="dark"] .admin-customer-card{background:#1d2a22;border-color:#35483b;box-shadow:none}
html[data-theme="dark"] .admin-queue-card.queue-warm{background:#342f22;border-color:#6a5733}
html[data-theme="dark"] .admin-queue-card>b,html[data-theme="dark"] .admin-metric-strip b,html[data-theme="dark"] .admin-property-body h3,html[data-theme="dark"] .admin-property-host b,html[data-theme="dark"] .admin-property-facts b,html[data-theme="dark"] .admin-property-rates b,html[data-theme="dark"] .admin-booking-top h3,html[data-theme="dark"] .admin-booking-summary b,html[data-theme="dark"] .admin-booking-people b,html[data-theme="dark"] .admin-booking-financials b,html[data-theme="dark"] .admin-booking-next-step>b,html[data-theme="dark"] .admin-customer-main b,html[data-theme="dark"] .admin-activity-list b,html[data-theme="dark"] .admin-finance-summary b{color:#e5eee7}
html[data-theme="dark"] .admin-queue-card>small,html[data-theme="dark"] .admin-metric-strip small,html[data-theme="dark"] .admin-property-meta,html[data-theme="dark"] .admin-property-host,html[data-theme="dark"] .admin-property-facts,html[data-theme="dark"] .admin-property-rates,html[data-theme="dark"] .admin-booking-summary span,html[data-theme="dark"] .admin-booking-summary small,html[data-theme="dark"] .admin-booking-people span,html[data-theme="dark"] .admin-booking-financials small,html[data-theme="dark"] .admin-booking-next-step>p,html[data-theme="dark"] .admin-customer-main span,html[data-theme="dark"] .admin-customer-main small,html[data-theme="dark"] .admin-activity-list small,html[data-theme="dark"] .admin-activity-list p,html[data-theme="dark"] .admin-activity-list time,html[data-theme="dark"] .admin-section-title-row p{color:#a6b5aa}
html[data-theme="dark"] .queue-icon,html[data-theme="dark"] .admin-customer-avatar,html[data-theme="dark"] .admin-customer-note,html[data-theme="dark"] .admin-payer-phone{background:#293a2f;color:#cfe0d2}
html[data-theme="dark"] .admin-booking-next-step{background:#17231c;border-color:#3b4e40}
html[data-theme="dark"] .admin-booking-edit{border-color:#35483b}
html[data-theme="dark"] .admin-property-review-form select,html[data-theme="dark"] .admin-booking-next-step input,html[data-theme="dark"] .admin-booking-edit-form input,html[data-theme="dark"] .admin-booking-edit-form textarea,html[data-theme="dark"] .admin-booking-edit-form select{background:#17221d;color:#edf3ee;border-color:#405247}
html[data-theme="dark"] .admin-booking-financials,html[data-theme="dark"] .admin-booking-people,html[data-theme="dark"] .admin-booking-top,html[data-theme="dark"] .admin-property-facts,html[data-theme="dark"] .admin-property-review-form{border-color:#35483b}
html[data-theme="dark"] .admin-payment-notice{background:#342f22;border-color:#6a5733}
html[data-theme="dark"] .admin-payment-notice b{color:#f0d89e}
html[data-theme="dark"] .admin-payment-notice p{color:#d0bd8d}
html[data-theme="dark"] .admin-pulse-breakdown{border-color:#35483b}
@media(max-width:1120px){
 .admin-queue-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .admin-metric-strip{grid-template-columns:repeat(3,minmax(0,1fr))}
 .admin-property-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
 .admin-hero{margin:18px 14px 12px;padding:20px;grid-template-columns:1fr;gap:17px}
 .admin-hero h1{font-size:30px}
 .admin-hero-pulse{padding:15px}
 .admin-work-nav{top:68px;padding:9px 14px}
 .admin-queue-section{padding:24px 14px 8px;scroll-margin-top:125px}
 .admin-section-title-row{align-items:start;flex-direction:column}
 .admin-queue-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .admin-queue-card{padding:12px;gap:4px 7px}
 .admin-queue-card>small{min-height:0}
 .admin-metric-strip{padding:16px 14px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .admin-property-grid,.admin-booking-grid,.admin-customer-grid{grid-template-columns:1fr}
 .admin-payment-row{grid-template-columns:1fr 1fr;gap:10px}
 .admin-payment-row>div:last-child{grid-column:1/-1}
 .admin-finance-summary{grid-template-columns:1fr 1fr}
 .admin-booking-financials{grid-template-columns:1fr 1fr}
 .admin-booking-people{grid-template-columns:1fr 1fr}
 .admin-booking-edit-form{grid-template-columns:1fr}
 .admin-booking-edit-form label:nth-child(n){grid-column:auto}
 .admin-activity-list article{flex-direction:column;gap:4px}
}
@media(max-width:420px){
 .admin-queue-grid{grid-template-columns:1fr 1fr}
 .admin-property-review-form{align-items:stretch;flex-direction:column}
 .admin-property-review-form .btn{width:100%}
 .admin-booking-people{grid-template-columns:1fr}
 .admin-customer-card{align-items:flex-start;flex-wrap:wrap}
 .admin-customer-actions{width:100%;padding-left:46px}
}
.admin-confirm-release-form{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.admin-confirm-release-form label{display:grid;gap:5px;min-width:0;font-size:9px;font-weight:700;color:var(--muted)}
.admin-confirm-release-form label:nth-child(3),.admin-confirm-release-form button{grid-column:1/-1}
.admin-confirm-release-form input{width:100%;min-width:0;padding:9px;border:1px solid var(--line);border-radius:8px;background:var(--white);color:var(--ink);font-size:10px}
html[data-theme="dark"] .admin-confirm-release-form input{background:#17221d;color:#edf3ee;border-color:#405247}
@media(max-width:760px){.admin-confirm-release-form{grid-template-columns:1fr}.admin-confirm-release-form label:nth-child(3),.admin-confirm-release-form button{grid-column:auto}}


/* 1.8.1 — neighbourhood destination cards (not fictitious property inventory). */
.neighbourhood-section{padding-top:30px}
.neighbourhood-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.neighbourhood-card .showcase-image{height:164px}
.neighbourhood-card .showcase-card-body{min-height:142px;display:flex;flex-direction:column}
.neighbourhood-card .showcase-development{font-size:11px;line-height:1.6;max-width:38ch}
.neighbourhood-card .showcase-card-link{margin-top:auto;padding-top:16px}
.neighbourhood-card .showcase-badge{font-size:9px;letter-spacing:.2px}
html[data-theme="dark"] .neighbourhood-card .showcase-development{color:#aab9ad}
html[data-theme="dark"] .neighbourhood-card .showcase-card-link{color:#c0ddc7}
@media(max-width:900px){
  .neighbourhood-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
  .neighbourhood-grid{grid-template-columns:1fr;gap:12px}
  .neighbourhood-card .showcase-image{height:175px}
  .neighbourhood-card .showcase-card-body{min-height:0}
  .neighbourhood-card .showcase-card-link{padding-top:10px}
}
/* Keep the real guest listing availability label as a small photo chip. */
.guest-card-tag{padding:5px 8px;font-size:8px;border-radius:999px;line-height:1.2}
.guest-featured-image{height:150px}
@media(max-width:560px){.guest-featured-image{height:130px}}


/* 2.0.0 — customer host feedback, star ratings and booking-linked reports */
.host-rating-inline{display:block;margin-top:4px;color:#e6bc59;font-size:10px;font-weight:700}
.property-host-feedback{margin:28px 0 22px;padding:20px;border:1px solid var(--line,#35483b);border-radius:17px;background:var(--surface,#1d2c23)}
.property-host-feedback-head{display:flex;align-items:center;justify-content:space-between;gap:14px}
.property-host-feedback-head h3{margin:5px 0 0;font-size:19px}
.property-rating-score{text-align:right}
.property-rating-score b{display:block;color:#e7bd59;font-size:21px}
.property-rating-score small,.new-host-rating,.new-host-rating-copy{color:var(--muted,#9aa99e);font-size:10px}
.property-host-review-list{display:grid;gap:0;margin-top:15px}
.property-host-review{padding:13px 0;border-top:1px solid var(--line,#35483b)}
.property-review-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.property-review-top>b{font-size:11px}
.star-display{color:#e6b84f;letter-spacing:1px;white-space:nowrap}
.property-host-review>small{display:block;margin-top:4px;color:var(--muted,#9aa99e);font-size:9px}
.property-host-review p{margin:8px 0 0;color:var(--text-secondary,#c1ccc3);font-size:11px;line-height:1.6}
.new-host-rating-copy{margin:14px 0 0;line-height:1.6}
.guest-booking-contact{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin:12px 0;padding:10px 12px;border:1px solid var(--line,#35483b);border-radius:11px;background:var(--surface,#1d2c23)}
.guest-booking-contact>b{width:100%;color:var(--muted,#9aa99e);font-size:9px;text-transform:uppercase;letter-spacing:.08em}
.guest-booking-contact>a{font-size:10px;font-weight:700;color:var(--accent,#9ddc9c);text-decoration:underline;text-underline-offset:3px}
.guest-booking-feedback,.guest-report-box{margin-top:12px;padding:14px;border:1px solid var(--line,#35483b);border-radius:13px;background:var(--surface,#1d2c23)}
.guest-feedback-heading b,.guest-feedback-heading small{display:block}
.guest-feedback-heading b{font-size:12px}
.guest-feedback-heading small{margin-top:4px;color:var(--muted,#9aa99e);font-size:10px}
.guest-rating-form{display:grid;gap:10px;margin-top:11px}
.guest-star-picker{display:flex;align-items:center;gap:8px}
.guest-star-picker label{position:relative;display:grid;justify-items:center;gap:1px;cursor:pointer}
.guest-star-picker input{position:absolute;width:1px;height:1px;opacity:0}
.guest-star-picker label>span{font-size:27px;line-height:1;color:#78877c;transition:transform .15s,color .15s}
.guest-star-picker label:has(input:checked)>span{color:#e8b949;transform:scale(1.12)}
.guest-star-picker label:has(input:focus-visible){outline:2px solid #438bf5;outline-offset:3px;border-radius:5px}
.guest-star-picker label>small{font-size:8px;color:var(--muted,#9aa99e)}
.guest-review-comment,.guest-report-form label{display:grid;gap:6px;color:var(--muted,#9aa99e);font-size:10px;font-weight:700}
.guest-review-comment textarea,.guest-report-form textarea,.guest-report-form select{width:100%;min-height:40px;padding:10px 11px;border:1px solid var(--line,#405247);border-radius:9px;background:var(--input-bg,#17221d);color:var(--text-primary,#edf3ee);font:inherit;font-size:11px}
.guest-review-comment textarea,.guest-report-form textarea{resize:vertical}
.guest-feedback-saved{color:var(--muted,#9aa99e);font-size:9px}
.guest-report-box>summary{cursor:pointer;color:var(--muted,#a9b6ad);font-size:10px;font-weight:700}
.guest-report-form{display:grid;gap:10px;margin-top:12px}
.guest-report-form .btn{justify-self:start}
.guest-report-status{display:grid;gap:4px;margin-top:12px;padding:11px 12px;border-radius:10px;background:rgba(80,145,91,.12);border:1px solid rgba(110,175,120,.25)}
.guest-report-status b{font-size:10px}
.guest-report-status span{font-size:9px;color:var(--muted,#9aa99e)}
.host-feedback-section{margin:20px 0 26px;padding:20px;border:1px solid var(--line,#35483b);border-radius:17px;background:var(--surface,#1d2c23)}
.host-rating-summary{text-align:right}
.host-rating-summary b{display:block;color:#e6b84f;font-size:23px}
.host-rating-summary small,.host-new-rating{color:var(--muted,#9aa99e);font-size:10px}
.host-feedback-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:15px}
.host-feedback-list article{padding:13px;border:1px solid var(--line,#35483b);border-radius:12px}
.host-feedback-list article>div{display:flex;align-items:center;justify-content:space-between;gap:8px}
.host-feedback-list article>div b{font-size:10px}
.host-feedback-list article>small{display:block;margin-top:5px;color:var(--muted,#9aa99e);font-size:9px}
.host-feedback-list article p{margin:9px 0 0;color:var(--text-secondary,#c1ccc3);font-size:10px;line-height:1.6}
.host-feedback-empty{margin-top:12px;padding:13px;border:1px dashed var(--line,#405247);border-radius:11px;color:var(--muted,#9aa99e);font-size:10px}
.admin-host-report-list{display:grid;gap:13px}
.admin-host-report-card{padding:17px;border:1px solid var(--line,#35483b);border-radius:15px;background:var(--surface,#1d2c23)}
.admin-host-report-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.admin-host-report-top small,.admin-host-report-people small{display:block;color:var(--muted,#9aa99e);font-size:8px;font-weight:800;letter-spacing:.08em}
.admin-host-report-top h3{margin:5px 0;font-size:15px}
.admin-host-report-top>div>span,.admin-host-report-people span{display:block;color:var(--muted,#9aa99e);font-size:9px}
.admin-host-report-people{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0;padding:12px 0;border-top:1px solid var(--line,#35483b);border-bottom:1px solid var(--line,#35483b)}
.admin-host-report-people b{display:block;margin:5px 0 3px;font-size:10px}
.admin-host-report-details{padding:11px;border-radius:9px;background:rgba(120,140,125,.1);font-size:10px;line-height:1.6}
.admin-host-report-actions{display:flex;gap:12px;flex-wrap:wrap;margin:10px 0}
.admin-host-report-actions a{font-size:10px;color:var(--accent,#a6d8a6);font-weight:700;text-decoration:underline}
.admin-host-report-form{display:grid;grid-template-columns:minmax(140px,.7fr) minmax(200px,1.5fr) auto;align-items:end;gap:10px}
.admin-host-report-form label{display:grid;gap:5px;color:var(--muted,#9aa99e);font-size:9px;font-weight:700}
.admin-host-report-form input,.admin-host-report-form select{width:100%;min-width:0;padding:9px;border:1px solid var(--line,#405247);border-radius:8px;background:var(--input-bg,#17221d);color:var(--text-primary,#edf3ee);font-size:10px}
html[data-theme="light"] .property-host-feedback,
html[data-theme="light"] .guest-booking-feedback,
html[data-theme="light"] .guest-report-box,
html[data-theme="light"] .guest-booking-contact,
html[data-theme="light"] .host-feedback-section,
html[data-theme="light"] .admin-host-report-card{background:#f8fbf7;border-color:#dbe6dc}
html[data-theme="light"] .property-host-review p,
html[data-theme="light"] .host-feedback-list article p{color:#54665a}
html[data-theme="light"] .guest-review-comment textarea,
html[data-theme="light"] .guest-report-form textarea,
html[data-theme="light"] .guest-report-form select,
html[data-theme="light"] .admin-host-report-form input,
html[data-theme="light"] .admin-host-report-form select{background:#fff;color:#26392d;border-color:#d5e1d7}
@media(max-width:700px){
  .host-feedback-list{grid-template-columns:1fr}
  .admin-host-report-people{grid-template-columns:1fr 1fr}
  .admin-host-report-form{grid-template-columns:1fr}
  .admin-host-report-form .btn{width:100%}
}
@media(max-width:480px){
  .admin-host-report-people{grid-template-columns:1fr}
  .property-host-feedback{padding:15px}
  .guest-booking-contact{align-items:flex-start;flex-direction:column}
}


/* 2.1.0 — live M-Pesa STK checkout states */
.payment-state-pending,.payment-state-success,.payment-state-failed{
  margin:20px 0;padding:17px;border:1px solid var(--line,#35483b);
  border-radius:13px;background:rgba(120,150,125,.09)
}
.payment-state-pending>b,.payment-state-success>b,.payment-state-failed>b{
  display:block;font-size:14px;margin-bottom:7px
}
.payment-state-success{border-color:rgba(92,174,105,.35);background:rgba(68,150,82,.1)}
.payment-state-success>b{color:#63c87a}
.payment-state-failed{border-color:rgba(218,113,91,.35);background:rgba(190,76,58,.08)}
.payment-state-failed>b{color:#e18c7b}
.payment-state-pending p,.payment-state-success p,.payment-state-failed p{
  margin:6px 0 12px;color:var(--text-secondary,#aab8ae);font-size:11px;line-height:1.65
}
.payment-reference-line{overflow-wrap:anywhere;font-size:10px!important}
.payment-refresh-hint{display:block;margin-top:9px;color:var(--text-secondary,#aab8ae);font-size:9px}
.payment-gateway-note{margin:0;color:var(--text-secondary,#aab8ae);font-size:10px;line-height:1.6}
.admin-gateway-message{display:block;max-width:250px;margin:5px 0;color:var(--text-secondary,#aab8ae);font-size:9px;line-height:1.45;overflow-wrap:anywhere}
html[data-theme="light"] .payment-state-pending{background:#f3f8f3;border-color:#d7e6d9}
html[data-theme="light"] .payment-state-success{background:#eef8ef;border-color:#cfe5d1}
html[data-theme="light"] .payment-state-failed{background:#fff4f1;border-color:#efd4cc}
html[data-theme="light"] .payment-state-pending p,
html[data-theme="light"] .payment-state-success p,
html[data-theme="light"] .payment-state-failed p,
html[data-theme="light"] .payment-refresh-hint,
html[data-theme="light"] .payment-gateway-note{color:#58695e}
