@font-face{font-family:Manrope;src:url('/assets/brand/manrope-regular.woff') format('woff'),url('/assets/brand/manrope-regular.ttf') format('truetype');font-weight:400 600;font-display:swap}
@font-face{font-family:Manrope;src:url('/assets/brand/manrope-bold.woff') format('woff'),url('/assets/brand/manrope-bold.ttf') format('truetype');font-weight:650 900;font-display:swap}
:root{--sans:Manrope,Arial,sans-serif;--paper:#f7f9fc;--bg:#f7f9fc;--ink:#183451;--clay:#007a51;--muted:#50647b;--line:#dce4ec;--brand-primary:#002763;--brand-primary-hover:#064084;--brand-surface:#fff;--brand-sage:#e8f5ef;--brand-action:#007a51;--brand-action-hover:#006440;font-family:var(--sans)}
body,button,input,select,textarea{font-family:var(--sans)}
body{background:var(--paper);color:var(--ink)}
::selection{background:#eaf2fb;color:#002763}
input,textarea{caret-color:#002763}input::placeholder,textarea::placeholder{color:#50647b;opacity:1}
html{scrollbar-color:#50647b #f7f9fc}
body :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #002763;outline-offset:3px}
body .brand .brand-logo,body header .brand .brand-logo,body footer .brand .brand-logo{width:230px;height:66px;object-fit:contain}
body .login-brand,body #account-panel.login-style-dialog .login-brand{width:230px;height:66px;object-fit:contain;margin:4px auto 20px}
body :is(header.home-header,header.catalog-header,header.catalog-accommodation-header){background:#fff}
body :is(.site-footer,.platform-footer){background:#f7f9fc}
body .button:not(.outline){background:#007a51;border-color:#007a51;color:#fff}
body .button:not(.outline):hover{background:#006440;border-color:#006440}
body button:disabled{cursor:not-allowed}
body .ms-password-field{position:relative;display:block;width:100%}
body .ms-password-field input{padding-right:52px;width:100%}
body .ms-password-toggle{position:absolute;right:3px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;margin:0;border:0;border-radius:6px;background:transparent;color:#002763;box-shadow:none}
body .ms-password-toggle:hover{background:#eaf2fb;color:#002763}
body .ms-password-toggle:disabled{opacity:.45}
body .ms-password-toggle:focus-visible{outline-offset:-3px}
body .ms-password-toggle svg{width:20px;height:20px;pointer-events:none}
@media(max-width:700px){body .brand .brand-logo,body header .brand .brand-logo{width:190px;height:60px}body footer .brand .brand-logo{width:210px;height:62px}}
@media(max-width:380px){body header .brand .brand-logo{width:158px;height:54px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}body *,body *::before,body *::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
body[data-home-platform] header.home-header .brand .brand-logo,body header.catalog-header .brand .brand-logo,body header.catalog-accommodation-header .brand .brand-logo{width:230px;height:70px}
@media(max-width:700px){body[data-home-platform] header.home-header .brand .brand-logo,body header.catalog-header .brand .brand-logo,body header.catalog-accommodation-header .brand .brand-logo{width:190px;height:60px}}

/* Shared presentation polish: public discovery, account workspaces and advertiser forms. */
body{--ui-radius:12px;--ui-ease:cubic-bezier(.23,1,.32,1)}
body :is(h1,h2,h3,legend){text-wrap:balance;overflow-wrap:break-word}
body :is(.market-card,.reservation-card,.messages-login,.resolution-policy){border-radius:16px;border-color:var(--line)}
body :is(.market-card,.reservation-card)>p{max-width:75ch}
body :is(.market-form,.host-ui-dialog,.email-auth,.health-request-form,.reservation-card) :is(input,select,textarea):not([type=checkbox]):not([type=radio]):not([type=file]):not([type=hidden]){font-size:16px;border-radius:10px;border-color:var(--line);color:var(--ink);background-color:#fff}
body :is(.market-form,.host-ui-dialog,.email-auth,.health-request-form,.reservation-card) :is(input,select):not([type=checkbox]):not([type=radio]):not([type=file]):not([type=hidden]){min-height:46px}
body :is(.market-form,.host-ui-dialog,.email-auth,.health-request-form) label{font-size:14px;line-height:1.5}
body :is(.market-form,.host-ui-dialog,.health-request-form) textarea{line-height:1.6;resize:vertical}
body :is(.market-form,.host-ui-dialog,.email-auth) :is(input,select,textarea):disabled{background-color:#f1f4f8;color:var(--muted)}
body :is(.market-form,.health-request-form,.host-ui-dialog) :is(input[type=checkbox],input[type=radio]){accent-color:var(--clay)}
body .button,body :is(.service-create-dialog,.host-ui-dialog) button{border-radius:10px;line-height:1.4;transition:background-color 150ms ease,border-color 150ms ease,box-shadow 150ms ease}
body .button{min-height:44px}
body .button:disabled{cursor:not-allowed}
body :is(.market-dialog,.host-ui-dialog,.service-create-dialog){max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overscroll-behavior:contain}
body :is(.market-dialog,.host-ui-dialog,.service-create-dialog) :is(.dialog-close,.host-dialog-heading>button){width:44px;height:44px;min-width:44px;min-height:44px;border-radius:50%;display:grid;place-items:center;padding:0;flex-shrink:0}
body .host-dialog-heading{align-items:center;gap:16px}
body :is(.market-form,.host-ui-dialog) :is(.form-columns,.form-columns.three){align-items:start;gap:16px}
body :is(.market-note,.health-note,.service-character-count){color:var(--muted);line-height:1.6}
body .market-note,body .health-note{font-size:14px}
body :is(.market-card,.reservation-card) :is(h2,h3){color:var(--brand-primary)}
body :is(.market-card,.reservation-card)>h2{line-height:1.25;margin-top:0;margin-bottom:20px}
body :is(.row-actions,.flow-final-actions,.recovery-actions){gap:12px}
body .property-flow-section{padding:24px;margin-block:24px;border-color:var(--line);border-radius:12px;background:#fff}
body .property-flow-section legend{font-size:18px;color:var(--brand-primary);padding-inline:10px}
body :is(.flow-room,.long-stay-discounts,.host-ai){background:#f3f7fb;border-color:var(--line);border-radius:12px}
body .flow-service-choices{gap:8px 20px}
body .flow-service-choices label{min-height:44px;align-items:center}
body .host-ui-dialog .market-form{gap:20px}
body #host-dashboard>.market-card,body #host-properties{border-radius:16px;border-color:var(--line);box-shadow:none}
body #host-dashboard :is(.market-tabs a,.request-row,fieldset){border-color:var(--line)}
body :is(.library-panel,.crm-panel,.messages-workspace){min-width:0}
body :is(.request-row,.library-property-card,.catalog-browse-card,.crm-lead){overflow-wrap:anywhere}
body .service-workspace{--crm-ink:var(--ink);--crm-muted:var(--muted);--crm-line:var(--line);--crm-tint:#edf5f2}
body .service-workspace :is(.crm-pipeline>section,.crm-case-overview,.crm-thread-messages){background:#f3f7fb}
body .service-workspace :is(.crm-nav button[aria-current=page],.crm-thread-item[aria-pressed=true]){color:var(--brand-primary);background:#eaf2fb}
body .login-style-dialog .email-auth input{border-color:var(--line)}
body #account-panel.login-style-dialog{padding:28px;max-width:440px;width:calc(100vw - 32px)}
body #account-panel.login-style-dialog h2{font-size:24px;margin:0 18px 24px}
body .login-style-dialog .login-divider:before,body .login-style-dialog .login-divider:after{background:var(--line)}
body .login-style-dialog .password-forgot{color:var(--brand-primary)}
body .medical-search{border-radius:16px}
body .medical-directory-grid{column-gap:32px}
body .medical-directory :is(p,li){line-height:1.65}
body .medical-directory h3{font-weight:650}
body .site-footer :is(a,button){text-underline-offset:4px}
body .site-footer a:hover{text-decoration:underline}
body .translation-status{max-width:min(280px,calc(100vw - 32px));white-space:normal;text-align:right;line-height:1.4}
/* The same full editor serves each category; no fields or saved values are removed. */
body #catalog-form.dental-form{gap:20px}
body #catalog-form.dental-form .health-editor{padding:24px;margin:16px 0;border-color:var(--line)}
body #catalog-form.dental-form .health-editor>legend{font-size:18px;color:var(--brand-primary)}
body #catalog-form.dental-form .health-editor h3{margin:32px 0 16px;padding-top:24px;border-top:1px solid var(--line);font-size:20px;line-height:1.35;color:var(--brand-primary)}
body #catalog-form.dental-form .health-editor fieldset{padding:18px;margin:20px 0;border-color:var(--line)}
body #catalog-form.dental-form .health-editor fieldset>legend{font-size:15px;font-weight:650;padding-inline:8px;line-height:1.5}
body #catalog-form.dental-form .health-editor label{margin:10px 0;gap:8px;font-size:14px}
body #catalog-form.dental-form :is(input,select):not([type=checkbox]):not([type=radio]){min-height:46px;height:auto;font-size:16px}
body #catalog-form.dental-form textarea{min-height:96px;height:96px;line-height:1.6}
body #catalog-form.dental-form textarea[name=description]{min-height:128px;height:128px}
body #catalog-form.dental-form .health-editor fieldset:has(>.health-check){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 20px}
body #catalog-form.dental-form .health-editor fieldset:has(>.health-check)>:not(.health-check){grid-column:1/-1}
body #catalog-form.dental-form .health-editor .health-check{min-height:44px;align-items:center;gap:10px;margin:0;cursor:pointer}
body #catalog-form.dental-form .health-check input{flex-shrink:0}
body #catalog-form.dental-form .health-editor-list{grid-template-columns:minmax(0,1fr);gap:20px}
body #catalog-form.dental-form :is(.health-treatment-row,.health-staff-row){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:8px 14px;padding:20px;background:#f7f9fc;border-color:var(--line)}
body #catalog-form.dental-form :is(.health-treatment-row,.health-staff-row)>:is(label:first-child,label:has(textarea),fieldset,.health-treatment-upload,button){grid-column:1/-1}
body #catalog-form.dental-form :is(.health-treatment-row,.health-staff-row)>label{min-width:0;margin:0}
body #catalog-form.dental-form :is(.health-treatment-row,.health-staff-row)>button{justify-self:start}
body #catalog-form.dental-form .dental-field-assist{border-color:var(--line)}
body #catalog-form.dental-form .dental-field-assist:focus-within{border-color:var(--brand-primary);box-shadow:none;outline:2px solid var(--brand-primary);outline-offset:2px}
body #catalog-form.dental-form .dental-field-assist>input{min-height:40px}
body #catalog-form.dental-form .dental-day{padding:14px;gap:8px 12px;border-color:var(--line);background:#fff}
body #catalog-form.dental-form .dental-schedule{gap:14px}
body #catalog-form.dental-form .service-form-action{background:#fff;color:var(--clay);border:1px solid #afcbbf;min-height:44px}
body #catalog-form.dental-form .service-form-action:hover{background:#e8f5ef;border-color:var(--clay)}
body #catalog-form.dental-form .service-save-consent{font-size:14px;line-height:1.6}
body #catalog-form.dental-form .dental-save-actions{padding-top:24px;border-top:1px solid var(--line);margin-top:28px;gap:20px}
body #catalog-form.dental-form [data-dental-pulse]{animation:none}
@media(max-width:1000px){body #catalog-form.dental-form .health-editor-list{grid-template-columns:minmax(0,1fr)}}
@media(max-width:700px){
 body :is(.market-dialog,.host-ui-dialog){padding:20px}
 body #account-panel.login-style-dialog{padding:24px 20px}
 body :is(.market-form,.host-ui-dialog) :is(input,select,textarea):not([type=checkbox]):not([type=radio]){font-size:16px}
 body .property-flow-section{padding:16px;margin-block:20px}
 body #catalog-form.dental-form .health-editor{padding:16px}
 body #catalog-form.dental-form .health-editor fieldset{padding:14px}
 body #catalog-form.dental-form :is(.health-treatment-row,.health-staff-row){padding:16px}
 body #catalog-form.dental-form .health-editor h3{margin-top:28px;padding-top:20px}
 body #catalog-form.dental-form .health-editor fieldset:has(>.health-check){grid-template-columns:minmax(0,1fr)}
 body .host-dialog-heading h2{font-size:24px}
}
@media(max-width:420px){body #catalog-form.dental-form :is(.health-treatment-row,.health-staff-row){grid-template-columns:minmax(0,1fr)}body #catalog-form.dental-form .health-editor{padding:12px}body #catalog-form.dental-form .dental-save-actions>.button{width:100%}}
@media(prefers-reduced-motion:reduce){body .button,body :is(.service-create-dialog,.host-ui-dialog) button{transition:none}}
body .help-top-links{flex-wrap:wrap;gap:8px 12px;align-items:center}
body .help-top-links a{display:inline-flex;align-items:center;min-height:44px}

/* Audit: wrap information navigation and contain native date fields on phones. */
body .platform-information>nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:8px 12px;font-size:14px}
body .platform-information>nav a{display:inline-flex;align-items:center;min-height:44px;max-width:100%;overflow-wrap:anywhere}
body .booking-layout,body .booking-layout>*{min-width:0}
body .booking #request{min-width:0;max-width:100%}
body .booking #request .fields{grid-template-columns:repeat(2,minmax(0,1fr))}
body .booking #request :is(input,select,textarea){min-width:0;max-width:100%;width:100%;font-size:16px;min-height:44px}
body .amenity-layout,body .amenity-layout>*{min-width:0}
body .amenities{grid-template-columns:repeat(2,minmax(0,1fr))}
html{background:var(--paper)}
body:has(#admin-logout)>header{flex-wrap:wrap;gap:16px}

/* Populated lodging forms must wrap amenities inside narrow mobile columns. */
body .flow-service-choices{grid-template-columns:repeat(3,minmax(0,1fr))}
body .flow-service-choices label{min-width:0;overflow-wrap:anywhere}
@media(max-width:600px){body .flow-service-choices{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Narrow private profile cards need room for the unchanged 96 px avatar. */
@media(max-width:420px){
 body .account-profile-card{grid-template-columns:minmax(0,1fr);gap:24px}
 body .account-profile-stats{grid-template-columns:minmax(0,1fr);gap:12px;text-align:left}
 body .account-profile-stats>div{display:grid;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:10px;min-width:0;border:0;padding:0}
 body .account-profile-stats dt{font-size:12px;margin:0}
}
@media(max-width:700px){body #host-dashboard :is(input,select,textarea):not([type=checkbox]):not([type=radio]){font-size:16px}}
@media(max-width:520px){body .health-media-editor .health-upload-button{box-sizing:border-box;max-width:100%;margin-inline:0}}
