:root{color:#17211f;background:#f6f8f7;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:#f6f8f7}button,input,textarea{font:inherit}button{color:inherit}a{color:inherit;text-decoration:none}.app-frame{min-height:100vh}.top-bar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;height:64px;padding:0 18px;background:#f6f8f7f0;border-bottom:1px solid #dfe7e3;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.brand,.side-brand{display:inline-flex;align-items:center;gap:10px;font-weight:800}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:8px;color:#fff;background:#0f766e}.auth-link{padding:10px 13px;border-radius:8px;color:#0f766e;background:#e0f2ef;font-size:14px;font-weight:700}.top-account{display:inline-flex;align-items:center;gap:8px;min-width:0}.top-account .auth-link{max-width:168px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.icon-button{display:inline-grid;place-items:center;width:40px;height:40px;border:0;border-radius:8px;color:#32413d;background:#edf2ef;cursor:pointer}.desktop-shell{display:block}.side-nav{display:none}.content{width:min(100%,880px);margin:0 auto;padding:18px 16px 94px}.page-stack{display:grid;gap:18px}.search-hero{display:grid;gap:16px}.search-hero h1,.detail-summary h1,.placeholder-panel h1{margin:0;max-width:12ch;font-size:38px;line-height:1.02;letter-spacing:0}.search-hero img,.detail-gallery img{width:100%;aspect-ratio:16 / 11;object-fit:cover;border-radius:8px;border:1px solid #dfe7e3}.eyebrow{margin:0 0 8px;color:#0f766e;font-size:12px;font-weight:800;letter-spacing:0;text-transform:uppercase}.search-box,.section-block,.detail-summary,.placeholder-panel{padding:16px;border:1px solid #dfe7e3;border-radius:8px;background:#fff}.detail-main{display:grid;gap:16px;min-width:0}.detail-gallery{display:grid;gap:8px}.detail-gallery-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.detail-gallery-strip img{aspect-ratio:1}.detail-gallery-empty{display:grid;place-items:center;min-height:240px;border:1px dashed #cfd9d5;border-radius:8px;color:#65726e;background:#edf2ef}.detail-title-row{display:flex;align-items:start;justify-content:space-between;gap:12px}.detail-title-row>div{min-width:0}.rating-badge{display:inline-flex;align-items:center;gap:5px;min-height:34px;padding:0 10px;border-radius:999px;color:#0f766e;background:#e0f2ef;font-weight:900}.detail-description{font-size:15px;line-height:1.55}.detail-facts{margin-bottom:18px}.detail-section{display:grid;gap:10px;padding-top:16px;border-top:1px solid #e2e9e6}.detail-section h2{margin:0;font-size:18px}.detail-section p{display:inline-flex;align-items:center;gap:7px;margin:0}.amenity-list{display:flex;flex-wrap:wrap;gap:8px}.amenity-list span{display:inline-flex;align-items:center;min-height:34px;padding:0 10px;border-radius:999px;color:#32413d;background:#edf2ef;font-size:13px;font-weight:800}.booking-panel{display:grid;gap:15px;align-content:start;padding:16px;border:1px solid #dfe7e3;border-radius:8px;background:#fff}.booking-panel strong{display:block;font-size:24px}.availability-form{display:grid;gap:12px}.booking-request-page,.booking-success,.booking-request-grid{display:grid;gap:16px}.booking-request-form,.booking-request-summary,.booking-success-panel{border:1px solid #dfe7e3;border-radius:8px;background:#fff}.booking-request-form,.booking-request-summary,.booking-success-panel{padding:16px}.booking-request-form{display:grid;gap:18px}.booking-request-form h1,.booking-success-panel h1{margin:0;font-size:34px;line-height:1.05}.booking-request-form p,.booking-request-summary p,.booking-success-panel p{margin:8px 0 0;color:#5d6b67}.booking-section{display:grid;gap:12px;padding-top:16px;border-top:1px solid #e2e9e6}.booking-section h2,.booking-request-summary h2{margin:0;font-size:18px}.booking-inline-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.checkbox-row{display:inline-flex;align-items:center;gap:10px;min-height:44px;color:#32413d;font-size:14px;font-weight:800}.checkbox-row span{display:inline-flex;align-items:center;gap:6px}.text-area{width:100%;min-height:110px;padding:12px 13px;border:1px solid #cfd9d5;border-radius:8px;outline:0;resize:vertical;color:#17211f;background:#fff}.select-field{width:100%;min-height:48px;padding:0 13px;border:1px solid #cfd9d5;border-radius:8px;color:#17211f;background:#fff}.booking-request-summary{display:grid;gap:14px;align-content:start}.summary-location{display:inline-flex;align-items:center;gap:6px}.booking-summary-card{display:grid;gap:10px}.booking-summary-card span{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 12px;border-radius:8px;color:#32413d;background:#edf2ef;font-weight:800}.booking-summary-note{font-size:13px}.booking-success{min-height:calc(100vh - 180px);place-items:center}.booking-success-panel{width:min(100%,620px);display:grid;gap:12px;text-align:center}.booking-success-panel>svg{justify-self:center;color:#0f766e}.feedback-fab{position:fixed;right:16px;bottom:86px;z-index:32;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 14px;border:0;border-radius:999px;color:#fff;background:#17211f;font-weight:800;box-shadow:0 18px 36px #17211f2e}.feedback-modal-shell{position:fixed;inset:0;z-index:45;display:grid;place-items:center;padding:16px}.feedback-modal-backdrop{position:absolute;inset:0;background:#17211f80}.feedback-modal{position:relative;z-index:1;width:min(100%,720px);display:grid;gap:18px;padding:18px;border:1px solid #dfe7e3;border-radius:8px;background:#fff;box-shadow:0 24px 64px #17211f29}.feedback-modal-head{display:flex;align-items:start;justify-content:space-between;gap:12px}.feedback-modal-head h2{margin:0}.feedback-form{display:grid;gap:14px}.feedback-meta,.feedback-meta-grid{color:#52605c;font-size:13px}.feedback-meta{margin:-6px 0 0}.feedback-meta-grid{display:grid;gap:8px;padding:12px;border-radius:8px;background:#f8faf9}.booking-list{display:grid;gap:12px}.booking-tabs{display:inline-grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;width:min(320px,100%)}.booking-tab{min-height:42px;border:1px solid #dfe7e3;border-radius:8px;color:#52605c;background:#fff;font-weight:800}.booking-tab.active{color:#0f766e;background:#e0f2ef;border-color:#b9d8d2}.booking-filter{display:grid;gap:8px;max-width:220px;color:#52605c;font-size:13px;font-weight:700}.booking-filter select{min-height:44px;padding:0 13px;border:1px solid #cfd9d5;border-radius:8px;color:#17211f;background:#fff}.booking-card{display:grid;gap:12px;padding:16px;border:1px solid #dfe7e3;border-radius:8px;background:#fff}.booking-card-head{display:flex;align-items:start;justify-content:space-between;gap:12px}.booking-card-head h3{margin:0}.booking-status-pill.status-cancelled,.booking-status-pill.status-rejected{color:#9f3a2e;background:#fff1ee}.booking-status-pill.status-completed{color:#255e48;background:#e3f5eb}.booking-status-pill.status-pending,.booking-status-pill.status-payment_pending{color:#8a5a00;background:#fff4da}.booking-status-pill.status-confirmed,.booking-status-pill.status-paid,.booking-status-pill.status-in_progress{color:#0f766e;background:#e0f2ef}.booking-detail-panel{position:fixed;right:16px;bottom:88px;left:16px;z-index:35;display:grid;gap:16px;max-width:720px;max-height:calc(100vh - 120px);margin:0 auto;padding:18px;overflow:auto;border:1px solid #dfe7e3;border-radius:8px;background:#fffffffa;box-shadow:0 24px 64px #17211f24;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.booking-detail-header{display:flex;align-items:start;justify-content:space-between;gap:12px}.booking-detail-header h3{margin:0}.icon-action{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid #dfe7e3;border-radius:8px;color:#32413d;background:#fff}.booking-detail-body,.booking-cancel-form{display:grid;gap:14px}.booking-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.booking-detail-section{display:grid;gap:6px}.booking-detail-section h4,.booking-detail-section p{margin:0}.search-box{display:grid;gap:14px}.search-box label,.amenity-filter{display:grid;gap:8px;color:#52605c;font-size:13px;font-weight:700}.browse-search-box{grid-template-columns:1fr}.search-span-wide{grid-column:1 / -1}.input-shell{display:flex;align-items:center;gap:10px;min-height:48px;padding:0 13px;border:1px solid #cfd9d5;border-radius:8px;background:#fff}.input-shell input{width:100%;min-width:0;border:0;outline:0;color:#17211f;background:transparent}.input-shell input[type=date]{min-height:46px}.search-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.search-grid button,.primary-action,.secondary-action,.button-link,.fallback-screen button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border:0;border-radius:8px;cursor:pointer;font-weight:800}button:disabled{cursor:not-allowed;opacity:.68}.search-grid button{color:#32413d;background:#edf2ef}.primary-action,.button-link,.fallback-screen button{color:#fff;background:#0f766e}.secondary-action{color:#32413d;background:#edf2ef}.full-width{width:100%}.split-actions{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:10px}.search-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.amenity-filter{min-width:0;margin:0;padding:0;border:0}.amenity-filter legend{display:inline-flex;align-items:center;gap:6px;margin-bottom:9px;padding:0;color:#52605c}.amenity-filter>div{display:flex;flex-wrap:wrap;gap:8px}.chip-control{display:inline-flex;cursor:pointer}.chip-control input{position:absolute;opacity:0;pointer-events:none}.chip-control span{display:inline-flex;align-items:center;min-height:36px;padding:0 12px;border:1px solid #cfd9d5;border-radius:999px;color:#32413d;background:#fff;font-size:13px;font-weight:800}.chip-control input:checked+span{border-color:#0f766e;color:#0f766e;background:#e0f2ef}.section-heading{display:flex;align-items:start;justify-content:space-between;gap:12px;margin-bottom:14px}.section-heading h2,.property-card h3{margin:0}.route-pill{flex:0 0 auto;padding:7px 9px;border-radius:999px;color:#47524f;background:#edf2ef;font-size:12px;font-weight:800}.property-list{display:grid;gap:12px}.active-filter-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-2px 0 14px;color:#52605c;font-size:13px;font-weight:800}.active-filter-row button{border:0;color:#0f766e;background:transparent;cursor:pointer;font-weight:800}.property-card{display:grid;grid-template-columns:112px minmax(0,1fr);gap:12px;align-items:stretch;padding:10px;border:1px solid #e2e9e6;border-radius:8px;background:#fff}.property-card:hover{border-color:#b7ccc5}.property-card img{width:112px;height:116px;object-fit:cover;border-radius:6px}.property-image-empty{display:grid;place-items:center;width:112px;height:116px;border-radius:6px;color:#65726e;background:#edf2ef}.property-card p,.placeholder-panel p,.detail-summary p{margin:7px 0;color:#5d6b67}.property-card strong{display:block;margin-top:8px}.property-meta,.trust-row span,.info-grid span,.step-list span{display:inline-flex;align-items:center;gap:6px}.property-meta{justify-content:space-between;width:100%;color:#5d6b67;font-size:12px;font-weight:700}.property-meta span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trust-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.trust-row span{min-height:26px;padding:0 8px;border-radius:999px;color:#0f766e;background:#e0f2ef;font-size:12px;font-weight:800}.state-panel{display:grid;grid-auto-rows:max-content;align-content:center;justify-items:center;gap:8px;padding:34px 16px;border:1px dashed #cfd9d5;border-radius:8px;color:#52605c;background:#f8faf9;text-align:center}.state-panel h3{margin:6px 0 0;color:#17211f}.state-panel p{max-width:380px;margin:0}.state-panel .button-link{margin-top:10px;padding:0 18px}.error-state{border-color:#f3b4a8;color:#9f3a2e;background:#fff7f5}.spin{animation:spin .85s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.bottom-nav{position:fixed;right:0;bottom:0;left:0;z-index:30;display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:9px 12px 12px;background:#fffffff5;border-top:1px solid #dfe7e3;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:54px;border-radius:8px;color:#65726e;font-size:12px;font-weight:800}.nav-item.active{color:#0f766e;background:#e0f2ef}.back-link{display:inline-flex;align-items:center;gap:4px;color:#0f766e;font-weight:800}.info-grid,.step-list{display:grid;gap:10px;margin-top:16px}.info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.info-grid span,.step-list span{min-height:48px;padding:12px;border-radius:8px;background:#edf2ef;color:#32413d;font-weight:800}.placeholder-panel{min-height:calc(100vh - 180px);display:flex;flex-direction:column;justify-content:center}.action-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.fallback-screen{display:grid;place-items:center;min-height:100vh;padding:24px;background:#f6f8f7}.fallback-screen>div{width:min(100%,420px);padding:20px;border:1px solid #dfe7e3;border-radius:8px;background:#fff}.auth-page,.account-page{display:grid;gap:16px}.auth-panel,.auth-side,.account-form,.account-summary,.account-header{border:1px solid #dfe7e3;border-radius:8px;background:#fff}.auth-panel,.auth-side,.account-form,.account-summary{padding:16px}.auth-panel{display:grid;gap:18px}.auth-panel h1,.account-header h1{margin:0;font-size:34px;line-height:1.05;letter-spacing:0}.auth-panel p,.auth-side p,.account-header p{margin:8px 0 0;color:#5d6b67}.auth-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.auth-steps span,.account-summary span{display:inline-flex;align-items:center;gap:8px;min-width:0;min-height:42px;padding:0 10px;border-radius:8px;color:#52605c;background:#edf2ef;font-size:13px;font-weight:800}.auth-steps span{justify-content:center}.auth-steps .active{color:#0f766e;background:#e0f2ef}.form-stack,.account-form{display:grid;gap:13px}.form-field{display:grid;gap:8px;color:#52605c;font-size:13px;font-weight:800}.inline-alert{padding:11px 12px;border-radius:8px;font-size:13px;font-weight:800}.inline-alert strong,.inline-alert span{display:block}.inline-alert span{margin-top:5px;font-weight:700}.inline-alert.error{color:#9f3a2e;background:#fff0ed}.inline-alert.success{color:#0f766e;background:#e0f2ef}.auth-side{display:grid;gap:12px}.auth-side h2{margin:0}.auth-side .button-link{width:fit-content;padding:0 16px}.account-header{display:flex;align-items:start;justify-content:space-between;gap:12px;padding:16px}.account-grid{display:grid;gap:16px}.account-summary{display:grid;gap:10px;align-content:start}.account-summary span{justify-content:flex-start;overflow-wrap:anywhere}.side-account{display:grid;gap:10px;margin-top:auto}.side-account>a:not(.primary-action){display:grid;gap:4px;padding:12px;border-radius:8px;background:#edf2ef}.side-account span{overflow:hidden;color:#17211f;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.side-account small{color:#65726e;font-size:12px;font-weight:700}.side-account button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;border:0;border-radius:8px;color:#32413d;background:#edf2ef;cursor:pointer;font-weight:800}.account-state{min-height:calc(100vh - 180px)}@media(min-width:860px){.top-bar,.bottom-nav{display:none}.desktop-shell{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh}.side-nav{position:sticky;top:0;display:flex;flex-direction:column;gap:28px;height:100vh;padding:24px 16px;border-right:1px solid #dfe7e3;background:#fff}.side-brand{padding:0 10px;font-size:20px}.side-nav nav{display:grid;gap:8px}.side-nav .nav-item{flex-direction:row;justify-content:flex-start;min-height:46px;padding:0 12px;font-size:14px}.content{width:min(100%,1120px);padding:32px}.search-hero{grid-template-columns:minmax(0,.85fr) minmax(420px,1fr);align-items:end}.search-hero h1,.detail-summary h1,.placeholder-panel h1{font-size:56px}.search-hero img{aspect-ratio:16 / 9}.search-box{grid-template-columns:repeat(4,minmax(0,1fr));align-items:end}.browse-search-box .search-span-wide:first-child{grid-column:span 2}.property-list{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-page{grid-template-columns:minmax(0,1fr) minmax(320px,.38fr);align-items:start}.detail-page .back-link{grid-column:1 / -1}.detail-gallery img{aspect-ratio:4 / 3}.booking-panel{position:sticky;top:32px;padding:20px}.placeholder-panel{min-height:calc(100vh - 64px);max-width:760px}.auth-page{grid-template-columns:minmax(0,1fr) minmax(300px,.48fr);align-items:start}.auth-panel,.auth-side,.account-form,.account-summary,.account-header{padding:20px}.auth-panel h1,.account-header h1{font-size:46px}.account-grid{grid-template-columns:minmax(0,1fr) minmax(280px,.42fr);align-items:start}.account-state{min-height:calc(100vh - 64px)}.booking-request-grid{grid-template-columns:minmax(0,1fr) minmax(300px,.42fr);align-items:start}.booking-list{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-detail-panel{right:24px;bottom:24px;left:auto;width:min(720px,calc(100vw - 48px));max-height:calc(100vh - 48px)}.booking-request-form,.booking-request-summary,.booking-success-panel{padding:20px}.booking-request-form h1,.booking-success-panel h1{font-size:46px}.booking-request-summary{position:sticky;top:32px}.booking-success{min-height:calc(100vh - 64px)}.feedback-fab{bottom:24px}.feedback-meta-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:767px){.feedback-fab{right:12px;bottom:82px}.feedback-fab span{display:none}.feedback-modal{padding:16px}.booking-detail-panel{right:12px;bottom:82px;left:12px;width:auto;max-height:calc(100vh - 104px);padding:16px}.booking-detail-grid,.feedback-meta-grid{grid-template-columns:1fr}}
