@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;500;600&family=Playfair+Display:wght@400;500;600&display=swap');

:root {
  --ink: #333333;
  --muted: #667477;
  --paper: #f7f8f9;
  --white: #ffffff;
  --accent: #58bdbf;
  --accent-deep: #3d9496;
  --navy: #14252a;
  --gold: #c2a56d;
  --line: rgba(51, 51, 51, 0.12);
  --shadow: 0 20px 60px rgba(20, 37, 42, 0.12);
  color: var(--ink);
  background: var(--paper);
  font-family: var(--body-font, 'Open Sans'), sans-serif;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
.tenant-site { font-family: var(--body-font, 'Open Sans'), sans-serif; }
body { margin: 0; min-width: 320px; background: var(--paper); }
button, input, textarea, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; }
img { display: block; max-width: 100%; }

.app-shell { min-height: 100vh; overflow: hidden; }
.site-header { position: fixed; z-index: 20; inset: 0 0 auto; color: var(--white); transition: background .25s ease, color .25s ease, box-shadow .25s ease; }
.site-header.scrolled, .site-header.light { color: var(--ink); background: rgba(255,255,255,.94); box-shadow: 0 1px 0 var(--line); backdrop-filter: blur(12px); }
.public-account-bar { border-bottom: 1px solid rgba(255,255,255,.16); background: rgba(11,28,32,.74); color: rgba(255,255,255,.9); font-size: 10px; letter-spacing: .08em; }
.public-account-bar-inner { width: min(1180px, calc(100% - 48px)); min-height: 32px; display: flex; align-items: center; justify-content: flex-start; gap: 16px; margin-inline: auto; }
.public-account-admin-link, .public-account-menu summary { color: inherit; font-size: 10px; letter-spacing: .1em; text-decoration: none; text-transform: uppercase; }
.public-account-admin-link { display: inline-flex; align-items: center; gap: 5px; }
.public-account-admin-link:hover, .public-account-admin-link:focus-visible { color: var(--white); }
.public-client-switcher { position: relative; }
.public-client-switcher summary { display: inline-flex; align-items: center; gap: 7px; padding: 4px 0; cursor: pointer; list-style: none; color: inherit; font-size: 10px; letter-spacing: .1em; text-transform: uppercase; }
.public-client-switcher summary::-webkit-details-marker { display: none; }
.public-client-switcher-count { min-width: 15px; padding: 1px 4px; border: 1px solid currentColor; border-radius: 999px; font-size: 8px; line-height: 1.2; text-align: center; }
.public-client-switcher-panel { position: absolute; top: calc(100% + 7px); left: 0; z-index: 30; width: min(290px, calc(100vw - 32px)); max-height: min(70vh, 520px); overflow-y: auto; padding: 8px; border: 1px solid var(--line); background: var(--white); box-shadow: 0 16px 38px rgba(20,37,42,.2); color: var(--ink); letter-spacing: .03em; }
.public-client-switcher-heading { display: block; padding: 3px 10px 7px; border-bottom: 1px solid var(--line); color: var(--muted); font-size: 9px; letter-spacing: .14em; text-transform: uppercase; }
.public-client-switcher-link { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 10px; padding: 10px; color: var(--ink); font-size: 11px; text-decoration: none; }
.public-client-switcher-link + .public-client-switcher-link { border-top: 1px solid #edf2f1; }
.public-client-switcher-link:hover, .public-client-switcher-link:focus-visible { background: #eef8f6; color: #155b60; }
.public-client-switcher-link > span:first-child { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.public-client-switcher-link > span:last-child { flex: 0 0 auto; color: var(--muted); font-size: 9px; }
.public-account-menu { position: relative; }
.public-account-menu summary { display: inline-flex; max-width: min(260px, 42vw); align-items: center; gap: 7px; padding: 4px 0; cursor: pointer; list-style: none; }
.public-account-menu summary::-webkit-details-marker { display: none; }
.public-account-identity { min-width: 0; display: inline-flex; align-items: center; gap: 8px; }
.public-account-email { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.public-account-plan { flex: 0 0 auto; padding: 2px 6px; border: 1px solid rgba(255,255,255,.34); border-radius: 999px; color: var(--white); font-size: 8px; font-weight: 700; letter-spacing: .12em; line-height: 1.25; text-transform: uppercase; }
.public-account-plan-standard { background: rgba(83,190,187,.16); border-color: rgba(83,190,187,.5); }
.public-account-plan-pro { background: rgba(126,88,177,.28); border-color: rgba(196,169,230,.72); }
.public-account-chevron { width: 8px; height: 8px; flex: 0 0 auto; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; transform: rotate(45deg) translateY(-2px); transition: transform .18s ease; }
.public-account-menu[open] .public-account-chevron { transform: rotate(225deg) translate(-1px, -1px); }
.public-account-menu-panel { position: absolute; top: calc(100% + 7px); right: 0; z-index: 30; width: 248px; max-height: min(70vh, 520px); overflow-y: auto; padding: 8px; border: 1px solid var(--line); background: var(--white); box-shadow: 0 16px 38px rgba(20,37,42,.2); color: var(--ink); letter-spacing: .03em; }
.public-account-menu-panel a, .public-account-menu-panel button { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 10px; padding: 9px 10px; border: 0; background: transparent; color: var(--ink); cursor: pointer; font-size: 11px; text-align: left; text-decoration: none; }
.public-account-menu-panel a:hover, .public-account-menu-panel a:focus-visible, .public-account-menu-panel button:hover, .public-account-menu-panel button:focus-visible { background: #eef8f6; color: #155b60; }
.public-account-client-links { display: flex; flex-direction: column; gap: 2px; margin: 0 0 6px; padding: 6px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.public-account-client-links > span:first-child { padding: 3px 10px 5px; color: var(--muted); font-size: 9px; letter-spacing: .14em; text-transform: uppercase; }
.public-account-client-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 4px; }
.public-account-client-row a { min-width: 0; }
.public-account-client-primary { font-weight: 600; }
.public-account-client-primary span { flex: 0 0 auto; margin-left: 8px; color: var(--muted); font-size: 9px; font-weight: 400; }
.public-account-client-secondary { padding-inline: 5px !important; color: var(--muted) !important; font-size: 9px !important; }
.public-account-client-empty { display: block; padding: 3px 10px 6px; color: var(--muted); font-size: 10px; }
.public-account-menu-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2px; margin: 0 0 6px; padding: 6px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.public-account-menu-links > span { grid-column: 1 / -1; padding: 3px 10px 5px; color: var(--muted); font-size: 9px; letter-spacing: .14em; text-transform: uppercase; }
.public-account-link-column { min-width: 0; display: flex; flex-direction: column; gap: 2px; padding: 0 4px; }
.public-account-link-column + .public-account-link-column { border-left: 1px solid var(--line); }
.public-account-link-column > span { padding: 3px 6px 5px; color: #177e84; font-size: 9px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.public-account-pro-links > span { color: #70479b; }
.public-account-pro-links a:hover, .public-account-pro-links a:focus-visible { background: #f3edfa; color: #70479b; }
.public-account-properties { margin: 0 0 6px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.public-account-properties > summary { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 9px 10px; color: var(--ink); cursor: pointer; font-size: 11px; list-style: none; }
.public-account-properties > summary::-webkit-details-marker { display: none; }
.public-account-properties > summary:hover, .public-account-properties > summary:focus-visible { background: #eef8f6; color: #155b60; }
.public-account-submenu-chevron { width: 7px; height: 7px; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; transform: rotate(-45deg); transition: transform .18s ease; }
.public-account-properties[open] .public-account-submenu-chevron { transform: rotate(45deg); }
.public-account-property-list { padding: 0 4px 5px; }
.public-account-property-link { padding: 8px 6px !important; font-size: 10px !important; }
.public-account-property-empty { display: block; padding: 3px 6px 8px; color: var(--muted); font-size: 10px; }
.public-account-menu-panel > button { border-top: 1px solid var(--line); }
.public-account-menu { margin-left: auto; }
.site-header.scrolled .public-account-bar, .site-header.light .public-account-bar { border-bottom-color: var(--line); background: rgba(255,255,255,.96); color: var(--muted); }
.site-header.scrolled .public-account-admin-link:hover, .site-header.scrolled .public-account-admin-link:focus-visible, .site-header.light .public-account-admin-link:hover, .site-header.light .public-account-admin-link:focus-visible { color: var(--ink); }
.nav-wrap { width: min(1180px, calc(100% - 48px)); margin: auto; display: flex; align-items: center; justify-content: space-between; min-height: 76px; gap: 24px; }
.brand { text-decoration: none; display: inline-flex; align-items: baseline; gap: 8px; }
.brand-mark { font-family: var(--heading-font, 'Playfair Display'), serif; font-size: 27px; letter-spacing: -.02em; }
.brand-sub { font-size: 10px; letter-spacing: .2em; text-transform: uppercase; opacity: .76; }
.tenant-brand-name { color: inherit; font-family: var(--heading-font, 'Playfair Display'), serif; font-size: 22px; line-height: 1; letter-spacing: -.02em; white-space: nowrap; }
.tenant-brand-logo { width: min(220px, 25vw); height: auto; max-height: 42px; object-fit: contain; object-position: left center; }
.tenant-brand-logo-light { mix-blend-mode: screen; }
.nav-links { display: flex; align-items: center; gap: clamp(16px, 3vw, 38px); font-size: 11px; letter-spacing: .15em; text-transform: uppercase; }
.nav-links a { text-decoration: none; opacity: .86; }
.nav-links a:hover, .nav-links a[aria-current="page"] { opacity: 1; color: var(--accent-deep); }
.nav-links a.button:hover, .nav-links a.button:focus-visible { color: var(--white); }
.nav-toggle { display: none; border: 0; background: transparent; color: inherit; cursor: pointer; font-size: 22px; }

.hero { min-height: 76vh; position: relative; display: grid; align-items: end; color: var(--white); background: var(--navy); }
.hero-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .88; }
.hero::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(20,37,42,.1) 22%, rgba(20,37,42,.76) 100%); }
.hero-content { position: relative; z-index: 1; width: min(1180px, calc(100% - 48px)); padding: 170px 0 88px; margin: auto; }
.hero .eyebrow, .hub-hero .eyebrow, .booking-hero .eyebrow { color: var(--white); }
.eyebrow { margin: 0 0 14px; color: var(--accent); font-size: 11px; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; }
.hero h1 { max-width: 820px; margin: 0 0 24px; font-family: var(--heading-font, 'Playfair Display'), serif; font-size: clamp(48px, 7vw, 92px); font-weight: 400; line-height: .98; letter-spacing: -.035em; }
.hero p { max-width: 620px; margin: 0; color: rgba(255,255,255,.88); font-size: 17px; line-height: 1.75; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }

.button { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 13px 22px; border: 1px solid transparent; background: var(--accent); color: var(--white); cursor: pointer; text-decoration: none; font-size: 11px; letter-spacing: .16em; text-transform: uppercase; transition: transform .2s ease, background .2s ease, color .2s ease; }
.button:hover { transform: translateY(-2px); background: var(--accent-deep); }
.button.secondary { border-color: rgba(255,255,255,.6); background: transparent; }
.button.secondary:hover { background: var(--white); color: var(--ink); }
.button.dark { background: var(--navy); }
.button.ghost { background: transparent; border-color: var(--line); color: var(--ink); }
.button.ghost:hover { background: var(--ink); color: var(--white); }
.button:disabled { opacity: .5; cursor: not-allowed; transform: none; }
.direct-payment-flow { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 36px auto 0; max-width: 980px; }
.direct-payment-flow span { display: flex; align-items: center; gap: 10px; padding: 14px 15px; border: 1px solid rgba(88,189,191,.32); background: #f1faf8; color: var(--muted); font-size: 12px; line-height: 1.4; }
.direct-payment-flow strong { display: grid; flex: 0 0 auto; width: 25px; height: 25px; place-items: center; border-radius: 50%; background: var(--accent); color: var(--white); font-size: 12px; }
.button-spinner { display: inline-block; width: 13px; height: 13px; margin-right: 9px; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: button-spin .7s linear infinite; }
@keyframes button-spin { to { transform: rotate(360deg); } }

.section { width: min(1180px, calc(100% - 48px)); margin: auto; padding: 92px 0; }
.section.compact { padding: 64px 0; }
.section-heading { max-width: 760px; margin-bottom: 38px; }
.section-heading.center { margin-right: auto; margin-left: auto; text-align: center; }
.section-heading h2, .page-heading h1 { margin: 0 0 16px; font-family: var(--heading-font, 'Playfair Display'), serif; font-size: clamp(34px, 4vw, 54px); font-weight: 400; line-height: 1.08; letter-spacing: -.025em; }
.section-heading p, .page-heading p { margin: 0; color: var(--muted); font-size: 16px; line-height: 1.8; }
.split { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(36px, 8vw, 110px); align-items: center; }
.split.reverse > :first-child { order: 2; }
.feature-list { display: grid; gap: 20px; margin: 28px 0 0; padding: 0; list-style: none; }
.feature-list li { display: flex; gap: 14px; align-items: flex-start; color: var(--muted); line-height: 1.65; }
.feature-list strong { display: block; margin-bottom: 2px; color: var(--ink); font-size: 13px; letter-spacing: .04em; }
.feature-icon { flex: 0 0 auto; display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid rgba(88,189,191,.45); color: var(--accent-deep); }
.image-card { min-height: 420px; position: relative; overflow: hidden; background: #dfe7e7; box-shadow: var(--shadow); }
.image-card img { width: 100%; height: 100%; min-height: 420px; object-fit: cover; transition: transform .6s ease; }
.image-card:hover img { transform: scale(1.035); }
.image-caption { position: absolute; right: 20px; bottom: 18px; left: 20px; color: var(--white); text-shadow: 0 2px 18px rgba(0,0,0,.4); }
.image-caption strong { display: block; font-family: var(--heading-font, 'Playfair Display'), serif; font-size: 25px; font-weight: 400; }
.image-caption span { font-size: 11px; letter-spacing: .14em; text-transform: uppercase; }

.facts { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.fact { padding: 24px 18px; text-align: center; }
.fact + .fact { border-left: 1px solid var(--line); }
.fact strong { display: block; margin-bottom: 5px; font-family: var(--heading-font, 'Playfair Display'), serif; font-size: 26px; font-weight: 400; }
.fact span { color: var(--muted); font-size: 11px; letter-spacing: .13em; text-transform: uppercase; }
.photo-grid { display: grid; grid-template-columns: 1.15fr .85fr .85fr; grid-auto-rows: 220px; gap: 12px; }
.photo-grid .photo { position: relative; overflow: hidden; background: #dfe7e7; }
.photo-grid .photo:first-child { grid-row: span 2; }
.photo img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.photo:hover img { transform: scale(1.04); }
.testimonial { padding: 70px 8%; background: var(--navy); color: var(--white); text-align: center; }
.testimonial blockquote { max-width: 780px; margin: 0 auto 20px; font-family: var(--heading-font, 'Playfair Display'), serif; font-size: clamp(24px, 3vw, 36px); font-weight: 400; line-height: 1.35; }
.testimonial cite { color: var(--accent); font-size: 11px; font-style: normal; letter-spacing: .16em; text-transform: uppercase; }

.page-top { padding: 150px 0 58px; background: var(--paper); }
.page-heading { max-width: 780px; }
.page-heading .eyebrow { color: var(--accent-deep); }
.gallery-sections { display: grid; gap: 72px; }
.gallery-section { display: grid; grid-template-columns: .3fr 1fr; gap: 40px; }
.gallery-section h2 { margin: 0; font-family: var(--heading-font, 'Playfair Display'), serif; font-size: 32px; font-weight: 400; }
.gallery-section p { margin: 8px 0 0; color: var(--muted); line-height: 1.75; }
.gallery-section .photo-grid { grid-template-columns: repeat(2, 1fr); }
.amenity-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.amenity { padding: 20px; border: 1px solid var(--line); background: var(--white); }
.amenity strong { display: block; margin-bottom: 7px; font-size: 14px; }
.amenity span { color: var(--muted); font-size: 13px; line-height: 1.6; }

.calendar-layout { display: grid; grid-template-columns: 1fr .7fr; gap: 48px; align-items: start; }
.calendar-card { padding: 24px; background: var(--white); box-shadow: var(--shadow); }
.calendar-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 22px; }
.calendar-head h2 { margin: 0; font-family: var(--heading-font, 'Playfair Display'), serif; font-size: 25px; font-weight: 400; }
.calendar-nav { display: flex; gap: 7px; }
.icon-button { display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid var(--line); background: transparent; color: var(--ink); cursor: pointer; }
.icon-button:hover { border-color: var(--accent); color: var(--accent-deep); }
.calendar-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; }
.weekday { padding: 7px 0; color: var(--muted); font-size: 10px; letter-spacing: .08em; text-align: center; text-transform: uppercase; }
.day { min-height: 44px; border: 1px solid transparent; background: var(--paper); color: var(--ink); cursor: pointer; font-size: 13px; }
.day:hover, .day.selected { border-color: var(--accent); }
.day.empty { visibility: hidden; cursor: default; }
.day.unavailable { background: #e7eded; color: #9aa6a8; text-decoration: line-through; cursor: not-allowed; }
.day.today { box-shadow: inset 0 -3px 0 var(--accent); }
.legend { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 20px; color: var(--muted); font-size: 12px; }
.legend-item { display: inline-flex; align-items: center; gap: 8px; }
.legend-swatch { width: 13px; height: 13px; background: var(--paper); border: 1px solid var(--line); }
.legend-swatch.blocked { background: #e7eded; }
.contact-card { padding: 34px; background: var(--white); }
.contact-card h2 { margin: 0 0 14px; font-family: var(--heading-font, 'Playfair Display'), serif; font-size: 34px; font-weight: 400; }
.contact-card p { color: var(--muted); line-height: 1.75; }
.contact-links { display: grid; gap: 10px; margin-top: 24px; }
.contact-links a { display: flex; justify-content: space-between; gap: 14px; padding: 13px 0; border-bottom: 1px solid var(--line); text-decoration: none; font-size: 13px; }
.contact-links a span:last-child { color: var(--accent-deep); }

.platform-hero { min-height: 74vh; display: grid; align-items: center; background: var(--navy); color: var(--white); }
.platform-hero .hero-content { padding-top: 130px; }
.platform-hero .hero h1 { max-width: 760px; }
.platform-section { background: var(--white); }
.platform-card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.platform-card { padding: 30px; border: 1px solid var(--line); background: var(--paper); }
.platform-card h3 { margin: 0 0 12px; font-family: var(--heading-font, 'Playfair Display'), serif; font-size: 26px; font-weight: 400; }
.platform-card p { margin: 0; color: var(--muted); line-height: 1.7; }

.admin-shell { min-height: 100vh; padding: 32px; background: #eef3f2; }
.admin-bar { display: flex; justify-content: space-between; align-items: center; gap: 18px; max-width: 1180px; margin: 0 auto 24px; }
.admin-bar .brand { color: var(--navy); }
.admin-panel { max-width: 1180px; margin: auto; padding: 28px; background: var(--white); box-shadow: var(--shadow); }
.admin-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 28px; border-bottom: 1px solid var(--line); padding-bottom: 16px; }
.admin-tab { padding: 10px 13px; border: 1px solid var(--line); background: transparent; color: var(--muted); cursor: pointer; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; }
.admin-tab.active { background: var(--navy); border-color: var(--navy); color: var(--white); }
.form-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.form-field { display: grid; gap: 7px; }
.form-field.full { grid-column: 1 / -1; }
.form-field label { color: var(--muted); font-size: 11px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.form-field input, .form-field textarea, .form-field select { width: 100%; padding: 12px 13px; border: 1px solid var(--line); background: var(--paper); color: var(--ink); outline: none; }
.form-field textarea { min-height: 130px; resize: vertical; }
.form-field input:focus, .form-field textarea:focus, .form-field select:focus { border-color: var(--accent); box-shadow: 0 0 0 3px rgba(88,189,191,.14); }
.settings-section + .settings-section { margin-top: 42px; padding-top: 34px; border-top: 1px solid var(--line); }
.settings-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-bottom: 28px; }
.settings-tab { display: flex; min-height: 72px; align-items: center; gap: 11px; padding: 13px 15px; border: 1px solid var(--line); background: rgba(255,255,255,.52); color: var(--muted); text-align: left; cursor: pointer; }
.settings-tab:hover, .settings-tab.active { border-color: var(--accent); background: #eaf8f5; color: var(--ink); }
.settings-tab-icon { display: grid; width: 30px; height: 30px; flex: 0 0 auto; place-items: center; border: 1px solid currentColor; border-radius: 50%; font-size: 15px; }
.settings-tab > span:last-child { display: grid; gap: 3px; }
.settings-tab strong { font-size: 13px; font-weight: 600; }
.settings-tab small { color: inherit; font-size: 11px; line-height: 1.35; }
.color-field { display: flex; align-items: center; gap: 10px; }
.color-field input[type='color'] { width: 48px; height: 44px; padding: 3px; cursor: pointer; }
.color-field input[type='text'] { flex: 1; }
.branding-preview { display: inline-flex; align-items: center; gap: 14px; margin-top: 18px; padding: 12px 16px; border: 1px solid var(--line); background: var(--paper); color: var(--muted); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; }
.branding-preview img { width: 160px; height: 42px; object-fit: contain; object-position: left center; }
.admin-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.manager-invite { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 12px; margin-top: 24px; padding: 16px; border: 1px solid var(--line); background: var(--paper); }
.manager-invite input { min-width: 0; padding: 10px 12px; border: 1px solid var(--line); background: var(--white); }
.manager-list { margin-top: 32px; }
.manager-list h2 { margin: 0 0 14px; font-family: var(--heading-font, 'Playfair Display'), serif; font-size: 28px; font-weight: 400; }
.manager-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 24px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.manager-row strong, .manager-row span { display: block; }
.manager-row span { margin-top: 3px; color: var(--muted); font-size: 12px; }
.manager-row .manager-you { color: var(--accent-deep); font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.manager-row > div:first-child { display: grid; min-width: 0; gap: 3px; }
.manager-row > div:first-child strong, .manager-row > div:first-child span, .manager-row > div:first-child small { overflow-wrap: anywhere; }
.manager-row > .button, .manager-row > .admin-actions { min-width: 124px; justify-content: center; margin-top: 0; }
.manager-row > .admin-actions { flex-wrap: nowrap; gap: 10px; }
.manager-row > .admin-actions .button { min-width: 112px; }
.manager-list-note { margin: 0 0 14px; color: var(--muted); font-size: 12px; line-height: 1.6; }
.manager-administrator-list { padding: 18px 20px 8px; border: 1px solid #c8dfdb; background: #f2faf7; }
.manager-administrator-list h2, .manager-administrator-list h3 { margin-bottom: 8px; }
.manager-admin-row { padding: 13px 0; border-bottom-color: #c8dfdb; }
.manager-role-badge { min-width: 76px; margin-top: 0 !important; padding: 6px 9px; border: 1px solid #8fc9c4; color: #287b7d !important; font-size: 10px !important; font-weight: 700; letter-spacing: .12em; text-align: center; text-transform: uppercase; }
.notification-status { display: block; margin-top: 5px; color: var(--muted); font-size: 11px; line-height: 1.45; }

@media (max-width: 760px) { .manager-invite { grid-template-columns: 1fr; } .manager-invite-form { grid-template-columns: 1fr; gap: 14px; } .manager-invite-actions, .manager-invite-actions .button { width: 100%; } .manager-access-help { grid-column: auto; margin-top: -4px; } }
.admin-note { margin: 0 0 20px; padding: 15px 17px; border-left: 3px solid var(--accent); background: #edf8f8; color: var(--muted); line-height: 1.6; }
.settings-help-link { display: inline-block; margin-top: 8px; color: #237c80; font-size: 12px; text-decoration: underline; text-underline-offset: 3px; }
.airbnb-calendar-help { margin-top: 24px; padding: 22px 24px; border: 1px solid var(--line); background: rgba(255,255,255,.42); }
.airbnb-calendar-help h3 { margin: 0 0 12px; font-family: var(--heading-font); font-size: 24px; font-weight: 400; }
.airbnb-calendar-help ol { margin: 0; padding-left: 22px; color: var(--muted); font-size: 14px; line-height: 1.8; }
.airbnb-calendar-help code { color: var(--ink); font-size: .92em; }
.airbnb-calendar-help p:last-child { margin-bottom: 0; }
.stat-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.stat { padding: 22px; border: 1px solid var(--line); }
.stat strong { display: block; margin-bottom: 6px; font-family: var(--heading-font, 'Playfair Display'), serif; font-size: 32px; font-weight: 400; }
.stat span { color: var(--muted); font-size: 12px; }
.property-overview-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; max-width: none; }
.property-overview-heading > div { min-width: 0; }
.property-overview-heading .button { flex: 0 0 auto; }
.login-card { max-width: 520px; margin: 10vh auto; padding: 44px; background: var(--white); text-align: center; box-shadow: var(--shadow); }
.login-card h1 { margin: 0 0 12px; font-family: var(--heading-font, 'Playfair Display'), serif; font-size: 42px; font-weight: 400; }
.login-card p { color: var(--muted); line-height: 1.7; }

.empty-state { padding: 70px 24px; text-align: center; color: var(--muted); }
.empty-state h1 { margin: 0 0 14px; color: var(--ink); font-family: var(--heading-font, 'Playfair Display'), serif; font-size: 42px; font-weight: 400; }
.site-footer { padding: 44px 0; background: var(--navy); color: rgba(255,255,255,.75); }
.footer-inner { width: min(1180px, calc(100% - 48px)); margin: auto; display: flex; justify-content: space-between; gap: 30px; align-items: flex-start; }
.footer-inner p { max-width: 440px; margin: 12px 0 0; font-size: 12px; line-height: 1.7; }
.footer-links { display: flex; gap: 18px; flex-wrap: wrap; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; }
.footer-links a { text-decoration: none; }
.footer-copyright { width: min(1180px, calc(100% - 48px)); margin: 28px auto 0; padding-top: 16px; border-top: 1px solid rgba(255,255,255,.16); color: rgba(255,255,255,.55); font-size: 11px; letter-spacing: .04em; }


@media (max-width: 760px) {
  .direct-payment-flow { grid-template-columns: 1fr; }
  .nav-wrap, .hero-content, .section, .footer-inner { width: min(100% - 32px, 1180px); }
  .public-account-bar-inner { width: min(100% - 32px, 1180px); min-height: 30px; gap: 10px; }
  .public-account-menu summary { max-width: 52vw; }
  .public-account-menu-panel { width: min(248px, calc(100vw - 32px)); }
  .public-client-switcher-panel { width: min(290px, calc(100vw - 32px)); }
  .nav-wrap { min-height: 68px; }
.tenant-brand-name { max-width: 48vw; overflow: hidden; text-overflow: ellipsis; font-size: 18px; }
  .tenant-brand-logo { width: 150px; max-height: 36px; }
  .nav-toggle { display: block; }
  .nav-links { display: none; position: absolute; top: 68px; right: 16px; left: 16px; padding: 18px; flex-direction: column; align-items: stretch; gap: 16px; background: var(--white); color: var(--ink); box-shadow: var(--shadow); }
  .nav-links.open { display: flex; }
  .hero { min-height: 78vh; }
  .hero-content { padding: 130px 0 58px; }
  .hero h1 { font-size: clamp(44px, 14vw, 72px); }
  .hero p { font-size: 15px; }
  .section { padding: 66px 0; }
  .split, .calendar-layout, .gallery-section { grid-template-columns: 1fr; gap: 30px; }
  .split.reverse > :first-child { order: initial; }
  .facts { grid-template-columns: repeat(2, 1fr); }
  .fact:nth-child(3) { border-left: 0; border-top: 1px solid var(--line); }
  .fact:nth-child(4) { border-top: 1px solid var(--line); }
  .photo-grid, .gallery-section .photo-grid { grid-template-columns: 1fr 1fr; grid-auto-rows: 150px; }
  .photo-grid .photo:first-child { grid-row: span 2; }
  .amenity-grid, .platform-card-grid, .stat-grid, .form-grid { grid-template-columns: 1fr; }
  .form-field.full { grid-column: auto; }
  .page-top { padding-top: 120px; }
  .admin-shell { padding: 16px; }
  .admin-panel, .login-card { padding: 22px; }
  .footer-inner { flex-direction: column; }
}

.platform-hero { min-height: 88svh; align-items: stretch; overflow: hidden; }
.platform-hero::after { background: linear-gradient(90deg, rgba(20,37,42,.94) 0%, rgba(20,37,42,.68) 48%, rgba(20,37,42,.2) 100%), linear-gradient(180deg, rgba(20,37,42,.12) 20%, rgba(20,37,42,.76) 100%); }
.platform-hero-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .68; filter: saturate(.82); }
.platform-hero-content { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(320px, .75fr); align-items: center; gap: clamp(36px, 7vw, 108px); padding-top: 130px; padding-bottom: 80px; }
.platform-hero-copy { max-width: 700px; }
.platform-hero h1 { max-width: 720px; }
.platform-hero-note { margin-top: 18px !important; color: rgba(255,255,255,.68) !important; font-size: 12px !important; letter-spacing: .03em; }
.hero-preview { width: min(100%, 430px); justify-self: end; perspective: 1100px; }
.preview-browser { overflow: hidden; border: 1px solid rgba(255,255,255,.32); background: var(--white); box-shadow: 0 32px 80px rgba(0,0,0,.28); transform: rotate(2.4deg); }
.preview-browser-bar { display: flex; align-items: center; gap: 14px; min-height: 36px; padding: 0 13px; background: #eef2f1; color: var(--muted); font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }
.preview-dots { display: inline-flex; gap: 4px; }
.preview-dots i { width: 6px; height: 6px; border-radius: 50%; background: #b4c3c1; }
.preview-url { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.preview-screen { position: relative; aspect-ratio: .82; overflow: hidden; background: var(--navy); }
.preview-screen img { width: 100%; height: 100%; object-fit: cover; }
.preview-screen::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(20,37,42,.02) 20%, rgba(20,37,42,.86) 100%); }
.preview-screen-copy { position: absolute; right: 24px; bottom: 26px; left: 24px; z-index: 1; color: var(--white); }
.preview-screen-copy span { display: block; margin-bottom: 8px; color: var(--accent); font-size: 9px; letter-spacing: .2em; text-transform: uppercase; }
.preview-screen-copy strong { display: block; max-width: 270px; font-family: var(--heading-font, 'Playfair Display'), serif; font-size: clamp(26px, 4vw, 42px); font-weight: 400; line-height: 1.03; }
.preview-screen-copy a { display: inline-block; margin-top: 18px; color: var(--white); font-size: 10px; letter-spacing: .14em; text-decoration: none; text-transform: uppercase; }
.preview-screen-copy a::after { content: ' ↗'; color: var(--accent); }

.proof-strip { background: var(--navy); color: rgba(255,255,255,.82); }
.proof-grid { width: min(1180px, calc(100% - 48px)); margin: auto; display: grid; grid-template-columns: repeat(4, 1fr); border-left: 1px solid rgba(255,255,255,.12); }
.proof-item { min-height: 116px; padding: 24px 22px; border-right: 1px solid rgba(255,255,255,.12); }
.proof-item strong { display: block; margin-bottom: 8px; color: var(--white); font-family: var(--heading-font, 'Playfair Display'), serif; font-size: 20px; font-weight: 400; }
.proof-item span { display: block; color: rgba(255,255,255,.62); font-size: 12px; line-height: 1.55; }

.platform-contrast { background: var(--white); }
.platform-contrast .section-heading h2 { max-width: 960px; margin-right: auto; margin-left: auto; }
.presence-grid { display: grid; grid-template-columns: 1fr auto 1fr; align-items: stretch; gap: 18px; }
.presence-card { padding: 28px; border: 1px solid var(--line); background: var(--paper); }
.presence-card > p:last-child { margin: 20px 0 0; color: var(--muted); line-height: 1.7; }
.presence-label { margin: 0 0 18px; color: var(--accent-deep); font-size: 10px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; }
.mock-listing { overflow: hidden; background: var(--white); box-shadow: 0 14px 34px rgba(20,37,42,.08); }
.mock-listing-image { aspect-ratio: 1.55; overflow: hidden; }
.mock-listing-image img { width: 100%; height: 100%; object-fit: cover; }
.mock-listing-copy { display: grid; gap: 5px; padding: 17px; }
.mock-listing-copy strong { font-family: var(--heading-font, 'Playfair Display'), serif; font-size: 22px; font-weight: 400; }
.mock-listing-copy span { color: var(--muted); font-size: 12px; }
.presence-connector { display: grid; place-items: center; align-self: center; width: 42px; height: 42px; border: 1px solid var(--line); border-radius: 50%; color: var(--accent-deep); font-family: var(--heading-font, 'Playfair Display'), serif; font-size: 25px; }
.web-presence-card { display: flex; flex-direction: column; background: var(--navy); color: var(--white); }
.web-presence-card .presence-label { color: var(--accent); }
.web-presence-copy { flex: 1; }
.web-presence-copy > span { display: block; margin-bottom: 18px; color: var(--accent); font-size: 11px; letter-spacing: .15em; text-transform: uppercase; }
.web-presence-copy strong { display: block; max-width: 360px; font-family: var(--heading-font, 'Playfair Display'), serif; font-size: clamp(28px, 3.4vw, 44px); font-weight: 400; line-height: 1.06; }
.web-presence-copy p { max-width: 420px; margin: 20px 0 0; color: rgba(255,255,255,.7); line-height: 1.7; }
.text-link { display: inline-block; margin-top: 28px; color: var(--white); font-size: 11px; letter-spacing: .14em; text-decoration: none; text-transform: uppercase; }
.text-link span { color: var(--accent); }
.platform-showcase { background: var(--paper); }
.showcase-card { position: relative; min-height: 460px; overflow: hidden; background: var(--navy); box-shadow: var(--shadow); }
.showcase-browser-bar { position: absolute; z-index: 1; top: 18px; right: 18px; left: 18px; display: flex; justify-content: space-between; gap: 12px; color: rgba(255,255,255,.78); font-size: 10px; letter-spacing: .14em; text-transform: uppercase; }
.showcase-browser-bar strong { color: var(--white); font-weight: 500; }
.showcase-card > img { width: 100%; height: 100%; min-height: 460px; object-fit: cover; opacity: .82; }
.showcase-card::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(20,37,42,.2) 16%, rgba(20,37,42,.78) 100%); }
.showcase-caption { position: absolute; z-index: 1; right: 28px; bottom: 28px; left: 28px; color: var(--white); }
.showcase-caption strong { display: block; font-family: var(--heading-font, 'Playfair Display'), serif; font-size: 30px; font-weight: 400; }
.showcase-caption span { color: var(--accent); font-size: 10px; letter-spacing: .16em; text-transform: uppercase; }
.platform-card .card-index { display: block; margin-bottom: 34px; color: var(--accent-deep); font-size: 11px; letter-spacing: .16em; }
.platform-final { padding-top: 24px; }
.platform-final-card { display: flex; align-items: center; justify-content: space-between; gap: 36px; padding: clamp(30px, 5vw, 58px); background: var(--navy); color: var(--white); }
.platform-final-card h2 { max-width: 680px; margin: 0 0 14px; font-family: var(--heading-font, 'Playfair Display'), serif; font-size: clamp(34px, 5vw, 60px); font-weight: 400; line-height: 1.02; }
.platform-final-card p { max-width: 570px; margin: 0; color: rgba(255,255,255,.7); line-height: 1.7; }
.platform-final-card .eyebrow { color: var(--accent); }

@media (max-width: 760px) {
  .platform-hero { min-height: auto; }
  .platform-hero-content { grid-template-columns: 1fr; padding-top: 118px; padding-bottom: 54px; }
  .platform-hero h1 { font-size: clamp(44px, 14vw, 72px); }
  .hero-preview { justify-self: stretch; width: min(100%, 430px); margin: 4px auto 0; }
  .preview-browser { transform: none; }
  .proof-grid { grid-template-columns: repeat(2, 1fr); }
  .proof-item { min-height: 0; padding: 20px 14px; }
  .proof-item strong { font-size: 17px; }
  .presence-grid { grid-template-columns: 1fr; gap: 14px; }
  .presence-connector { transform: rotate(90deg); min-height: 24px; }
  .platform-final-card { align-items: flex-start; flex-direction: column; }
  .showcase-card, .showcase-card > img { min-height: 340px; }
}@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

.platform-feature-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.platform-feature-grid .platform-card { min-height: 218px; }
.platform-dashboard { display: grid; grid-template-columns: minmax(260px, .7fr) minmax(0, 1.3fr); gap: clamp(34px, 7vw, 96px); align-items: center; background: #edf4f2; }
.dashboard-copy h2 { max-width: 440px; margin: 0 0 14px; font-family: var(--heading-font, 'Playfair Display'), serif; font-size: clamp(36px, 5vw, 62px); font-weight: 400; line-height: 1.03; }
.dashboard-copy > p:not(.eyebrow) { max-width: 420px; margin: 0; color: var(--muted); line-height: 1.75; }
.dark-link { color: var(--ink); }
.dashboard-mock { overflow: hidden; border: 1px solid rgba(20,37,42,.14); background: var(--white); box-shadow: 0 26px 70px rgba(20,37,42,.12); }
.dashboard-top { display: flex; align-items: center; gap: 16px; min-height: 50px; padding: 0 20px; border-bottom: 1px solid var(--line); }
.dashboard-top strong { color: var(--navy); font-size: 11px; letter-spacing: .15em; }
.dashboard-top span { color: var(--muted); font-size: 11px; }
.dashboard-top i { width: 10px; height: 10px; margin-left: auto; border-radius: 50%; background: var(--accent); }
.dashboard-body { display: grid; grid-template-columns: 150px 1fr; min-height: 290px; }
.dashboard-body aside { display: grid; align-content: start; gap: 4px; padding: 20px 12px; border-right: 1px solid var(--line); background: #f4f7f6; }
.dashboard-body aside span { padding: 10px 9px; color: var(--muted); font-size: 11px; }
.dashboard-body aside span.active { background: var(--white); color: var(--ink); box-shadow: 0 4px 12px rgba(20,37,42,.06); }
.dashboard-main { padding: 28px; }
.dashboard-main .eyebrow { margin-bottom: 8px; }
.dashboard-main h3 { margin: 0 0 24px; font-family: var(--heading-font, 'Playfair Display'), serif; font-size: 30px; font-weight: 400; }
.dashboard-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.dashboard-stats div { padding: 14px; border: 1px solid var(--line); }
.dashboard-stats strong { display: block; color: var(--navy); font-family: var(--heading-font, 'Playfair Display'), serif; font-size: 25px; font-weight: 400; }
.dashboard-stats span { display: block; margin-top: 4px; color: var(--muted); font-size: 10px; line-height: 1.35; }
.dashboard-bars { display: grid; gap: 10px; margin-top: 22px; }
.dashboard-bars span { display: block; height: 9px; background: #dbe9e6; }
.dashboard-bars span:first-child { width: 86%; background: var(--accent); }
.dashboard-bars span:nth-child(2) { width: 64%; }
.dashboard-bars span:nth-child(3) { width: 74%; }
.process-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.faq-section { background: var(--paper); }
.faq-list { max-width: 860px; margin: auto; border-top: 1px solid var(--line); }
.faq-list details { border-bottom: 1px solid var(--line); }
.faq-list summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 20px 0; color: var(--ink); cursor: pointer; font-family: var(--heading-font, 'Playfair Display'), serif; font-size: 23px; list-style: none; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { content: '+'; color: var(--accent-deep); font-family: Arial, sans-serif; font-size: 22px; font-weight: 300; }
.faq-list details[open] summary::after { content: '−'; }
.faq-list details p { max-width: 720px; margin: -4px 50px 20px 0; color: var(--muted); line-height: 1.75; }
.enquiry-section { padding-top: 38px; background: var(--navy); color: var(--white); }
.enquiry-shell { display: grid; grid-template-columns: minmax(240px, .65fr) minmax(0, 1.35fr); gap: clamp(34px, 8vw, 110px); align-items: start; }
.enquiry-intro h2 { max-width: 420px; margin: 0 0 16px; font-family: var(--heading-font, 'Playfair Display'), serif; font-size: clamp(38px, 5vw, 62px); font-weight: 400; line-height: 1.03; }
.enquiry-intro > p:not(.eyebrow) { max-width: 390px; margin: 0; color: rgba(255,255,255,.7); line-height: 1.75; }
.enquiry-intro .eyebrow { color: var(--accent); }
.enquiry-aside { display: grid; gap: 5px; margin-top: 34px; color: rgba(255,255,255,.55); font-size: 12px; letter-spacing: .08em; }
.enquiry-form { padding: clamp(22px, 4vw, 38px); background: var(--white); color: var(--ink); box-shadow: 0 22px 62px rgba(0,0,0,.2); }
.enquiry-form .form-grid { gap: 18px; }
.enquiry-form .form-field > span { color: var(--muted); font-size: 11px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.enquiry-form .form-field input, .enquiry-form .form-field textarea, .enquiry-form .form-field select { background: #fbfcfb; }
.enquiry-form .form-field textarea { min-height: 116px; }
.form-trap { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.consent-field { display: flex; align-items: flex-start; gap: 10px; margin-top: 20px; color: var(--muted); font-size: 12px; line-height: 1.5; }
.consent-field input { flex: 0 0 auto; margin-top: 2px; accent-color: var(--accent-deep); }
.enquiry-status { margin: 18px 0 0; padding: 12px 14px; border-left: 3px solid var(--accent); background: #edf8f8; color: var(--muted); font-size: 13px; line-height: 1.5; }
.enquiry-status.error { border-color: #c87b6b; background: #fff3f0; color: #8b4336; }
.enquiry-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 18px; margin-top: 22px; }
.enquiry-actions > span { color: var(--muted); font-size: 12px; }
.enquiry-actions a { color: var(--accent-deep); }
.enquiry-actions .button:disabled { cursor: wait; opacity: .58; }
.admin-leads { margin-top: 38px; padding-top: 30px; border-top: 1px solid var(--line); }
.admin-leads h2 { margin: 0 0 16px; font-family: var(--heading-font, 'Playfair Display'), serif; font-size: 32px; font-weight: 400; }
.lead-list { display: grid; gap: 10px; }
.lead-card { display: grid; grid-template-columns: minmax(130px, .5fr) minmax(0, 1.2fr) minmax(150px, .7fr); gap: 18px; padding: 18px; border: 1px solid var(--line); background: var(--paper); }
.lead-card strong { display: block; margin-bottom: 4px; }
.lead-card span, .lead-card p { color: var(--muted); font-size: 12px; line-height: 1.5; }
.lead-card p { margin: 8px 0 0; }
.lead-meta { display: grid; align-content: start; gap: 4px; }
.lead-stage { color: var(--accent-deep) !important; font-size: 10px !important; letter-spacing: .12em; text-transform: uppercase; }
.lead-card a { color: var(--accent-deep); font-size: 12px; overflow-wrap: anywhere; }
.workspace-inbox-section { max-width: 1180px; }
.inbox-two-pane { border: 1px solid #cddedb; background: #f9fcfb; }
.inbox-two-pane .inbox-toolbar { align-items: center; padding: 16px 18px; background: #eef7f4; }
.inbox-toolbar-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.inbox-toolbar-toggle { display: inline-flex; min-height: 40px; align-items: center; gap: 12px; padding: 7px 11px; border: 1px solid #c6d9d5; background: #f7fbfa; color: #183f45; cursor: pointer; }
.inbox-toolbar-toggle > span { display: grid; gap: 2px; }
.inbox-toolbar-toggle strong { margin: 0; color: #183f45; font-family: inherit; font-size: 11px; font-weight: 600; }
.inbox-toolbar-toggle small { color: #688083; font-size: 10px; letter-spacing: .06em; text-transform: uppercase; }
.inbox-toolbar-toggle input[type='checkbox'] { width: 18px; height: 18px; margin: 0; accent-color: var(--accent-deep); }
.inbox-filter select, .inbox-status-control select { min-height: 40px; padding: 8px 11px; border: 1px solid #c6d9d5; background: white; color: #183f45; }
.inbox-two-pane-grid { display: grid; grid-template-columns: minmax(250px, .72fr) minmax(0, 1.5fr); min-height: 570px; }
.inbox-list { border-right: 1px solid #d6e3e0; background: #f3f9f7; overflow: auto; }
.inbox-property-list { border-right: 1px solid #d6e3e0; background: #f3f9f7; overflow: auto; }
.inbox-list-heading { padding: 18px 16px 14px; border-bottom: 1px solid #d6e3e0; }
.inbox-list-heading .eyebrow { margin: 0 0 7px; }
.inbox-list-heading p:last-child { margin: 0; color: #617a7c; font-size: 12px; line-height: 1.5; }
.inbox-property-item { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 12px; padding: 15px 16px; border: 0; border-top: 1px solid #dfebe8; background: transparent; color: #183f45; text-align: left; cursor: pointer; }
.inbox-property-item:hover, .inbox-property-item.active { background: #e2f1ed; }
.inbox-property-item.disabled { background: #f0f4f3; }
.inbox-property-item { display: grid; gap: 7px; align-items: stretch; padding: 10px 12px; }
.inbox-property-select { display: grid; grid-template-columns: 48px minmax(0, 1fr) auto; width: 100%; align-items: center; gap: 10px; padding: 3px 4px; border: 0; background: transparent; color: inherit; text-align: left; cursor: pointer; }
.inbox-property-select > span { display: grid; gap: 4px; min-width: 0; }
.inbox-property-thumb { width: 48px; height: 48px; object-fit: cover; border-radius: 6px; background: #dce9e5; }
.inbox-property-thumb-placeholder { display: block; }
.inbox-property-site-link { margin-left: 62px; color: #277f82; font-size: 10px; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.inbox-property-site-link:hover, .inbox-property-site-link:focus-visible { text-decoration: underline; }
.inbox-property-select[aria-pressed='true'] { color: #123f45; }
.workspace-selection-summary { color: #3d8587; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.inbox-property-item > span { display: grid; gap: 4px; min-width: 0; }
.inbox-property-item strong, .inbox-property-item small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.inbox-property-item strong { font-size: 14px; font-weight: 600; }
.inbox-property-item small { color: #6a8183; font-size: 11px; }
.inbox-property-item em { flex: 0 0 auto; color: #3d8587; font-size: 10px; font-style: normal; letter-spacing: .04em; text-transform: uppercase; }
.inbox-list-group + .inbox-list-group { border-top: 1px solid #d6e3e0; }
.inbox-property-label { margin: 0; padding: 14px 16px 8px; color: #3d8587; font-size: 10px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.inbox-list-item { display: grid; width: 100%; gap: 5px; padding: 14px 16px; border: 0; border-top: 1px solid #dfebe8; background: transparent; color: #183f45; text-align: left; cursor: pointer; }
.inbox-list-item:hover, .inbox-list-item.active { background: #e2f1ed; }
.inbox-list-item > span { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
.inbox-list-item strong { font-size: 14px; }
.inbox-list-item small { color: #6a8183; font-size: 11px; }
.inbox-list-item p { display: -webkit-box; margin: 0; overflow: hidden; color: #617a7c; font-size: 12px; line-height: 1.45; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.inbox-status { width: fit-content; padding: 3px 7px; border-radius: 20px; color: #286f72 !important; background: #d8eeea; font-size: 10px !important; font-style: normal; letter-spacing: .03em; text-transform: capitalize; }
.inbox-status.status-archived { color: #687b7d !important; background: #e5eceb; }
.inbox-status.status-replied { color: #476b52 !important; background: #e4f0dd; }
.inbox-detail { min-width: 0; padding: 28px clamp(20px, 4vw, 42px); background: #fff; }
.inbox-detail-header { display: flex; align-items: start; justify-content: space-between; gap: 20px; padding-bottom: 20px; border-bottom: 1px solid #dce7e4; }
.inbox-detail-header h3 { margin: 4px 0 7px; font-family: var(--heading-font, 'Playfair Display'), serif; font-size: 32px; font-weight: 400; }
.inbox-detail-header p:not(.eyebrow) { margin: 0; color: #637b7d; font-size: 13px; overflow-wrap: anywhere; }
.inbox-detail-settings { margin: 18px 0 22px; padding: 0 18px; border: 1px solid #dce7e4; background: #f3f9f7; }
.inbox-detail-settings .inbox-enable-toggle { width: 100%; padding: 16px 0; border: 0; }
.inbox-message-picker { display: grid; gap: 0; margin: 22px 0; border: 1px solid #dce7e4; background: #f3f9f7; }
.inbox-message-picker .inbox-list-item { border-top: 0; border-bottom: 1px solid #dfebe8; }
.inbox-message-picker .inbox-list-item:last-child { border-bottom: 0; }
.inbox-message-detail-header { display: flex; align-items: start; justify-content: space-between; gap: 20px; padding-top: 8px; }
.inbox-message-detail-header h3 { margin: 4px 0 7px; font-family: var(--heading-font, 'Playfair Display'), serif; font-size: 26px; font-weight: 400; }
.inbox-message-detail-header p:not(.eyebrow) { margin: 0; color: #637b7d; font-size: 13px; overflow-wrap: anywhere; }
.inbox-enable-toggle { flex: 0 0 min(340px, 42%); margin: 0; padding: 0 0 14px; border-top: 0; }
.inbox-enable-toggle input[type='checkbox'] { margin-top: 2px; }
.inbox-toggle-note { margin: 18px 0 0; color: #587073; font-size: 12px; line-height: 1.6; }
.inbox-status-control { display: grid; flex: 0 0 auto; gap: 6px; color: #597274; font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.inbox-meta { display: flex; flex-wrap: wrap; gap: 22px; margin: 22px 0; }
.inbox-meta div { display: grid; gap: 4px; }
.inbox-meta dt { color: #709092; font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }
.inbox-meta dd { margin: 0; color: #183f45; font-size: 13px; }
.inbox-original { margin: 26px 0; padding: 20px; border-left: 3px solid #58bdbf; background: #eef7f4; }
.inbox-original p:last-child { margin: 0; color: #284c50; line-height: 1.75; white-space: pre-wrap; }
.inbox-actions { padding-top: 22px; border-top: 1px solid #dce7e4; }
.inbox-action-buttons { display: flex; flex-wrap: wrap; gap: 8px; margin: 10px 0; }
.inbox-actions small { color: #6a8183; line-height: 1.6; }
.inbox-detail-footer { display: flex; gap: 14px; margin-top: 38px; padding-top: 15px; border-top: 1px solid #e4ecea; }
.text-button { padding: 0; border: 0; background: transparent; color: #327f82; cursor: pointer; font-size: 12px; text-decoration: underline; }
.text-button.danger { color: #a14f4d; }
.manager-invite-form { display: grid; grid-template-columns: minmax(0, 1fr) minmax(220px, .82fr) minmax(170px, .5fr); align-items: stretch; gap: 14px 24px; max-width: none; }
.manager-invite-form .form-field { min-width: 0; margin: 0; }
.manager-invite-actions { display: flex; align-items: flex-end; min-width: 170px; min-height: 100%; }
.manager-invite-actions .button { width: 100%; min-height: 44px; white-space: nowrap; }
.manager-access-help { grid-column: 2; margin: -4px 0 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
.workspace-managers-section { max-width: 1080px; }
.workspace-managers-section .form-grid { max-width: 760px; }
.workspace-manager-list h3 { margin: 0 0 14px; font-family: var(--heading-font, 'Playfair Display'), serif; font-size: 24px; font-weight: 400; }
@media (max-width: 900px) {
  .platform-feature-grid { grid-template-columns: repeat(2, 1fr); }
  .process-grid { grid-template-columns: repeat(2, 1fr); }
  .platform-dashboard, .enquiry-shell { grid-template-columns: 1fr; }
  .dashboard-copy { max-width: 600px; }
}

@media (max-width: 760px) {
  .platform-feature-grid, .process-grid { grid-template-columns: 1fr; }
  .dashboard-body { grid-template-columns: 1fr; }
  .dashboard-body aside { grid-template-columns: repeat(4, 1fr); gap: 0; padding: 8px; border-right: 0; border-bottom: 1px solid var(--line); }
  .dashboard-body aside span { padding: 8px 5px; text-align: center; font-size: 9px; }
  .dashboard-main { padding: 20px; }
  .dashboard-stats { gap: 5px; }
  .dashboard-stats div { padding: 10px 8px; }
  .dashboard-stats strong { font-size: 21px; }
  .dashboard-stats span { font-size: 9px; }
  .faq-list summary { font-size: 20px; }
  .faq-list details p { margin-right: 0; }
  .enquiry-shell { gap: 30px; }
  .lead-card { grid-template-columns: 1fr; gap: 10px; }
}
/* WEBNB marketing upgrade */
.nav-links { gap: clamp(14px, 2.2vw, 30px); }
.nav-login-link { padding-bottom: 3px; border-bottom: 1px solid currentColor; }
a:focus-visible, button:focus-visible, summary:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible { outline: 3px solid rgba(88,189,191,.5); outline-offset: 3px; }

.platform-hero-content > *, .template-story > *, .photo-story > *, .portfolio-story > *, .operation-grid > *, .account-card > *, .enquiry-shell > * { min-width: 0; }
.platform-hero h1, .template-copy h2, .photo-copy h2, .portfolio-copy h2, .operation-panel h2, .account-card h2, .enquiry-intro h2 { overflow-wrap: anywhere; text-wrap: balance; }
.preview-property-brand { position: absolute; z-index: 2; top: 18px; left: 20px; color: var(--white); font-family: var(--heading-font, 'Playfair Display'), serif; font-size: 17px; text-shadow: 0 2px 18px rgba(0,0,0,.35); }
.preview-phone { position: absolute; z-index: 3; right: -26px; bottom: -22px; width: 118px; padding: 7px; border: 1px solid rgba(255,255,255,.48); border-radius: 20px; background: #f8faf9; box-shadow: 0 20px 44px rgba(0,0,0,.28); transform: rotate(-4deg); }
.preview-phone img { width: 100%; aspect-ratio: .62; border-radius: 14px; object-fit: cover; }
.preview-phone span { display: block; padding: 8px 2px 4px; color: var(--ink); font-size: 8px; letter-spacing: .08em; text-align: center; text-transform: uppercase; }
.hero-preview { position: relative; }

.platform-band { width: 100%; padding: clamp(72px, 9vw, 116px) 0; }
.platform-band-inner { width: min(1180px, calc(100% - 48px)); margin-inline: auto; padding-inline: 0; }
.platform-operations { background: #edf4f2; }
.operation-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: rgba(20,37,42,.15); border: 1px solid rgba(20,37,42,.15); }
.operation-panel { padding: clamp(28px, 5vw, 56px); background: var(--white); }
.operation-panel h2 { margin: 0 0 18px; font-family: var(--heading-font, 'Playfair Display'), serif; font-size: clamp(34px, 4vw, 54px); font-weight: 400; line-height: 1.04; }
.operation-panel > p:not(.eyebrow) { color: var(--muted); line-height: 1.75; }
.sync-source-list { display: flex; flex-wrap: wrap; gap: 10px; margin: 26px 0; }
.sync-source-list span { display: inline-flex; align-items: center; gap: 8px; padding: 9px 11px; border: 1px solid var(--line); color: var(--muted); font-size: 10px; letter-spacing: .07em; text-transform: uppercase; }
.source-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--accent); }
.source-dot.airbnb { background: #e88770; }
.source-dot.future { border: 1px solid #9aa9a7; background: transparent; }
.truth-note { padding: 14px 16px; border-left: 3px solid var(--accent); background: #f5faf9; color: var(--muted); font-size: 12px; line-height: 1.65; }
.domain-steps { display: grid; gap: 0; margin: 28px 0 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.domain-steps li { display: grid; grid-template-columns: 38px 1fr; gap: 12px; padding: 18px 0; border-bottom: 1px solid var(--line); }
.domain-steps li > span { color: var(--accent-deep); font-size: 10px; letter-spacing: .14em; }
.domain-steps strong { font-family: var(--heading-font, 'Playfair Display'), serif; font-size: 20px; font-weight: 400; }
.domain-steps p { margin: 5px 0 0; color: var(--muted); font-size: 12px; line-height: 1.55; }

.template-story { display: grid; grid-template-columns: minmax(280px, .85fr) minmax(0, 1.15fr); gap: clamp(36px, 7vw, 90px); align-items: center; background: var(--white); }
.template-copy h2, .photo-copy h2, .portfolio-copy h2 { margin: 0 0 18px; font-family: var(--heading-font, 'Playfair Display'), serif; font-size: clamp(38px, 5vw, 64px); font-weight: 400; line-height: 1.02; }
.template-copy > p:not(.eyebrow), .photo-copy > p:not(.eyebrow), .portfolio-copy > p:not(.eyebrow) { color: var(--muted); line-height: 1.75; }
.boundary-list { margin-top: 28px; border-top: 1px solid var(--line); }
.boundary-list div { display: grid; grid-template-columns: 125px 1fr; gap: 18px; padding: 15px 0; border-bottom: 1px solid var(--line); }
.boundary-list strong { font-size: 11px; letter-spacing: .07em; text-transform: uppercase; }
.boundary-list span { color: var(--muted); font-size: 12px; line-height: 1.55; }
.editor-concept { border: 1px solid rgba(20,37,42,.18); background: #f7f9f8; box-shadow: 0 28px 70px rgba(20,37,42,.13); }
.editor-toolbar { display: flex; align-items: center; justify-content: space-between; min-height: 46px; padding: 0 14px; border-bottom: 1px solid var(--line); background: var(--white); color: var(--muted); font-size: 9px; letter-spacing: .12em; text-transform: uppercase; }
.editor-toolbar > span { color: var(--accent-deep); }
.editor-toolbar div { display: flex; gap: 1px; border: 1px solid var(--line); background: var(--line); }
.editor-toolbar div span { padding: 7px 9px; background: var(--white); }
.editor-layout { display: grid; grid-template-columns: 146px minmax(0, 1fr); min-height: 410px; }
.editor-layout aside { display: grid; align-content: start; gap: 3px; padding: 18px 10px; border-right: 1px solid var(--line); background: var(--white); }
.editor-layout aside strong { padding: 5px 7px 12px; font-family: var(--heading-font, 'Playfair Display'), serif; font-size: 18px; font-weight: 400; }
.editor-layout aside > span { padding: 9px 7px; color: var(--muted); font-size: 10px; }
.editor-layout aside > span.active { background: #edf4f2; color: var(--ink); }
.editor-actions { display: grid; gap: 6px; margin-top: 16px; }
.editor-actions i { padding: 8px; border: 1px solid var(--line); color: var(--muted); font-size: 9px; font-style: normal; text-align: center; text-transform: uppercase; }
.editor-actions i:last-child { border-color: var(--navy); background: var(--navy); color: var(--white); }
.editor-canvas { display: grid; place-items: center; padding: clamp(16px, 3vw, 30px); overflow: hidden; }
.editor-site { position: relative; width: min(100%, 390px); aspect-ratio: .84; overflow: hidden; background: var(--navy); box-shadow: 0 14px 36px rgba(20,37,42,.16); }
.editor-site img { width: 100%; height: 100%; object-fit: cover; opacity: .82; }
.editor-site::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 28%, rgba(20,37,42,.82)); }
.editor-logo { position: absolute; z-index: 2; top: 17px; left: 18px; color: var(--white); font-family: var(--heading-font, 'Playfair Display'), serif; font-size: 18px; }
.editor-site div { position: absolute; z-index: 2; right: 22px; bottom: 24px; left: 22px; color: var(--white); }
.editor-site small { display: block; margin-bottom: 7px; color: var(--accent); font-size: 8px; letter-spacing: .15em; text-transform: uppercase; }
.editor-site strong { display: block; font-family: var(--heading-font, 'Playfair Display'), serif; font-size: clamp(26px, 4vw, 42px); font-weight: 400; line-height: 1; }
.concept-label { margin: 0; padding: 12px 14px; border-top: 1px solid var(--line); background: var(--white); color: var(--muted); font-size: 10px; line-height: 1.55; }

.photo-story { display: grid; grid-template-columns: minmax(0, .8fr) minmax(300px, 1.2fr); gap: clamp(42px, 8vw, 110px); align-items: center; background: #f2ede4; }
.clean-list { display: grid; gap: 12px; margin: 28px 0 0; padding: 0; list-style: none; }
.clean-list li { position: relative; padding-left: 22px; color: var(--muted); line-height: 1.65; }
.clean-list li::before { content: '·'; position: absolute; left: 5px; color: var(--accent-deep); font-size: 24px; line-height: .7; }
.photo-stack { position: relative; min-height: 480px; }
.photo-stack img { position: absolute; width: 72%; height: 78%; object-fit: cover; border: 8px solid var(--white); box-shadow: var(--shadow); }
.photo-stack img:first-child { top: 0; left: 0; transform: rotate(-3deg); }
.photo-stack img:nth-child(2) { right: 0; bottom: 0; transform: rotate(3deg); }
.photo-stack span { position: absolute; z-index: 3; right: 24px; bottom: 26px; padding: 10px 12px; background: var(--navy); color: var(--white); font-size: 9px; letter-spacing: .14em; text-transform: uppercase; }

.portfolio-story { display: grid; grid-template-columns: minmax(280px, .75fr) minmax(0, 1.25fr); gap: clamp(42px, 8vw, 110px); align-items: center; background: var(--white); }
.portfolio-map { display: grid; gap: 12px; padding: clamp(18px, 4vw, 32px); border: 1px solid rgba(20,37,42,.16); background: #eef4f2; }
.portfolio-account { display: grid; gap: 4px; padding: 18px; border: 1px solid var(--line); background: var(--white); }
.portfolio-account span, .portfolio-account small { color: var(--muted); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.portfolio-account strong { font-family: var(--heading-font, 'Playfair Display'), serif; font-size: 25px; font-weight: 400; }
.portfolio-properties { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.portfolio-properties article { overflow: hidden; border: 1px solid var(--line); background: var(--white); }
.portfolio-properties img { width: 100%; aspect-ratio: 1.65; object-fit: cover; }
.portfolio-properties article div { display: grid; gap: 4px; padding: 13px; }
.portfolio-properties strong { font-family: var(--heading-font, 'Playfair Display'), serif; font-size: 18px; font-weight: 400; }
.portfolio-properties span { overflow-wrap: anywhere; color: var(--muted); font-size: 9px; }
.portfolio-schedule { padding: 16px; border: 1px solid var(--line); background: var(--white); }
.portfolio-schedule div { display: flex; justify-content: space-between; gap: 16px; padding-bottom: 12px; border-bottom: 1px solid var(--line); }
.portfolio-schedule div span { color: var(--accent-deep); font-size: 10px; letter-spacing: .06em; text-transform: uppercase; }
.portfolio-schedule p { margin: 12px 0 0; color: var(--muted); font-size: 11px; line-height: 1.55; }

.account-story { background: #edf4f2; }
.account-card { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(240px, .75fr); gap: clamp(34px, 7vw, 90px); align-items: center; padding: clamp(30px, 5vw, 58px); border: 1px solid rgba(20,37,42,.15); background: var(--white); }
.account-card h2 { max-width: 760px; margin: 0 0 16px; font-family: var(--heading-font, 'Playfair Display'), serif; font-size: clamp(38px, 5vw, 64px); font-weight: 400; line-height: 1.02; }
.account-card > div > p:not(.eyebrow):not(.assignment-line) { max-width: 700px; color: var(--muted); line-height: 1.7; }
.assignment-line { margin: 24px 0 13px; color: var(--ink); font-weight: 600; }
.google-button { gap: 10px; background: var(--white); border-color: rgba(20,37,42,.22); color: var(--ink); }
.google-button span { display: grid; place-items: center; width: 21px; height: 21px; border-radius: 50%; background: #4285f4; color: var(--white); font-weight: 600; text-transform: none; }
.google-button:hover { background: #f4f7f6; color: var(--ink); }
.owner-login-link { display: inline-block; margin-left: 18px; color: var(--accent-deep); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; }
.account-card aside { padding: 26px; border: 1px solid var(--line); background: var(--paper); }
.account-card aside strong { color: var(--accent-deep); font-size: 10px; letter-spacing: .13em; text-transform: uppercase; }
.account-card aside p { margin: 14px 0; font-family: var(--heading-font, 'Playfair Display'), serif; font-size: 25px; line-height: 1.2; }
.account-card aside span { color: var(--muted); font-size: 11px; line-height: 1.6; }

.pricing-section { background: var(--paper); }
.pricing-release-section { padding-bottom: 0; background: var(--paper); }
.pricing-release-note { display: flex; align-items: center; justify-content: space-between; gap: 28px; max-width: 980px; margin: 0 auto; padding: clamp(22px, 4vw, 36px); border: 1px solid rgba(20,37,42,.15); background: #edf5f3; }
.pricing-release-note h2 { max-width: 18ch; margin: 0 0 12px; font-family: var(--heading-font, 'Playfair Display'), serif; font-size: clamp(30px, 4vw, 46px); font-weight: 400; line-height: 1.08; }
.pricing-release-note p:not(.eyebrow) { max-width: 680px; margin: 0; color: var(--muted); line-height: 1.7; }
.pricing-release-note .button { flex: 0 0 auto; }
.pricing-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; align-items: stretch; }
.pricing-card { display: flex; flex-direction: column; min-width: 0; padding: clamp(24px, 3vw, 34px); border: 1px solid rgba(20,37,42,.15); background: var(--white); }
.pricing-card.featured { border-top: 3px solid var(--accent); }
.pricing-heading p { margin: 0 0 8px; color: var(--accent-deep); font-size: 9px; letter-spacing: .14em; text-transform: uppercase; }
.pricing-heading h3 { margin: 0 0 6px; font-family: var(--heading-font, 'Playfair Display'), serif; font-size: 36px; font-weight: 400; }
.pricing-heading > span { color: var(--muted); font-size: 11px; }
.setup-price, .custom-price { display: grid; gap: 3px; margin-top: 24px; padding: 18px 0 0; border-top: 1px solid var(--line); }
.setup-price strong, .custom-price strong { font-family: var(--heading-font, 'Playfair Display'), serif; font-size: clamp(28px, 3vw, 38px); font-weight: 400; }
.setup-price span, .custom-price span { color: var(--muted); font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }
.price-pair { display: grid; grid-template-columns: 1fr auto 1fr; gap: 10px; align-items: center; margin: 28px 0 22px; padding: 18px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.price-pair div { display: grid; gap: 3px; }
.price-pair strong, .future-price strong { font-family: var(--heading-font, 'Playfair Display'), serif; font-size: clamp(31px, 3.5vw, 43px); font-weight: 400; }
.price-pair span, .future-price span { color: var(--muted); font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }
.price-pair i { color: var(--accent-deep); font-style: normal; }
.future-price { display: grid; gap: 4px; margin: 28px 0 22px; padding: 18px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.pricing-summary { min-height: 70px; color: var(--muted); line-height: 1.65; }
.pricing-card ul { flex: 1; display: grid; align-content: start; gap: 11px; margin: 12px 0 26px; padding: 0; list-style: none; }
.pricing-card li { position: relative; padding-left: 18px; color: var(--muted); font-size: 12px; line-height: 1.5; }
.pricing-card li::before { content: '✓'; position: absolute; left: 0; color: var(--accent-deep); }
.pricing-card .button { width: 100%; }
.pricing-card small { margin-top: 12px; color: var(--muted); font-size: 10px; line-height: 1.5; text-align: center; }
.custom-offer-card { background: var(--navy); color: var(--white); }
.custom-offer-card .pricing-heading p, .custom-offer-card .pricing-heading > span, .custom-offer-card .pricing-summary, .custom-offer-card li, .custom-offer-card .custom-price span { color: rgba(255,255,255,.72); }
.custom-offer-card .custom-price { border-color: rgba(255,255,255,.2); }
.custom-offer-card .pricing-heading h3, .custom-offer-card .custom-price strong { color: var(--white); }
.custom-offer-card li::before { color: #9de2db; }
.custom-offer-card .button.ghost { border-color: rgba(255,255,255,.55); color: var(--white); }
.pricing-offer-card { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(260px, .8fr); gap: 24px; align-items: center; margin-top: 22px; padding: 22px 24px; border: 1px solid #e4cfa5; background: #fff8e9; }
.pricing-offer-card h3 { margin: 0 0 8px; font-family: var(--heading-font, 'Playfair Display'), serif; font-size: clamp(24px, 3vw, 34px); font-weight: 400; line-height: 1.1; }
.pricing-offer-card p:not(.eyebrow) { margin: 0; color: var(--muted); line-height: 1.6; }
.pricing-offer-entry { display: grid; gap: 10px; }
.pricing-offer-entry .form-field { margin: 0; }
.pricing-offer-entry input { text-transform: uppercase; }
.pricing-offer-entry .button { justify-self: start; }
.pricing-offer-error { color: #a33b2d !important; font-size: 12px; }
.pricing-offer-success { color: #1e6d65 !important; font-size: 12px; font-weight: 600; }
.pricing-offer-progress { max-width: 460px; margin-top: 20px; }
.pricing-offer-progress-label { display: flex; justify-content: space-between; gap: 14px; margin-bottom: 7px; color: var(--muted); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.pricing-offer-progress-label strong { color: var(--accent-deep); font-weight: 700; }
.pricing-offer-progress-track { height: 8px; overflow: hidden; border-radius: 999px; background: #eadfca; }
.pricing-offer-progress-track span { display: block; height: 100%; border-radius: inherit; background: var(--accent); }
.setup-price del { color: var(--muted); font-size: 14px; }
.setup-price del + strong { color: var(--accent-deep); }
.monthly-care { margin-top: 20px; padding: clamp(22px, 4vw, 34px); border: 1px solid var(--line); background: var(--white); }
.monthly-care > strong { display: block; margin-bottom: 16px; font-family: var(--heading-font, 'Playfair Display'), serif; font-size: 26px; font-weight: 400; }
.monthly-care div { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; border: 1px solid var(--line); background: var(--line); }
.monthly-care div span { padding: 15px; background: var(--paper); color: var(--muted); font-size: 11px; text-align: center; }
.monthly-care p { margin: 16px 0 0; color: var(--muted); font-size: 11px; line-height: 1.6; }
.pricing-policy-note { margin-top: 14px; padding: 18px 20px; border-left: 3px solid var(--accent-deep); background: #edf5f3; color: var(--muted); font-size: 11px; line-height: 1.65; }
.pricing-policy-note strong { display: block; margin-bottom: 6px; color: var(--ink); font-family: var(--heading-font, 'Playfair Display'), serif; font-size: 18px; font-weight: 400; }
.pricing-policy-note p { margin: 0; }
.pricing-policy-note a { color: var(--accent-deep); text-decoration: underline; text-underline-offset: 2px; }
.savings-calculator-section { background: var(--paper); }
.savings-calculator-card { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, .72fr); gap: 1px; max-width: 980px; margin: 0 auto; border: 1px solid var(--line); background: var(--line); }
.savings-calculator-controls, .savings-calculator-result { padding: clamp(24px, 4vw, 42px); background: var(--white); }
.savings-calculator-controls { display: grid; align-content: start; gap: 24px; }
.savings-calculator-controls .form-field { margin: 0; }
.savings-number-input { display: flex; align-items: center; gap: 8px; margin-top: 8px; color: var(--muted); }
.savings-number-input input { width: 130px; padding: 12px 10px; border: 1px solid var(--line); background: var(--paper); color: var(--ink); font: inherit; }
.savings-number-input span:last-child { font-size: 11px; }
.savings-range { display: block; width: 100%; margin-top: 16px; accent-color: var(--accent-deep); cursor: pointer; }
.savings-range-labels { display: flex; justify-content: space-between; margin-top: 6px; color: var(--muted); font-size: 10px; }
.savings-calculator-note { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.65; }
.savings-calculator-result { background: #edf5f3; }
.savings-calculator-result > strong { display: block; margin: 12px 0 10px; font-family: var(--heading-font, 'Playfair Display'), serif; font-size: clamp(42px, 5vw, 66px); font-weight: 400; line-height: 1; }
.savings-calculator-result > p:not(.eyebrow) { margin: 0 0 30px; color: var(--muted); font-size: 13px; line-height: 1.6; }
.savings-positive { color: var(--accent-deep); }
.savings-neutral { color: var(--ink); }
.savings-calculator-result dl { display: grid; gap: 0; margin: 0; border-top: 1px solid var(--line); }
.savings-calculator-result dl div { display: flex; justify-content: space-between; gap: 18px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.savings-calculator-result dt, .savings-calculator-result dd { margin: 0; color: var(--muted); font-size: 11px; }
.savings-calculator-result dd { color: var(--ink); font-weight: 600; }
.homepage-savings-section { background: #edf5f3; }
.homepage-savings-card { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr); gap: 1px; max-width: 1080px; margin: 0 auto; border: 1px solid rgba(20,37,42,.14); background: rgba(20,37,42,.14); }
.homepage-savings-controls { display: grid; align-content: start; gap: 22px; padding: clamp(24px, 4vw, 44px); background: var(--white); }
.homepage-savings-controls .form-field { margin: 0; }
.homepage-savings-plan-toggle { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.homepage-savings-plan-toggle button { display: grid; gap: 5px; padding: 14px; border: 1px solid var(--line); background: var(--paper); color: var(--muted); text-align: left; cursor: pointer; }
.homepage-savings-plan-toggle button strong { color: var(--ink); font-size: 14px; font-weight: 600; }
.homepage-savings-plan-toggle button span { font-size: 10px; line-height: 1.4; }
.homepage-savings-plan-toggle button.active { border-color: var(--accent-deep); background: #edf5f3; box-shadow: inset 0 0 0 1px var(--accent-deep); }
.homepage-savings-plan-toggle button.active span { color: var(--accent-deep); }
.homepage-savings-controls > .text-link { justify-self: start; }
.homepage-savings-phone { display: grid; place-items: center; min-height: 500px; padding: 34px; background: var(--navy); }
.savings-phone-frame { width: min(100%, 270px); padding: 10px; border: 1px solid rgba(255,255,255,.45); border-radius: 30px; background: #101c20; box-shadow: 0 25px 55px rgba(0,0,0,.25); transform: rotate(2deg); }
.savings-phone-speaker { width: 70px; height: 5px; margin: 2px auto 9px; border-radius: 999px; background: rgba(255,255,255,.22); }
.savings-phone-screen { min-height: 430px; padding: 24px 18px 18px; border-radius: 20px; background: #f7fbf9; color: var(--ink); }
.savings-phone-brand { display: flex; justify-content: space-between; gap: 10px; margin-bottom: 58px; color: var(--accent-deep); font-size: 10px; font-weight: 700; letter-spacing: .14em; }
.savings-phone-brand span { color: var(--muted); font-size: 8px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; }
.savings-phone-screen .eyebrow { margin-bottom: 8px; color: var(--muted); font-size: 9px; }
.savings-phone-screen > strong { display: block; font-family: var(--heading-font, 'Playfair Display'), serif; font-size: 48px; font-weight: 400; line-height: 1; }
.savings-phone-period { display: block; margin-top: 5px; color: var(--muted); font-size: 10px; }
.savings-phone-breakdown { display: grid; gap: 0; margin-top: 34px; border-top: 1px solid var(--line); }
.savings-phone-breakdown div { display: flex; justify-content: space-between; gap: 10px; padding: 10px 0; border-bottom: 1px solid var(--line); font-size: 10px; }
.savings-phone-breakdown span { color: var(--muted); }
.savings-phone-breakdown b { font-weight: 600; }
.savings-phone-note { display: block; margin-top: 22px; color: var(--muted); font-size: 9px; line-height: 1.5; }
.savings-highlight-hero { margin-bottom: 20px; padding-bottom: 18px; border-bottom: 1px solid var(--line); }
.savings-annual-box { margin-bottom: 10px; }
.savings-annual-box .eyebrow { margin-bottom: 4px; }
.savings-annual-value { display: flex; align-items: baseline; gap: 8px; margin: 4px 0 0; font-family: var(--heading-font, 'Playfair Display'), serif; font-size: clamp(38px, 4.2vw, 56px); font-weight: 400; line-height: 1; }
.savings-annual-value small { font-family: var(--body-font, sans-serif); font-size: 14px; font-weight: 500; color: var(--muted); }
.savings-monthly-row { display: flex; align-items: baseline; gap: 8px; margin-top: 10px; font-size: 13px; }
.savings-monthly-label { color: var(--muted); }
.savings-monthly-row strong { font-size: 16px; font-weight: 600; }
.savings-monthly-row strong small { font-size: 12px; font-weight: normal; color: var(--muted); }
.pricing-badge-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.pro-coming-soon-pill, .matrix-coming-soon-badge { display: inline-flex; align-items: center; padding: 3px 8px; border-radius: 999px; background: #eee6fb; color: #704da0; font-size: 9px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; line-height: 1.2; }
.matrix-coming-soon-badge { margin-left: 6px; vertical-align: middle; }

.enquiry-section { padding-block: clamp(72px, 9vw, 110px); background: var(--navy); color: var(--white); }
.enquiry-shell { display: grid; grid-template-columns: minmax(260px, .65fr) minmax(0, 1.35fr); gap: clamp(40px, 8vw, 110px); align-items: start; }
.enquiry-intro { padding-inline-start: clamp(0px, 1vw, 12px); }
.enquiry-intro h2 { max-width: 520px; }
.enquiry-form { width: 100%; max-width: 760px; justify-self: end; border: 1px solid rgba(255,255,255,.12); }
.faq-list summary:focus-visible { outline-offset: 6px; }

@media (max-width: 980px) {
  .template-story, .photo-story, .portfolio-story { grid-template-columns: 1fr; }
  .template-copy, .photo-copy, .portfolio-copy { max-width: 720px; }
  .photo-stack { min-height: 430px; }
  .pricing-grid { grid-template-columns: 1fr 1fr; }
  .pricing-card:last-child { grid-column: 1 / -1; }
}

@media (max-width: 760px) {
  .platform-band-inner { width: min(100% - 32px, 1180px); }
  .preview-phone { right: -4px; bottom: -14px; width: 100px; }
  .operation-grid, .account-card, .enquiry-shell { grid-template-columns: 1fr; }
  .operation-grid { gap: 1px; }
  .operation-panel { padding: 26px 22px; }
  .template-story, .photo-story, .portfolio-story { gap: 38px; }
  .boundary-list div { grid-template-columns: 1fr; gap: 5px; }
  .editor-layout { grid-template-columns: 112px minmax(0, 1fr); }
  .editor-layout aside { padding-inline: 7px; }
  .editor-canvas { padding: 12px; }
  .photo-stack { min-height: 340px; }
  .portfolio-properties, .pricing-grid, .monthly-care div, .savings-calculator-card { grid-template-columns: 1fr; }
  .homepage-savings-card { grid-template-columns: 1fr; }
  .homepage-savings-phone { min-height: 0; padding: 28px 20px; }
  .savings-phone-frame { transform: none; }
  .pricing-offer-card { grid-template-columns: 1fr; }
  .pricing-offer-entry .button { width: 100%; }
  .pricing-release-note { align-items: flex-start; flex-direction: column; }
  .pricing-release-note .button { width: 100%; }
  .pricing-card:last-child { grid-column: auto; }
  .portfolio-schedule div { align-items: flex-start; flex-direction: column; }
  .account-card { padding: 24px 20px; }
  .owner-login-link { display: block; margin: 16px 0 0; }
  .enquiry-intro { padding-inline-start: 0; }
  .enquiry-form { max-width: none; }
  .price-pair strong { font-size: 34px; }
}
@media (max-width: 420px) {
  .platform-band-inner { width: calc(100% - 24px); }
  .editor-layout { grid-template-columns: 1fr; }
  .editor-layout aside { grid-template-columns: repeat(2, minmax(0,1fr)); border-right: 0; border-bottom: 1px solid var(--line); }
  .editor-layout aside strong, .editor-actions { grid-column: 1 / -1; }
  .editor-layout aside > span { padding: 7px; }
  .editor-canvas { min-height: 300px; }
  .photo-stack { min-height: 280px; }
  .preview-phone { display: none; }
}
/* WEBNB layout contract: full-width bands with one shared inner container. */
:root {
  --content-max: 1180px;
  --gutter: clamp(16px, 3.2vw, 32px);
  --section-space: clamp(68px, 8vw, 104px);
  --section-space-compact: clamp(48px, 6vw, 72px);
}

*, *::before, *::after { box-sizing: border-box; }
body { overflow-x: hidden; }
.nav-wrap, .hero-content, .footer-inner, .proof-grid, .platform-band-inner {
  width: min(calc(100% - (2 * var(--gutter))), var(--content-max));
}
.section {
  width: 100%;
  padding: var(--section-space) 0;
}
.section.compact { padding: var(--section-space-compact) 0; }
.section:not(.template-story):not(.photo-story):not(.portfolio-story) > * {
  width: min(calc(100% - (2 * var(--gutter))), var(--content-max));
  margin-inline: auto;
}
.platform-band { padding-block: var(--section-space); }
.platform-band-inner { padding-inline: 0; }

section.template-story, section.photo-story, section.portfolio-story {
  width: min(calc(100% - (2 * var(--gutter))), var(--content-max));
  position: relative;
  isolation: isolate;
}
section.template-story::before, section.photo-story::before, section.portfolio-story::before {
  content: '';
  position: absolute;
  z-index: -1;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 100vw;
  transform: translateX(-50%);
}
section.template-story::before, section.portfolio-story::before { background: var(--white); }
section.photo-story::before { background: #f2ede4; }

.split, .calendar-layout, .gallery-section, .presence-grid,
.platform-feature-grid, .process-grid, .pricing-grid, .operation-grid,
.account-card, .enquiry-shell, .portfolio-properties {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.platform-feature-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.process-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.presence-grid { grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); }
.pricing-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.monthly-care div { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.split > *, .calendar-layout > *, .gallery-section > *, .presence-grid > *,
.platform-feature-grid > *, .process-grid > *, .pricing-grid > *,
.operation-grid > *, .account-card > *, .enquiry-shell > * { min-width: 0; }
.dashboard-mock, .editor-concept, .enquiry-form, .calendar-card, .contact-card,
.presence-card, .platform-card, .pricing-card, .portfolio-map, .account-card {
  max-width: 100%;
}
.calendar-card, .contact-card { border: 1px solid var(--line); }

h1, h2, h3, p, a, strong, span { overflow-wrap: break-word; }
.hero h1 { max-width: 14ch; font-size: clamp(46px, 6.4vw, 84px); line-height: .99; text-wrap: balance; }
.section-heading h2 { max-width: 24ch; text-wrap: balance; }
.section-heading.center h2 { margin-inline: auto; }
.template-copy h2, .photo-copy h2, .portfolio-copy h2,
.account-card h2, .operation-panel h2, .enquiry-intro h2 {
  max-width: 15ch;
  font-size: clamp(36px, 4.7vw, 58px);
  text-wrap: balance;
}
.enquiry-form { margin-block: 8px; }
.platform-dashboard { display: block; background: #edf4f2; }
.dashboard-shell {
  display: grid;
  grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr);
  gap: clamp(32px, 7vw, 92px);
  align-items: center;
}
.dashboard-copy h2 { max-width: 14ch; margin: 0 0 16px; font-family: var(--heading-font, 'Playfair Display'), serif; font-size: clamp(36px, 4.8vw, 58px); font-weight: 400; line-height: 1.03; text-wrap: balance; }
.dashboard-copy > p:not(.eyebrow) { max-width: 430px; margin: 0; color: var(--muted); line-height: 1.75; }
.owner-list { max-width: 450px; margin-top: 24px; }
.dashboard-shell .dashboard-mock { width: 100%; min-width: 0; margin-inline-end: clamp(0px, 1.5vw, 18px); }
.dashboard-body aside span { min-width: 0; overflow-wrap: anywhere; }

@media (max-width: 980px) {
  .dashboard-shell { grid-template-columns: minmax(0, 1fr); gap: 38px; }
  .dashboard-copy { max-width: 650px; }
  .dashboard-shell .dashboard-mock { margin-inline-end: 0; }
}

@media (max-width: 760px) {
  .dashboard-body aside { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .dashboard-body aside span { padding-inline: 4px; text-align: center; font-size: 9px; }
}
@media (max-width: 420px) {
  .dashboard-body aside { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .dashboard-body aside span:nth-child(n + 4) { display: none; }
}

/* WEBNB brand, comparison, and feature surfaces. */
.brand { align-items: center; }
.brand-logo { width: 150px; height: auto; object-fit: contain; }
.site-header .brand-logo { width: 150px; }
.admin-bar .brand-logo, .site-footer .brand-logo { width: 166px; }
.site-footer .brand { align-items: center; }

.comparison-table-wrap { width: 100%; overflow-x: auto; }
.comparison-table { width: 100%; min-width: 720px; border-collapse: collapse; background: var(--white); }
.comparison-table th, .comparison-table td { padding: 20px 22px; border: 1px solid var(--line); text-align: left; vertical-align: top; line-height: 1.65; }
.comparison-table thead th { background: var(--navy); color: var(--white); font-size: 10px; font-weight: 600; letter-spacing: .13em; text-transform: uppercase; }
.comparison-table tbody th { width: 16%; color: var(--accent-deep); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; }
.comparison-table tbody td { width: 42%; color: var(--muted); font-size: 13px; }
.comparison-table tbody td:last-child { color: var(--ink); background: #f2f8f7; }
.feature-link-row { margin-top: 30px; margin-bottom: 0; }
.feature-detail-section { background: var(--white); }
.feature-detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.feature-detail-card { min-width: 0; padding: clamp(24px, 3vw, 34px); border: 1px solid var(--line); background: var(--paper); }
.feature-detail-card:nth-child(2n) { background: #edf5f3; }
.feature-detail-card h2 { max-width: 18ch; margin: 0 0 16px; font-family: var(--heading-font, 'Playfair Display'), serif; font-size: clamp(28px, 3.4vw, 42px); font-weight: 400; line-height: 1.08; }
.feature-detail-body { color: var(--muted); line-height: 1.7; }
.feature-detail-body p { margin: 0 0 16px; }
.feature-detail-body .clean-list { margin-top: 18px; }
.feature-operations { background: var(--navy); color: var(--white); }
.feature-operations .section-heading p:not(.eyebrow), .feature-operations .feature-operations-grid p { color: rgba(255,255,255,.72); }
.feature-operations-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; background: rgba(255,255,255,.18); }
.feature-operations-grid article { min-width: 0; padding: 28px; background: var(--navy); }
.feature-operations-grid h3 { margin: 12px 0 10px; font-family: var(--heading-font, 'Playfair Display'), serif; font-size: 28px; font-weight: 400; }
.feature-operations-grid p { margin: 0; line-height: 1.7; }
.inbox-flow { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; margin-top: 24px; color: var(--accent-deep); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.inbox-flow span { padding: 8px 10px; border: 1px solid rgba(88,189,191,.45); background: rgba(88,189,191,.08); }
.inbox-flow b { color: var(--accent); font-weight: 400; }
.seo-points { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 22px; }
.seo-points span { padding: 10px 12px; border: 1px solid var(--line); color: var(--accent-deep); font-size: 11px; line-height: 1.4; }
.platform-operations .operation-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.platform-operations .operation-panel { min-width: 0; }


@media (max-width: 760px) {
  .site-header .brand-logo { width: 132px; }
  .admin-bar .brand-logo, .site-footer .brand-logo { width: 142px; }
  .brand-sub { display: none; }
  .platform-hero-content { grid-template-columns: 1fr; gap: 28px; }
  .platform-feature-grid, .process-grid, .pricing-grid, .operation-grid, .feature-detail-grid, .feature-operations-grid, .account-card, .enquiry-shell, .dashboard-shell, .presence-grid, .template-story, .photo-story, .portfolio-story, .split, .calendar-layout, .gallery-section, .facts, .proof-grid, .stat-grid, .form-grid, .platform-card-grid { grid-template-columns: 1fr; }
  .platform-operations .operation-grid { grid-template-columns: 1fr; }
  .monthly-care div { grid-template-columns: 1fr; }
  .dashboard-body aside { grid-template-columns: 1fr; }
  .dashboard-body aside span { text-align: left; }
  .platform-hero-copy { max-width: none; }
  .hero-preview { justify-self: stretch; width: 100%; }
  .comparison-table { min-width: 0; }
  .comparison-table thead { display: none; }
  .comparison-table, .comparison-table tbody, .comparison-table tr, .comparison-table th, .comparison-table td { display: block; width: 100%; }
  .comparison-table tr { padding: 18px 0; border-bottom: 1px solid var(--line); }
  .comparison-table tbody th { padding: 0 0 8px; border: 0; font-size: 11px; }
  .comparison-table tbody td { display: grid; grid-template-columns: minmax(108px, .38fr) minmax(0, 1fr); gap: 12px; padding: 9px 0; border: 0; background: transparent; font-size: 13px; }
  .comparison-table tbody td::before { content: attr(data-label); color: var(--accent-deep); font-size: 9px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
  .comparison-table tbody td:last-child { background: transparent; }
  .feature-detail-card { padding: 24px 20px; }
  .feature-operations-grid article { padding: 24px 20px; }
  .seo-points { grid-template-columns: 1fr; }
  .inbox-flow { align-items: flex-start; flex-direction: column; }
  .inbox-flow b { transform: rotate(90deg); margin-left: 12px; }
  .footer-links { gap: 12px; }
  .admin-bar { align-items: flex-start; }
  .admin-bar > div { text-align: right; }
}

@media (max-width: 420px) {
  .site-header .brand-logo { width: 118px; }
  .admin-bar .brand-logo, .site-footer .brand-logo { width: 128px; }
  .admin-shell { padding: 12px; }
  .admin-panel, .login-card { padding: 18px; }
  .button { width: 100%; }
  .hero-actions { align-items: stretch; flex-direction: column; }
  .hero-actions .button { width: 100%; }
  .comparison-table tbody td { grid-template-columns: 1fr; gap: 4px; }
}
/* Second-pass owner positioning, hero carousel, and icon language. */
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.button-icon { display: inline-grid; place-items: center; margin-inline-end: 8px; font-size: 15px; line-height: 1; letter-spacing: 0; text-transform: none; }
.nav-links a:not(.button) { display: inline-flex; align-items: center; gap: 6px; }
.nav-icon { display: inline-grid; place-items: center; color: var(--accent); font-size: 14px; line-height: 1; letter-spacing: 0; }
.site-header.scrolled .nav-icon, .site-header.light .nav-icon { color: var(--accent-deep); }
.proof-item strong { display: flex; align-items: center; justify-content: center; gap: 8px; }
.proof-icon, .operation-icon { display: inline-grid; place-items: center; width: 20px; height: 20px; color: var(--accent); font-size: 15px; line-height: 1; letter-spacing: 0; }
.operation-icon { margin-inline-end: 6px; vertical-align: -3px; }
.platform-card { position: relative; }
.platform-card-icon { display: block; width: 28px; height: 28px; margin-bottom: 17px; color: var(--accent-deep); font-size: 22px; line-height: 1; }
.feature-detail-card { position: relative; }
.feature-detail-card::before { content: '✦'; position: absolute; top: 24px; right: 26px; color: var(--accent-deep); font-size: 18px; }
.login-card .button { gap: 0; }
.login-card .button-icon { width: 22px; height: 22px; margin-inline-end: 9px; border-radius: 50%; background: #4285f4; color: var(--white); font-size: 13px; font-weight: 600; }

.hero-carousel { position: absolute; z-index: 0; inset: 0; overflow: hidden; background: var(--navy); }
.hero-carousel-slides, .hero-carousel-slide, .hero-carousel-scrim { position: absolute; inset: 0; width: 100%; height: 100%; }
.hero-carousel-slide { object-fit: cover; opacity: 0; transform: scale(1.035); transition: opacity .85s ease, transform 6s ease; filter: saturate(.84); }
.hero-carousel-slide.active { opacity: 1; transform: scale(1); }
.hero-carousel-scrim { background: linear-gradient(90deg, rgba(20,37,42,.96) 0%, rgba(20,37,42,.72) 44%, rgba(20,37,42,.22) 100%), linear-gradient(180deg, rgba(20,37,42,.04) 12%, rgba(20,37,42,.82) 100%); }
.hero-carousel-caption { position: absolute; z-index: 2; right: clamp(18px, 4vw, 52px); bottom: 78px; display: grid; gap: 5px; max-width: 230px; color: rgba(255,255,255,.82); text-align: right; }
.hero-carousel-caption span { font-size: 11px; letter-spacing: .08em; line-height: 1.5; }
.hero-carousel-caption strong { color: var(--accent); font-size: 10px; letter-spacing: .18em; }
.hero-carousel-controls { position: absolute; z-index: 3; right: clamp(18px, 4vw, 52px); bottom: 25px; display: flex; align-items: center; gap: 10px; }
.hero-carousel-arrow { display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid rgba(255,255,255,.44); background: rgba(20,37,42,.28); color: var(--white); cursor: pointer; font-size: 16px; }
.hero-carousel-arrow:hover { border-color: var(--accent); background: rgba(20,37,42,.65); }
.hero-carousel-dots { display: flex; align-items: center; gap: 6px; }
.hero-carousel-dot { width: 7px; height: 7px; padding: 0; border: 1px solid rgba(255,255,255,.75); border-radius: 50%; background: transparent; cursor: pointer; }
.hero-carousel-dot.active { border-color: var(--accent); background: var(--accent); }
.platform-hero-content { position: relative; z-index: 2; display: block; }
.platform-hero-copy { max-width: 740px; }

.comparison-table thead th { white-space: nowrap; }
.comparison-heading-mark, .comparison-mark { display: inline-grid; flex: 0 0 auto; place-items: center; width: 22px; height: 22px; margin-inline-end: 9px; border-radius: 50%; font-weight: 700; line-height: 1; }
.comparison-heading-mark { width: 20px; height: 20px; margin-inline-end: 7px; background: rgba(255,255,255,.12); font-size: 14px; }
.comparison-heading-mark.no { color: #ffb5ae; }
.comparison-heading-mark.yes { color: #9af0d2; }
.comparison-mark { margin-top: 1px; background: rgba(20,37,42,.08); font-size: 13px; }
.comparison-mark.no { color: #c94f4a; }
.comparison-mark.yes { color: var(--accent-deep); background: rgba(88,189,191,.14); }
.comparison-table tbody th { display: flex; align-items: center; gap: 7px; }
.comparison-row-icon { display: inline-grid; place-items: center; width: 24px; height: 24px; border: 1px solid rgba(88,189,191,.45); color: var(--accent-deep); font-size: 14px; line-height: 1; }
.comparison-table tbody td { display: flex; align-items: flex-start; gap: 0; }
.comparison-table tbody td > span:last-child { min-width: 0; }


@media (max-width: 760px) {
  .hero-carousel-caption { right: 16px; bottom: 72px; max-width: 170px; }
  .hero-carousel-controls { right: 16px; bottom: 18px; }
  .platform-hero-content { display: block; padding-top: 116px; padding-bottom: 120px; }
  .platform-hero-copy { max-width: 100%; }
  .comparison-table tbody th { display: flex; align-items: center; }
  .comparison-table tbody td { display: block; }
  .comparison-table tbody td::before { display: block; margin-bottom: 7px; }
  .comparison-mark { display: inline-grid; vertical-align: middle; }
  .comparison-table tbody td > span:last-child { display: inline; }
  .feature-detail-card::before { top: 20px; right: 20px; }
}

@media (prefers-reduced-motion: reduce) {
  .hero-carousel-slide { transition: none; transform: none; }
}
/* Keep the desktop comparison table as a real three-column table. */
@media(min-width:761px) {
  .comparison-table { table-layout: fixed; }
  .comparison-table thead th:first-child { width: 16%; }
  .comparison-table thead th:nth-child(2),
  .comparison-table thead th:nth-child(3) { width: 42%; }
  .comparison-table tbody th { display: table-cell; width: 16%; }
  .comparison-table tbody td { display: table-cell; width: 42%; }
  .comparison-table tbody td:nth-child(2) { background: #fff7f6; color: var(--muted); }
  .comparison-table tbody td:nth-child(3) { background: #f2f8f7; color: var(--ink); }
  .comparison-table tbody td > span:last-child { display: inline; }
  .comparison-table tbody td .comparison-mark { vertical-align: middle; }
}

@media(max-width:760px) {
  .comparison-table tbody td:nth-child(2) { background: #fff7f6; }
  .comparison-table tbody td:nth-child(3) { background: #f2f8f7; }
}

/* Mobile comparison cards: full-width, border-safe layout. */
@media (max-width:760px) {
  .comparison-table-wrap { width: 100%; max-width: 100%; overflow: visible; }
  .comparison-table { display: block; width: 100%; min-width: 0; table-layout: auto; }
  .comparison-table tbody { display: block; width: 100%; }
  .comparison-table tbody tr { display: block; width: 100%; margin: 0; padding: 18px 0; box-sizing: border-box; }
  .comparison-table tbody th { display: flex; width: 100%; box-sizing: border-box; padding: 0 0 10px; border: 0; }
  .comparison-table tbody td { display: block; width: 100%; max-width: 100%; margin: 0; box-sizing: border-box; padding: 11px 12px; border: 0; }
  .comparison-table tbody td + td { margin-top: 1px; }
  .comparison-table tbody td::before { display: block; margin: 0 0 7px; }
  .comparison-table tbody td[data-label="Airbnb / marketplace"] { background: #fff7f6; }
  .comparison-table tbody td[data-label="WEBNB / owned site"] { background: #f2f8f7; }
  .comparison-table .comparison-row-icon { width: 20px; height: 20px; border: 0; }
}
/* Larger, varied feature accents. */
.platform-card { transition: background-color .2s ease, border-color .2s ease; }
.platform-card:nth-child(3n + 1) { background: #f1fbf6; border-color: #cceee0; }
.platform-card:nth-child(3n + 2) { background: #f1f6ff; border-color: #d6e4fb; }
.platform-card:nth-child(3n) { background: #fff6eb; border-color: #f4ddc2; }
.platform-card-icon { display: grid; place-items: center; width: 58px; height: 58px; margin: 0 0 20px; border-radius: 16px; font-size: 30px; line-height: 1; }
.platform-card:nth-child(3n + 1) .platform-card-icon { color: #198a69; background: #d9f4e7; }
.platform-card:nth-child(3n + 2) .platform-card-icon { color: #2f71c8; background: #dceaff; }
.platform-card:nth-child(3n) .platform-card-icon { color: #cc7132; background: #ffe5c8; }

.operation-panel { transition: background-color .2s ease; }
.operation-panel:nth-child(3n + 1) { background: #f1fbf6; }
.operation-panel:nth-child(3n + 2) { background: #f1f6ff; }
.operation-panel:nth-child(3n) { background: #fff6eb; }
.operation-icon { display: inline-grid; place-items: center; width: 34px; height: 34px; margin-inline-end: 10px; border-radius: 10px; font-size: 22px; line-height: 1; vertical-align: -10px; }
.operation-panel:nth-child(3n + 1) .operation-icon { color: #198a69; background: #d9f4e7; }
.operation-panel:nth-child(3n + 2) .operation-icon { color: #2f71c8; background: #dceaff; }
.operation-panel:nth-child(3n) .operation-icon { color: #cc7132; background: #ffe5c8; }
.operation-panel h2 { overflow-wrap: normal; word-break: normal; hyphens: none; text-wrap: balance; }

/* Border-free comparison row icons. */
.comparison-table tbody th { gap: 10px; }
.comparison-row-icon { width: 36px; height: 36px; border: 0 !important; border-radius: 11px; font-size: 21px; line-height: 1; }
.comparison-table tbody tr:nth-child(4n + 1) .comparison-row-icon { color: #198a69; background: #d9f4e7; }
.comparison-table tbody tr:nth-child(4n + 2) .comparison-row-icon { color: #2f71c8; background: #dceaff; }
.comparison-table tbody tr:nth-child(4n + 3) .comparison-row-icon { color: #cc7132; background: #ffe5c8; }
.comparison-table tbody tr:nth-child(4n) .comparison-row-icon { color: #7c5ab8; background: #eee6fb; }

@media (max-width:760px) {
  .comparison-table tbody th { gap: 12px; padding-bottom: 12px; }
  .comparison-row-icon { width: 42px; height: 42px; border: 0 !important; border-radius: 13px; font-size: 25px; }
}
/* Features-page and pricing-page hierarchy and readable responsive type. */
.features-page-top { background: #eef7f4; border-bottom: 1px solid #d8ebe5; }
.pricing-page-top { background: #f1f6ff; border-bottom: 1px solid #dce8f8; }
.pricing-release-section { display: none !important; }
.feature-benefits-section { background: var(--white); }
.feature-plans-section { background: #f7faf9; }
.feature-plan-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; max-width: 1100px; margin: 0 auto; }
.feature-plan-card { display: flex; min-width: 0; flex-direction: column; padding: clamp(24px, 3vw, 38px); border: 1px solid #d4e2df; background: #fff; }
.feature-plan-card.standard-plan { border-top: 4px solid #2b9c88; }
.feature-plan-card.pro-plan { border-top: 4px solid #8559bd; background: #fbf9fd; }
.feature-plan-card-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.feature-plan-card-header h3 { max-width: 17ch; margin: 0 0 14px; font-family: var(--heading-font, 'Playfair Display'), serif; font-size: clamp(28px, 3.2vw, 42px); font-weight: 400; line-height: 1.05; }
.feature-plan-limit { flex: 0 0 auto; padding: 6px 9px; border: 1px solid #c4d8d3; color: #357b78; font-size: 9px; letter-spacing: .1em; line-height: 1.2; text-transform: uppercase; }
.pro-plan .feature-plan-limit { border-color: #cab9df; color: #704da0; }
.feature-plan-card > p:not(.eyebrow):not(.feature-plan-label) { color: var(--muted); line-height: 1.7; }
.feature-plan-label { margin: 20px 0 8px; color: var(--ink); font-size: 10px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.feature-plan-list { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.feature-plan-list li { display: grid; gap: 3px; padding: 13px 0; border-top: 1px solid #e1ebe8; }
.feature-plan-list li strong { color: var(--ink); font-size: 13px; }
.feature-plan-list li span { color: var(--muted); font-size: 12px; line-height: 1.55; }
.feature-plan-list .plan-feature-item { display: flex; align-items: flex-start; gap: 14px; }
.feature-plan-list .plan-feature-icon { flex: 0 0 28px; width: 28px; height: 28px; display: inline-flex; align-items: center; justify-content: center; border-radius: 6px; background: #eef7f4; color: #2b9c88; font-size: 14px; margin-top: 1px; }
.pro-plan .plan-feature-icon { background: #f3edfc; color: #704da0; }
.plan-feature-text { display: grid; gap: 3px; min-width: 0; }
.plan-feature-text strong { color: var(--ink); font-size: 13px; }
.plan-feature-text span { color: var(--muted); font-size: 12px; line-height: 1.55; }
.feature-plan-card footer { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-top: auto; padding-top: 22px; color: var(--muted); font-size: 11px; }
.feature-plan-card footer a { color: #287c80; font-size: 11px; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.feature-plan-card footer a:hover { color: var(--ink); }
.feature-plan-boundary { display: flex; max-width: 1100px; align-items: center; gap: 16px; margin: 16px auto 0; padding: 15px 18px; border-left: 3px solid var(--accent); background: #edf8f5; color: var(--muted); font-size: 13px; line-height: 1.6; }
.feature-plan-boundary strong { flex: 0 0 auto; color: var(--ink); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; }
.feature-benefit-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.benefit-box { min-height: 300px; }
.benefit-box .platform-card-icon,
.feature-detail-card .feature-card-top,
.feature-status,
.benefit-status { border: 0; }
.feature-card-top { display: flex; align-items: center; justify-content: space-between; gap: 14px; min-height: 24px; }
.feature-card-top .eyebrow { margin: 0; }
.feature-status, .benefit-status { display: inline-flex; width: fit-content; padding: 6px 9px; border-radius: 999px; background: #d9f4e7; color: #198a69; font-size: 9px; letter-spacing: .1em; line-height: 1.2; text-transform: uppercase; }
.feature-status.planned, .benefit-status.planned { background: #eee6fb; color: #7c5ab8; }
.benefit-box .benefit-status { margin: 12px 0 0; }
.benefit-box h3 { max-width: 17ch; }
.feature-operations-detail { background: #edf4f2; }
.feature-operations-detail .operation-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.feature-operations-detail .operation-panel { min-height: 100%; }
.portfolio-feature-section { background: #f2ede4; }
.portfolio-benefit-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; margin-top: 36px; background: rgba(20,37,42,.15); }
.portfolio-benefit-grid > div { min-width: 0; padding: 30px; background: rgba(255,255,255,.7); }
.portfolio-step { display: block; margin-bottom: 34px; color: var(--accent-deep); font-size: 11px; letter-spacing: .16em; }
.portfolio-benefit-grid h3 { margin: 0 0 10px; font-family: var(--heading-font, 'Playfair Display'), serif; font-size: 28px; font-weight: 400; }
.portfolio-benefit-grid p { margin: 0; color: var(--muted); line-height: 1.7; }
.feature-trust-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.feature-detail-card h2 { max-width: none; font-size: clamp(30px, 3.1vw, 46px); overflow-wrap: normal; word-break: normal; hyphens: none; text-wrap: balance; }
.feature-operations-detail .operation-panel h2 { max-width: 12ch; font-size: clamp(34px, 3.4vw, 50px); line-height: 1.03; overflow-wrap: normal; word-break: normal; hyphens: none; text-wrap: balance; }
.platform-feature-preview { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.platform-feature-preview .platform-card { min-height: 250px; }
.platform-card-icon, .operation-icon, .comparison-row-icon { border: 0 !important; outline: 0; box-shadow: none; }
.comparison-table .comparison-heading-mark.no, .comparison-table .comparison-mark.no { display: none; }
.comparison-table tbody td[data-label="Airbnb / marketplace"] { background: #fff7f6; }
@media (max-width: 900px) {
  .feature-benefit-grid, .feature-operations-detail .operation-grid, .portfolio-benefit-grid { grid-template-columns: 1fr 1fr; }
  .feature-benefit-grid .benefit-box:last-child { grid-column: 1 / -1; }
}

@media (max-width: 760px) {
  .feature-plan-grid { grid-template-columns: 1fr; }
  .feature-plan-card-header { display: grid; }
  .feature-plan-card footer { align-items: flex-start; flex-direction: column; }
  .feature-plan-boundary { align-items: flex-start; flex-direction: column; gap: 5px; }
  .feature-benefit-grid, .feature-operations-detail .operation-grid, .portfolio-benefit-grid, .feature-trust-grid, .platform-feature-preview { grid-template-columns: 1fr; }
  .feature-benefit-grid .benefit-box:last-child { grid-column: auto; }
  .benefit-box { min-height: 0; }
  .feature-operations-detail .operation-panel h2 { max-width: none; font-size: clamp(32px, 11vw, 44px); }
  .feature-detail-card h2 { font-size: clamp(30px, 9vw, 42px); }
  .portfolio-benefit-grid > div { padding: 24px 20px; }
  .comparison-table .comparison-heading-mark.no, .comparison-table .comparison-mark.no { display: none !important; }
}

/* Features page: Universal foundation 4-column grid */
.feature-foundation-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  max-width: 1200px;
  margin: 0 auto;
}
.feature-foundation-grid .foundation-card {
  min-height: 280px;
}
@media (max-width: 1024px) {
  .feature-foundation-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 640px) {
  .feature-foundation-grid {
    grid-template-columns: 1fr;
  }
  .feature-foundation-grid .foundation-card {
    min-height: 0;
  }
}

/* Features page: Security & host control section */
.feature-security-section {
  background: #fdfbf7;
  border-top: 1px solid #ebf0ee;
  border-bottom: 1px solid #ebf0ee;
}
.security-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  max-width: 1160px;
  margin: 36px auto 0;
}
.security-card {
  padding: clamp(20px, 2.5vw, 28px);
  background: var(--white);
  border: 1px solid #e2ece9;
  border-radius: 4px;
}
.security-card-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  margin-bottom: 16px;
  border-radius: 50%;
  background: #eef7f4;
  color: var(--accent-deep);
  font-size: 16px;
  font-weight: 700;
}
.security-card h3 {
  margin: 8px 0 12px;
  font-family: var(--heading-font, 'Playfair Display'), serif;
  font-size: 20px;
  font-weight: 400;
  color: var(--ink);
}
.security-card p:not(.eyebrow) {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.65;
}
.feature-security-boundary {
  max-width: 1160px;
  margin: 20px auto 0;
}
@media (max-width: 980px) {
  .security-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 640px) {
  .security-grid {
    grid-template-columns: 1fr;
  }
}

/* Homepage: Smart host protection / revenue security benefit */
.platform-security-benefit {
  background: #fbfbfd;
  border-top: 1px solid #edf1f0;
  border-bottom: 1px solid #edf1f0;
}
.security-benefit-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.security-benefit-grid .platform-card {
  min-height: 230px;
}
@media (max-width: 760px) {
  .security-benefit-grid {
    grid-template-columns: 1fr;
  }
}

/* Vector icons styling across features and pricing */
.feature-svg-icon {
  display: inline-block;
  vertical-align: middle;
  flex-shrink: 0;
}
.plan-feature-icon .feature-svg-icon {
  width: 15px;
  height: 15px;
}
.tab-icon .feature-svg-icon {
  width: 18px;
  height: 18px;
}
.security-card-icon .feature-svg-icon {
  width: 18px;
  height: 18px;
}

/* Legal terms and parent company styles */
.legal-terms-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  margin-top: 32px;
}
@media (max-width: 768px) {
  .legal-terms-grid {
    grid-template-columns: 1fr;
  }
}
.terms-parent-company {
  max-width: 960px;
  margin: 40px auto 0;
  padding: 28px 32px;
  background: #f7faf9;
  border: 1px solid #d8ebe5;
  border-left: 4px solid var(--accent);
}
.terms-parent-company h3 {
  margin: 6px 0 10px;
  font-family: var(--heading-font, 'Playfair Display'), serif;
  font-size: 24px;
  font-weight: 400;
  color: var(--ink);
}
.terms-parent-company p {
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.6;
}
.terms-parent-company a {
  color: var(--accent-deep);
  font-weight: 600;
  text-decoration: underline;
}

/* Features page: Consolidated comparison matrix */
.feature-matrix-section {
  background: var(--white);
}
.feature-matrix-table-wrap {
  max-width: 1100px;
  margin: 40px auto 0;
  overflow-x: auto;
  border: 1px solid #d4e2df;
  background: var(--white);
}
.feature-matrix-table {
  width: 100%;
  border-collapse: collapse;
  text-align: left;
  font-size: 13px;
}
.feature-matrix-table th,
.feature-matrix-table td {
  padding: 14px 20px;
  border-bottom: 1px solid #e1ebe8;
}
.matrix-feature-col {
  width: 50%;
  font-weight: 600;
  color: var(--ink);
}
.matrix-plan-col {
  width: 25%;
  text-align: center;
  vertical-align: top;
  background: #fbfdfc;
}
.matrix-plan-col.pro {
  background: #fbf9fd;
  border-left: 1px solid #e8dfef;
}
.matrix-plan-col.standard {
  border-left: 1px solid #e1ebe8;
}
.matrix-plan-tag {
  display: inline-block;
  padding: 4px 10px;
  margin-bottom: 6px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #2b9c88;
  background: #dff4ef;
  border-radius: 999px;
}
.matrix-plan-tag.pro-tag {
  color: #704da0;
  background: #eee6fb;
}
.matrix-plan-col strong {
  display: block;
  font-size: 15px;
  color: var(--ink);
}
.matrix-plan-col small {
  display: block;
  font-size: 11px;
  color: var(--muted);
}
.matrix-group-row th {
  padding-top: 20px;
  padding-bottom: 8px;
  background: #f2f7f5;
  color: var(--accent-deep);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.center-cell {
  text-align: center;
}
.highlight-cell {
  background: rgba(133, 89, 189, 0.03);
}
.matrix-check {
  display: inline-block;
  color: #2b9c88;
  font-weight: 700;
  font-size: 16px;
}
.matrix-check.pro-check {
  color: #704da0;
}
.text-muted {
  color: #a0b3b0;
}

/* Pricing page: Operating model recall switcher */
.operating-model-recall {
  max-width: 1100px;
  margin: 0 auto 50px;
}
.model-switcher-tabs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 28px;
}
.model-tab-btn {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 16px 20px;
  border: 1px solid #d4e2df;
  background: var(--white);
  cursor: pointer;
  text-align: left;
  transition: all .2s ease;
  border-radius: 4px;
}
.model-tab-btn:hover {
  border-color: var(--accent);
  background: #f9fcfb;
}
.model-tab-btn.active {
  border-color: var(--accent);
  background: #eef7f4;
  box-shadow: 0 2px 8px rgba(43, 156, 136, 0.12);
}
.model-tab-btn.tab-standard.active {
  border-color: #2b9c88;
  background: #eef7f4;
  box-shadow: 0 2px 8px rgba(43, 156, 136, 0.16);
}
.model-tab-btn.tab-pro.active {
  border-color: #704da0;
  background: #f6f0fc;
  box-shadow: 0 2px 8px rgba(112, 77, 160, 0.16);
}
.model-tab-btn.tab-custom.active {
  border-color: #d18228;
  background: #fff8eb;
  box-shadow: 0 2px 8px rgba(209, 130, 40, 0.16);
}
.model-tab-btn .tab-icon {
  font-size: 18px;
  margin-bottom: 6px;
}
.model-tab-btn strong {
  display: block;
  font-size: 13px;
  color: var(--ink);
  margin-bottom: 2px;
}
.model-tab-btn small {
  font-size: 11px;
  color: var(--muted);
}
.operating-models-section {
  padding-top: 10px;
  padding-bottom: 10px;
}
.operating-models-section .operating-model-recall {
  margin: 0 auto;
}
.model-switcher-card {
  margin-top: 14px;
  padding: 24px 28px;
  border: 1px solid #d4e2df;
  background: var(--white);
  border-radius: 6px;
  transition: background-color .3s ease, border-color .3s ease, box-shadow .3s ease;
}
.model-switcher-card.theme-standard {
  background: #f2faf6;
  border-color: #bfe3d5;
  box-shadow: 0 4px 20px rgba(43, 156, 136, 0.08);
}
.model-switcher-card.theme-pro {
  background: #faf6fe;
  border-color: #dfd2f3;
  box-shadow: 0 4px 20px rgba(112, 77, 160, 0.08);
}
.model-switcher-card.theme-custom {
  background: #fffbf2;
  border-color: #f3dcac;
  box-shadow: 0 4px 20px rgba(209, 130, 40, 0.08);
}
.explainer-header {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 12px;
  flex-wrap: wrap;
}
.model-badge {
  padding: 4px 10px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  border-radius: 999px;
}
.standard-badge {
  color: #1f7d6d;
  background: #daf3ed;
}
.pro-badge {
  color: #653b9c;
  background: #ebe0fb;
}
.custom-badge {
  color: #a46419;
  background: #feeed8;
}
.explainer-header h4 {
  margin: 0;
  font-family: var(--heading-font, 'Playfair Display'), serif;
  font-size: 19px;
  font-weight: 400;
  color: var(--ink);
}
.model-explainer p {
  margin: 0 0 16px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.65;
}
.model-benefit-bullets {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 20px;
  list-style: none;
  padding: 0;
  margin: 0;
}
.model-benefit-bullets li {
  font-size: 12px;
  color: var(--ink);
  line-height: 1.5;
}
.model-benefit-bullets li strong {
  color: var(--ink);
}
.pricing-card.model-matched {
  border-color: var(--accent) !important;
  box-shadow: 0 0 0 2px rgba(43, 156, 136, 0.25);
}
@media (max-width: 860px) {
  .model-switcher-tabs {
    grid-template-columns: 1fr;
  }
  .model-benefit-bullets {
    grid-template-columns: 1fr;
  }
}

/* Private property enquiry and owner Inbox surfaces. */
.property-enquiry-form { display: grid; gap: 14px; margin-top: 24px; padding-top: 22px; border-top: 1px solid var(--line); }
.property-enquiry-form .form-grid { gap: 12px; }
.property-enquiry-form .button { width: fit-content; }
.inbox-workspace { display: grid; gap: 24px; }
.inbox-toolbar { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding-bottom: 18px; border-bottom: 1px solid var(--line); }
.inbox-toolbar strong { display: block; margin-top: 8px; font-family: var(--heading-font, 'Playfair Display'), serif; font-size: 24px; font-weight: 400; }
.lead-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.lead-actions .button { width: auto; }
.lead-actions select { min-height: 40px; padding: 8px 10px; border: 1px solid var(--line); background: var(--white); color: var(--ink); }
.contact-visibility-settings { display: grid; gap: 12px; margin-top: 28px; padding: 22px; border: 1px solid var(--line); background: var(--paper); }
.contact-visibility-settings .admin-note { margin: 0; }
.settings-toggle { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; padding: 16px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); cursor: pointer; }
.settings-toggle-copy { display: grid; gap: 4px; }
.settings-toggle-copy strong { color: var(--ink); font-size: 14px; }
.settings-toggle-copy span, .settings-help { color: var(--muted); font-size: 12px; line-height: 1.6; }
.settings-toggle input[type='checkbox'] { flex: 0 0 auto; width: 20px; height: 20px; margin: 1px 0 0; accent-color: var(--accent-deep); }
.contact-visibility-settings > .eyebrow { margin-top: 12px; margin-bottom: 0; }
.contact-visibility-settings .settings-help { margin: -4px 0 2px; }
.calendar-setup-guide { display: grid; grid-template-columns: minmax(220px, .8fr) minmax(0, 1.6fr); gap: 22px; margin-top: 24px; padding: 22px 24px; border: 1px solid #c9e0da; background: #f3fbf8; }
.calendar-guide-intro h3 { margin: 4px 0 8px; color: var(--ink); font-family: var(--heading-font, 'Playfair Display'), serif; font-size: 26px; font-weight: 400; }
.calendar-guide-intro p:not(.eyebrow) { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.6; }
.calendar-guide-steps { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 18px; margin: 0; padding: 0; list-style: none; }
.calendar-guide-steps li { display: flex; align-items: flex-start; gap: 10px; color: var(--muted); font-size: 12px; line-height: 1.5; }
.calendar-guide-steps li > div { display: grid; gap: 3px; }
.calendar-guide-steps strong { color: var(--ink); font-size: 13px; font-weight: 600; }
.calendar-guide-icon { display: grid; width: 27px; height: 27px; flex: 0 0 auto; place-items: center; border-radius: 50%; background: var(--accent-deep); color: white; font-size: 12px; font-weight: 600; }
.calendar-guide-steps code { color: var(--ink); font-size: .9em; }
.calendar-provider-list { display: grid; grid-template-columns: 1fr; gap: 18px; margin-top: 24px; }
.calendar-source-card { min-width: 0; padding: 22px; border: 1px solid var(--line); background: var(--paper); }
.calendar-source-card.airbnb { border-top: 3px solid #4d9469; }
.calendar-source-card.booking { border-top: 3px solid #c39a38; }
.calendar-source-card.vrbo { border-top: 3px solid #3f80bd; }
.calendar-source-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
.calendar-source-heading h3 { margin: 0; font-family: var(--heading-font, 'Playfair Display'), serif; font-size: 26px; font-weight: 400; }
.calendar-source-status { flex: 0 0 auto; padding: 5px 8px; color: var(--muted); background: #e9f0ef; font-size: 10px; letter-spacing: .1em; text-transform: uppercase; }
.calendar-source-status-success { color: #3c714f; background: #e4f0df; }
.calendar-source-status-error { color: #9b4c4c; background: #fae7e3; }
.calendar-source-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 18px 0; }
.calendar-source-stats div { min-width: 0; }
.calendar-source-stats dt { color: var(--muted); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.calendar-source-stats dd { margin: 4px 0 0; color: var(--ink); font-size: 12px; line-height: 1.45; overflow-wrap: anywhere; }
.calendar-help-panel { margin-top: 24px; padding: 22px 24px; border: 1px solid #c9e0da; background: #f3fbf8; color: var(--muted); font-size: 14px; line-height: 1.6; }
.calendar-help-panel h3 { margin: 0 0 12px; color: var(--ink); font-family: var(--heading-font, 'Playfair Display'), serif; font-size: 26px; font-weight: 400; }
.calendar-help-steps { margin: 0; padding-left: 24px; }
.calendar-help-steps li { margin: 7px 0; }
.calendar-help-selector, .workspace-calendar-help-selector { margin-top: 24px; padding: 18px 20px; border: 1px solid #d4e4e0; background: #f8fcfb; }
.calendar-help-provider-buttons, .workspace-calendar-help-provider-buttons { display: flex; flex-wrap: wrap; gap: 10px; }
.calendar-help-provider-buttons .button, .workspace-calendar-help-provider-buttons .button { min-width: 150px; }
.calendar-provider-tabs, .workspace-calendar-provider-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 24px; }
.calendar-provider-tab, .workspace-calendar-provider-tab { min-width: 150px; min-height: 46px; padding: 10px 16px; border: 1px solid #ccdcd8; background: #f7fbfa; color: #4b696b; cursor: pointer; font-size: 11px; letter-spacing: .1em; text-transform: uppercase; }
.calendar-provider-tab:hover, .calendar-provider-tab.active, .workspace-calendar-provider-tab:hover, .workspace-calendar-provider-tab.active { border-color: #2b8588; background: #e5f4f0; color: #173b40; }
.calendar-provider-tab.active, .workspace-calendar-provider-tab.active { box-shadow: inset 0 -3px 0 #2b8588; }
@media (max-width: 600px) {
  .inbox-toolbar { flex-direction: column; }
  .inbox-toolbar .button { width: 100%; }
  .lead-actions .button { width: 100%; }
  .lead-actions select { width: 100%; }
  .settings-toggle { gap: 12px; }
  .settings-tabs, .calendar-setup-guide, .calendar-provider-list { grid-template-columns: 1fr; }
  .settings-tab { min-height: 62px; }
  .calendar-guide-steps { grid-template-columns: 1fr; }
  .calendar-source-stats { grid-template-columns: 1fr; }
}

/* Final comparison/process refinements. */
.comparison-table tbody th .comparison-row-icon { background: transparent !important; color: var(--accent-deep) !important; border-radius: 0; }
.process-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }

@media (max-width: 760px) {
  .process-grid { grid-template-columns: 1fr; }
  .comparison-table tbody th .comparison-row-icon { background: transparent !important; }
}

.footer-disclaimer { max-width: 520px !important; color: rgba(255,255,255,.68); }
.site-footer-meta { background: var(--white); color: var(--muted); }
.site-footer-meta-inner {
  width: min(calc(100% - (2 * var(--gutter))), var(--content-max));
  margin: 0 auto;
  padding: 14px 0 18px;
  border-top: 1px solid var(--line);
  font-size: 11px;
  letter-spacing: .04em;
}


/* Mobile comparison clarity: centered row titles and stronger separation. */

@media (max-width: 760px) {
  .comparison-table tbody tr {
    padding: 30px 0 34px;
  }
  .comparison-table tbody th {
    justify-content: center;
    flex-direction: column;
    gap: 10px;
    padding: 0 0 18px;
    text-align: center;
    font-size: 12px;
    letter-spacing: .15em;
  }
  .comparison-row-icon {
    width: 42px;
    height: 42px;
    border: 0;
    border-radius: 50%;
    background: #edf7f6;
    font-size: 18px;
  }
  .comparison-table tbody td {
    margin-top: 4px;
    padding: 15px 16px;
    text-align: center;
  }
  .comparison-table tbody td::before {
    margin-bottom: 8px;
    text-align: center;
  }
  .comparison-table tbody td > span:last-child {
    display: block;
    text-align: center;
  }
  .comparison-table tbody td:first-of-type {
    background: #fff7f5;
  }
  .comparison-table tbody td:last-of-type {
    background: #f2f8f7;
  }
}
/* Mobile hero and proof strip clarity. */

@media (max-width: 760px) {
  .hero-carousel-caption,
  .hero-carousel-controls { display: none; }
  .proof-strip { margin-bottom: clamp(52px, 14vw, 88px); }
  .proof-grid { border-inline: 0; }
  .proof-item { border-inline: 0; padding-inline: 20px; text-align: center; }
  .proof-item strong,
  .proof-item span { text-align: center; }
}
/* Airbnb comparison copy contrast. */
.comparison-table tbody td[data-label="Airbnb / marketplace"] {
  color: var(--ink) !important;
}
/* Features panel rhythm and desktop hierarchy. */
.feature-operations-detail .operation-panel { display: flex; flex-direction: column; }
.feature-operations-detail .operation-panel > .truth-note { margin-top: auto; }
.feature-operations-detail .seo-points { margin-bottom: 24px; }
@media (min-width: 761px) {
  .feature-operations-detail .operation-panel h2 { max-width: 16ch; font-size: clamp(30px, 2.7vw, 42px); }
  .feature-operations-detail .inbox-flow { justify-content: center; text-align: center; }
  .feature-operations-detail .sync-source-list { justify-content: center; }
  .feature-operations-detail .seo-points { max-width: 420px; margin-inline: auto; }
  .benefit-box h3 { font-size: clamp(22px, 2.1vw, 30px); line-height: 1.08; }
}
/* Menu sizing and touch spacing. */
.nav-links {
  gap: clamp(18px, 3vw, 42px);
  font-size: 13px;
  letter-spacing: .12em;
}
.nav-links a:not(.button) {
  min-height: 44px;
  padding: 10px 6px;
}
.nav-links .button {
  min-height: 50px;
  padding: 15px 24px;
  font-size: 12px;
}

@media (max-width: 760px) {
  .nav-toggle {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    font-size: 28px;
  }
  .nav-links {
    top: 68px;
    gap: 8px;
    padding: 20px;
  }
  .nav-links a:not(.button) {
    min-height: 48px;
    padding: 12px 14px;
    font-size: 14px;
    letter-spacing: .1em;
  }
  .nav-links .button {
    min-height: 50px;
    padding: 15px 18px;
    font-size: 12px;
  }
}
/* Existing account link in Getting Started. */
.enquiry-account-link {
  margin-top: 28px;
  padding-top: 22px;
  border-top: 1px solid rgba(255,255,255,.18);
}
.enquiry-account-link p {
  margin: 0 0 12px;
  color: rgba(255,255,255,.68);
  font-size: 12px;
}
.enquiry-account-link .button {
  width: fit-content;
}

@media (max-width: 760px) {
  .enquiry-account-link .button {
    width: 100%;
  }
}
/* Phase 1 platform admin shell. */
.platform-admin-v2 { min-height: 100vh; background: #f5f7f7; color: var(--ink, #233337); }
.platform-sidebar { position: fixed; inset: 0 auto 0 0; z-index: 20; display: flex; width: 248px; flex-direction: column; padding: 26px 18px 20px; background: #10282d; color: #f7fbfa; overflow-y: auto; }
.platform-sidebar-brand { display: grid; align-items: start; gap: 17px; padding: 0 10px 28px; border-bottom: 1px solid rgba(255,255,255,.14); }
.platform-sidebar-brand a { display: block; width: 138px; }
.platform-sidebar-brand .brand-logo { display: block; width: 100%; height: auto; }
.platform-sidebar-brand > span { color: #8bd4d2; font-size: 10px; letter-spacing: .18em; text-transform: uppercase; }
.platform-nav { display: grid; gap: 10px; padding: 18px 0; }
.platform-nav-group { display: grid; gap: 2px; }
.platform-nav-group-title { padding: 6px 12px 3px; font-size: 10px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #78c4c1; }
.platform-nav-link { display: flex; min-height: 40px; align-items: center; gap: 10px; padding: 9px 12px; border: 1px solid transparent; color: rgba(255,255,255,.72); font-size: 13px; letter-spacing: .04em; text-decoration: none; border-radius: 6px; }
.platform-nav-link span.platform-nav-icon, .platform-nav-link > span:first-child { display: grid; width: 28px; height: 28px; flex: 0 0 auto; place-items: center; border: 1px solid rgba(126,213,210,.26); border-radius: 8px; background: rgba(126,213,210,.08); color: #8fe0dc; font-size: 14px; line-height: 1; text-align: center; }
.platform-nav-link-text { flex: 1 1 auto; color: inherit; width: auto !important; height: auto !important; border: 0 !important; background: transparent !important; text-align: left !important; display: inline !important; }
.platform-nav-badge-count { display: inline-flex !important; align-items: center !important; justify-content: center !important; min-width: 20px !important; height: 20px !important; padding: 0 6px !important; flex: 0 0 auto !important; border-radius: 9999px !important; background: rgba(126, 213, 210, 0.16) !important; border: 1px solid rgba(126, 213, 210, 0.35) !important; color: #8fe0dc !important; font-size: 11px !important; font-weight: 700 !important; letter-spacing: .02em !important; line-height: 1 !important; margin-left: auto !important; }
.platform-nav-badge-count.unread { background: rgba(183, 145, 225, 0.22) !important; border-color: rgba(183, 145, 225, 0.5) !important; color: #e4cbfc !important; }
.platform-nav-badge-count.attention { background: rgba(226, 183, 98, 0.22) !important; border-color: rgba(226, 183, 98, 0.5) !important; color: #f0c76a !important; }
.platform-nav-badge-check { display: inline-flex !important; align-items: center !important; justify-content: center !important; width: 18px !important; height: 18px !important; flex: 0 0 18px !important; border-radius: 50% !important; background: rgba(72, 199, 142, 0.22) !important; border: 1px solid rgba(72, 199, 142, 0.55) !important; color: #48c78e !important; font-size: 11px !important; font-weight: 800 !important; margin-left: auto !important; }
.platform-check-pill { display: inline-flex; align-items: center; justify-content: center; width: 16px; height: 16px; border-radius: 50%; background: #e6f7f2; border: 1px solid #7ed5d2; color: #166560; font-size: 10px; font-weight: 800; line-height: 1; vertical-align: middle; }
.platform-readiness-list { display: flex; flex-direction: column; background: #f8fafc; border: 1px solid #dce8e6; border-radius: 8px; padding: 6px 18px; margin: 18px 0; }
.platform-readiness-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 11px 0; border-bottom: 1px solid #e7f0ee; font-size: 13px; }
.platform-readiness-row:last-child { border-bottom: none; }
.platform-readiness-label { display: inline-flex; align-items: center; gap: 8px; color: #173b40; font-weight: 500; }
.platform-green-check { color: #15803d !important; font-weight: 800; font-size: 13px; line-height: 1; }
.platform-status-ready { display: inline-flex; align-items: center; gap: 6px; color: #166534; background: #ecfdf5; border: 1px solid #a7f3d0; padding: 3px 10px; border-radius: 9999px; font-size: 11px; font-weight: 700; letter-spacing: .02em; }
.platform-status-pending { display: inline-flex; align-items: center; gap: 6px; color: #9a3412; background: #fff7ed; border: 1px solid #fed7aa; padding: 3px 10px; border-radius: 9999px; font-size: 11px; font-weight: 700; letter-spacing: .02em; }
.platform-test-delivery-card { margin-top: 22px; padding-top: 20px; border-top: 1px solid #dce8e6; }
.admin-note-success { background: #ecfdf5; border-color: #a7f3d0; color: #166534; }
.platform-nav-link:hover, .platform-nav-link.active { border-color: rgba(126,213,210,.35); background: rgba(126,213,210,.12); color: white; }
.platform-nav-link.tone-gold span { border-color: rgba(226,183,98,.42); background: rgba(226,183,98,.12); color: #f0c76a; }
.platform-nav-link.tone-purple span { border-color: rgba(183,145,225,.42); background: rgba(183,145,225,.12); color: #d3b0f2; }
.platform-nav-link.tone-gold:hover, .platform-nav-link.tone-gold.active { border-color: rgba(226,183,98,.5); background: rgba(226,183,98,.14); }
.platform-nav-link.tone-purple:hover, .platform-nav-link.tone-purple.active { border-color: rgba(183,145,225,.5); background: rgba(183,145,225,.14); }
.platform-new-client { display: inline-flex; align-items: center; gap: 8px; width: 100%; justify-content: center; margin-top: 2px; }
.platform-sidebar-footer { display: grid; gap: 16px; margin-top: auto; padding: 18px 10px 0; border-top: 1px solid rgba(255,255,255,.14); }
.platform-sidebar-footer > a { display: inline-flex; align-items: center; gap: 8px; width: fit-content; color: #9ed9d7; font-size: 12px; text-decoration: none; }
.platform-user { display: flex; min-width: 0; align-items: center; gap: 10px; }
.platform-user-avatar { display: grid; width: 34px; height: 34px; flex: 0 0 auto; place-items: center; border-radius: 50%; background: #7ed5d2; color: #10282d; font-weight: 700; }
.platform-user span:last-child { display: grid; min-width: 0; gap: 3px; }
.platform-user strong, .platform-user small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.platform-user strong { font-size: 12px; }
.platform-user small { color: rgba(255,255,255,.6); font-size: 10px; }
.platform-signout { display: inline-flex; align-items: center; gap: 8px; width: fit-content; border: 0; background: transparent; color: rgba(255,255,255,.65); cursor: pointer; font: inherit; font-size: 12px; padding: 0; }
.platform-admin-main { width: min(calc(100% - 248px), 1500px); min-height: 100vh; margin-right: auto; margin-left: 248px; padding: 32px clamp(24px, 5vw, 72px) 72px; }
.platform-topbar { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 40px; padding-bottom: 22px; border-bottom: 1px solid #d8e1e0; }
.platform-sidebar-brand { align-items: center; min-height: 30px; }
.platform-topbar-left { display: flex; align-items: end; gap: 28px; min-width: 0; }
.platform-topbar-brand { display: inline-flex; align-items: end; gap: 8px; width: 148px; color: #173b40; text-decoration: none; }
.platform-topbar-brand .brand-logo { display: block; width: 148px; height: auto; }
.platform-topbar-brand span { color: #3c8587; font-size: 10px; letter-spacing: .18em; text-transform: uppercase; }
.platform-topbar h1 { display: flex; align-items: center; gap: 12px; margin: 0; font-size: clamp(28px, 3vw, 42px); }
.platform-topbar-action { display: inline-flex; min-height: 44px; align-items: center; gap: 8px; padding: 13px 18px; background: #70c9ca; color: #10282d; font-size: 12px; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.platform-section-intro { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 26px; }
.platform-section-intro h2 { max-width: 680px; margin: 0; font-size: clamp(25px, 3vw, 40px); }
.platform-section-intro p:not(.eyebrow) { max-width: 720px; margin: 10px 0 0; color: #5c7072; }
.platform-card { padding: 26px; border: 1px solid #d5dfde; background: #fff; }
.platform-stat-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 24px; }
.platform-stat { position: relative; display: grid; gap: 8px; min-height: 112px; padding: 20px; border: 1px solid #d5dfde; background: #fff; }
.platform-stat strong { color: #183f45; font-family: Georgia, serif; font-size: 36px; font-weight: 400; }
.platform-stat-icon { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 8px; background: #e8f5f2; color: #2a9fa5; font-size: 14px; }
.platform-title-icon { display: inline-grid; width: 34px; height: 34px; place-items: center; border: 1px solid #b9d9d6; border-radius: 9px; background: #e8f5f2; color: #2a9fa5; font-size: 17px; }
.platform-button-icon, .platform-footer-icon { display: inline-grid; place-items: center; font-size: 16px; line-height: 1; }
.platform-footer-icon { width: 16px; color: #7ed5d2; }
.platform-stat > span:not(.platform-stat-icon), .platform-muted { color: #607577; font-size: 13px; }
.platform-billing-note { margin-bottom: 18px; background: #f5fbfa; }
.platform-billing-note p { max-width: 920px; }
.platform-billing-table tbody tr { cursor: pointer; }
.platform-billing-table td small { max-width: 240px; }
.platform-billing-table .platform-badge { white-space: nowrap; }
.platform-manual-payment { min-width: 210px; }
.platform-manual-payment summary { color: #277f82; cursor: pointer; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.platform-manual-payment > p { margin: 10px 0; color: #607577; font-size: 11px; line-height: 1.45; }
.platform-manual-payment .form-field { display: grid; gap: 4px; margin-top: 9px; }
.platform-manual-payment .form-field span { color: #607577; font-size: 10px; letter-spacing: .06em; text-transform: uppercase; }
.platform-manual-payment .form-field input { min-width: 0; width: 100%; padding: 7px 8px; border: 1px solid #cbdcda; background: #fff; color: #173b40; font: inherit; font-size: 12px; }
.platform-manual-payment .admin-actions { margin-top: 10px; gap: 6px; }
.platform-manual-payment .button { min-height: 32px; padding: 7px 9px; font-size: 10px; }
.platform-manual-payment-status { color: #287f72 !important; }
.platform-badge.billing-status-trialing { background: #eaf0ff; color: #4567a1; }
.platform-badge.billing-status-past-due, .platform-badge.billing-status-unpaid, .platform-badge.billing-status-error { background: #fff0e7; color: #a25b32; }
.platform-badge.billing-status-checkout-pending { background: #fff8df; color: #8d6b17; }
.platform-badge.billing-status-canceled, .platform-badge.billing-status-not-started { background: #eef1f1; color: #607577; }
.billing-error { color: #a25b32 !important; }
.platform-dashboard-columns, .platform-client-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-bottom: 18px; }
.platform-card h3 { margin: 4px 0 12px; font-size: 22px; }
.platform-attention-list { display: grid; gap: 8px; }
.platform-attention { display: grid; gap: 3px; width: 100%; padding: 12px; border: 1px solid #d5dfde; background: #f7fbfa; color: inherit; cursor: pointer; text-align: left; }
.platform-attention:hover { border-color: #64c5c5; }
.platform-attention span { color: #2a9fa5; font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }
.platform-attention small, .platform-activity small { color: #718284; }
.platform-activity { display: grid; gap: 4px; padding: 12px 0; border-bottom: 1px solid #e3e9e8; font-size: 13px; }
.platform-activity:last-child { border-bottom: 0; }
.platform-activity span { color: #607577; }
.platform-toolbar { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 18px; }
.platform-toolbar input { min-width: min(420px, 100%); flex: 1; }
.platform-toolbar select { min-width: 160px; }
.platform-table-wrap { overflow-x: auto; border: 1px solid #d5dfde; background: white; }
.platform-table { width: 100%; border-collapse: collapse; text-align: left; }
.platform-table th, .platform-table td { padding: 16px; border-bottom: 1px solid #e5ebea; font-size: 13px; vertical-align: top; }
.platform-table th { color: #557073; font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }
.platform-table tbody tr { cursor: pointer; }
.platform-table tbody tr:hover { background: #f4fbfa; }
.platform-table td strong, .platform-table td small { display: block; }
.platform-table td small { margin-top: 4px; color: #718284; }
.platform-table-loading td { padding: 34px 18px; color: #5f7779; text-align: center; }
.platform-table-spinner { display: inline-block; width: 15px; height: 15px; margin-right: 9px; border: 2px solid #c7d9d7; border-top-color: #3aa5a3; border-radius: 50%; vertical-align: -3px; animation: platform-table-spin .75s linear infinite; }
@keyframes platform-table-spin { to { transform: rotate(360deg); } }
.platform-client-row { cursor: pointer; }
.platform-client-row.is-demo { background: #fffaf1; box-shadow: inset 3px 0 0 #d6a840; }
.platform-client-row.is-demo:hover { background: #fff5df; }
.platform-client-kind { display: inline-flex; width: fit-content; margin-top: 7px; padding: 4px 7px; border: 1px solid #d6a840; color: #8f681c; font-size: 9px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.platform-client-kind.demo { background: #fff1cf; }
.platform-client-open-button { white-space: nowrap; }
.platform-client-demo-action { border-color: #8e6bb3; color: #71489a; }
.platform-client-demo-action:hover, .platform-client-demo-action:focus-visible { border-color: #71489a; background: #f4edfb; color: #57357b; }
.platform-badge { display: inline-block; padding: 5px 8px; background: #e8f5f2; color: #257477; font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.platform-badge.suspended, .platform-badge.warning { background: #fff0e7; color: #a25b32; }
.platform-badge.active { background: #e5f6ed; color: #277650; }
.platform-badge.free { background: #eef1f1; color: #607577; }
.platform-empty { padding: 32px; color: #607577; text-align: center; }
.platform-form { margin-bottom: 18px; }
.platform-result { margin-top: 18px; }
.platform-inline-form { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 14px; }
.platform-inline-form > input, .platform-inline-form > select { min-width: 130px; min-height: 44px; flex: 1 1 220px; max-width: 420px; }
.platform-inline-form > .button { min-height: 44px; }
.platform-form .form-grid { max-width: 1080px; }
.platform-form .form-field input, .platform-form .form-field textarea, .platform-form .form-field select { width: min(100%, 560px); }
.platform-form .form-field.full input, .platform-form .form-field.full textarea, .platform-form .form-field.full select { width: min(100%, 900px); }
.platform-form .color-field input[type='color'] { width: 48px; flex: 0 0 48px; }
.platform-toolbar input { max-width: 560px; }
.platform-danger-zone > input { max-width: 720px; }
.platform-list-row { display: flex; justify-content: space-between; gap: 18px; padding: 12px 0; border-bottom: 1px solid #e5ebea; font-size: 13px; }
.platform-list-row span { color: #607577; text-align: right; }
.platform-client-heading { display: flex; align-items: start; justify-content: space-between; gap: 20px; margin-bottom: 24px; }
.platform-client-heading h2 { margin: 0; font-size: clamp(28px, 4vw, 48px); }
.platform-client-heading p:not(.eyebrow) { color: #607577; }
.platform-danger-zone { border-color: #e0b9a5; }
.platform-danger-zone > input { width: 100%; margin-top: 12px; }
.template-upload { margin-bottom: 18px; }
.upload-drop { display: grid; gap: 8px; padding: 28px; border: 1px dashed #80c9c6; background: #f1fbf9; color: #286b6d; cursor: pointer; text-align: center; }
.upload-drop small { color: #607577; }
.upload-drop input { margin: 8px auto 0; }
.platform-template-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.template-guide { margin-bottom: 18px; background: #f5fbfa; }
.template-guide h3 { margin-bottom: 8px; }
.template-guide p { max-width: 820px; color: #607577; }
.template-guide ol { display: grid; gap: 8px; max-width: 820px; margin: 16px 0 0; padding-left: 22px; color: #456467; font-size: 13px; line-height: 1.55; }
.template-guide strong { color: #173b40; }
.platform-drawer-toggle, .platform-overlay { display: none; }
.platform-admin-loading { display: grid; min-height: 100vh; place-items: center; padding: 24px; background: #f5f7f7; color: #203437; text-align: center; }
.platform-admin-loading .login-card { max-width: 480px; padding: 36px; border: 1px solid #d5dfde; background: white; }

.platform-admin-v2 .text-link,
.admin-shell .text-link,
.client-workspace .text-link,
.account-dashboard-shell .text-link { color: #237c80; }
.platform-admin-v2 .text-link span,
.admin-shell .text-link span,
.client-workspace .text-link span,
.account-dashboard-shell .text-link span { color: #237c80; }
.platform-admin-v2 .text-link:hover,
.platform-admin-v2 .text-link:focus-visible,
.admin-shell .text-link:hover,
.admin-shell .text-link:focus-visible,
.client-workspace .text-link:hover,
.client-workspace .text-link:focus-visible,
.account-dashboard-shell .text-link:hover,
.account-dashboard-shell .text-link:focus-visible { color: #155b60; }

.platform-client-nav { display: flex; flex-wrap: wrap; gap: 0; margin: -8px 0 18px; border: 1px solid #d5dfde; background: #fbfdfc; }
.platform-client-nav a { display: inline-flex; min-height: 38px; align-items: center; gap: 8px; padding: 8px 12px; border: 0; border-right: 1px solid #d5dfde; border-bottom: 2px solid transparent; background: transparent; color: #466669; font-size: 11px; letter-spacing: .06em; text-decoration: none; text-transform: uppercase; }
.platform-client-nav a span { color: #2a9fa5; font-size: 15px; }
.platform-client-nav a:last-child { border-right: 0; }
.platform-client-nav a:hover { background: #f0faf8; color: #173b40; }
.platform-client-nav a.active { border-bottom-color: #55bdbd; background: #eaf8f5; color: #173b40; }
.platform-admin-v2 .platform-client-grid { gap: 12px; margin-bottom: 12px; }
.platform-admin-v2 .platform-client-grid > .platform-card, .platform-admin-v2 .client-operations-card { padding: 20px; }
.platform-admin-v2 .platform-client-grid > .platform-card h3, .platform-admin-v2 .client-operations-card h3 { font-size: 19px; }
.client-operations-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.client-operations-card { margin-bottom: 12px; }
.client-operations-grid > .client-operations-card:first-child { grid-row: span 2; }
.client-operations-card .section-heading { margin-bottom: 18px; }
.client-onboarding-list { display: grid; gap: 8px; }
.client-onboarding-row { display: flex; min-height: 56px; align-items: center; gap: 12px; padding: 11px 13px; border: 1px solid #dce6e4; background: #fbfdfc; cursor: pointer; }
.client-onboarding-row.complete { border-color: #a8d9ca; background: #eef9f5; }
.client-onboarding-row input { width: 18px; height: 18px; accent-color: #3aa5a3; }
.client-onboarding-row span { display: grid; gap: 4px; }
.client-onboarding-row small, .client-invitation-list small, .client-domain-row small { color: #6d8082; }
.client-invitation-list { display: grid; gap: 6px; margin-top: 18px; }
.client-domain-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 15px 0; border-bottom: 1px solid #e5ebea; }
.client-domain-row > div:first-child { display: grid; gap: 4px; }
.client-domain-row .admin-actions { align-items: center; }
.client-operations-card .platform-list-row { align-items: center; }
.client-operations-card .platform-list-row > span { display: grid; gap: 4px; text-align: left; }
.client-operations-card .platform-list-row .admin-actions { flex-wrap: wrap; justify-content: end; }
.client-activity-card { max-width: 1100px; }
.client-activity-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; }
.client-activity-heading h3 { margin-bottom: 5px; }
.client-activity-heading p { margin: 0; }
.client-activity-filter { display: grid; min-width: min(260px, 100%); gap: 6px; }
.client-activity-filter label { color: #557073; font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }
.client-activity-filter select { min-height: 40px; padding: 8px 10px; border: 1px solid #d5dfde; background: #fff; color: #173b40; }
.client-activity-list { margin-top: 16px; }
.platform-pagination { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 16px; padding-top: 14px; border-top: 1px solid #e3e9e8; color: #607577; font-size: 12px; }
.platform-pagination > div { display: flex; gap: 8px; }
.platform-pagination .button { min-height: 36px; padding: 8px 12px; }
.platform-pagination .button:disabled { cursor: not-allowed; opacity: .45; }
.domain-operations-panel { display: grid; gap: 18px; margin-top: 16px; padding: 18px; border: 1px solid #cfe3df; background: #fbfefd; }
.domain-identity-heading { display: flex; align-items: start; justify-content: space-between; gap: 18px; }
.domain-identity-heading h3 { margin-bottom: 7px; }
.domain-identity-heading p { margin: 4px 0 0; }
.domain-identity-heading a { color: #237c80; }
.domain-status-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.domain-status-grid > div { display: grid; gap: 5px; padding: 11px; border: 1px solid #e0ebe8; background: #fff; }
.domain-status-grid small, .domain-record-row small { color: #6d8082; font-size: 10px; letter-spacing: .06em; text-transform: uppercase; }
.domain-status-grid strong { color: #173b40; font-size: 12px; line-height: 1.35; }
.domain-timeline { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 5px; margin: 0; padding: 0; list-style: none; }
.domain-timeline-step { display: grid; min-height: 74px; gap: 6px; align-content: start; padding: 10px; border-top: 3px solid #dfe9e7; background: #f4f8f7; color: #6d8082; font-size: 11px; line-height: 1.3; }
.domain-timeline-step span { color: #98aaa9; font-size: 16px; line-height: 1; }
.domain-timeline-step.complete { border-top-color: #55b994; background: #edf9f4; color: #285c4b; }
.domain-timeline-step.complete span { color: #198a69; }
.domain-timeline-step.current { border-top-color: #42aeb3; background: #edf9f9; color: #155b60; }
.domain-timeline-step.current span { color: #2a9fa5; }
.domain-record-table { display: grid; overflow-x: auto; border: 1px solid #dce7e4; background: #fff; }
.domain-record-header, .domain-record-row { display: grid; min-width: 780px; grid-template-columns: .6fr 1.5fr 2fr .9fr 2fr .7fr; gap: 10px; align-items: start; padding: 11px 12px; border-bottom: 1px solid #e7eeec; color: #36575a; font-size: 12px; line-height: 1.45; }
.domain-record-header { color: #5d7778; font-size: 10px; letter-spacing: .1em; text-transform: uppercase; }
.domain-record-row:last-child { border-bottom: 0; }
.domain-record-value { display: grid; gap: 5px; overflow-wrap: anywhere; }
.domain-record-value .text-link { width: max-content; padding: 0; font-size: 10px; }
.domain-admin-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.domain-message-preview { width: 100%; min-height: 190px; box-sizing: border-box; padding: 12px; border: 1px solid #d5dfde; background: #fff; color: #36575a; font: 12px/1.55 ui-monospace, SFMono-Regular, Consolas, monospace; resize: vertical; }
.domain-admin-next-steps { padding: 14px; border-left: 3px solid #4bb3ae; background: #f0faf8; color: #36575a; font-size: 12px; line-height: 1.55; }
.domain-admin-next-steps ol { margin: 7px 0 0; padding-left: 20px; }
.workspace-domain-instructions { display: grid; gap: 12px; }
.workspace-settings-hub { display: grid; gap: 24px; }
.workspace-settings-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.workspace-settings-tab { display: grid; gap: 5px; padding: 17px 19px; border: 1px solid #d2e1de; background: #fbfdfc; color: #456367; text-decoration: none; }
.workspace-settings-tab:hover, .workspace-settings-tab.active { border-color: #55bdbd; background: #e4f1ee; color: #173a3e; }
.workspace-settings-tab strong { font-size: 14px; }
.workspace-settings-tab span { color: #6f8586; font-size: 11px; }
.workspace-settings-tab.active span { color: #456367; }
.workspace-general-settings { margin: 0; }
.workspace-general-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.workspace-general-card { display: grid; gap: 12px; padding: 24px; border: 1px solid #d2e1de; background: #fbfdfc; }
.workspace-general-card .eyebrow { margin: 0; }
.workspace-general-card h3 { margin: 0; color: #173b40; font-family: var(--heading-font, Georgia), serif; font-size: 26px; font-weight: 400; }
.workspace-general-card p { margin: 0; color: #456367; line-height: 1.6; }
.workspace-general-card dl { display: grid; gap: 9px; margin: 0; }
.workspace-general-card dl div { display: flex; justify-content: space-between; gap: 16px; padding-top: 9px; border-top: 1px solid #dfe9e7; }
.workspace-general-card dt { color: #6f8586; font-size: 12px; }
.workspace-general-card dd { margin: 0; color: #173b40; font-size: 12px; font-weight: 600; text-align: right; }
.workspace-general-option { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 18px 24px; align-items: center; margin-top: 20px; padding: 22px 24px; border: 1px solid #d2e1de; background: #fbfdfc; }
.workspace-general-option > div { display: grid; gap: 7px; }
.workspace-general-option .eyebrow, .workspace-general-option h3, .workspace-general-option p { margin: 0; }
.workspace-general-option h3 { color: #173b40; font-family: var(--heading-font, Georgia), serif; font-size: 24px; font-weight: 400; }
.workspace-general-option p:not(.eyebrow) { color: #456367; font-size: 13px; line-height: 1.55; }
.workspace-general-option .settings-toggle { grid-column: 2; grid-row: 1; min-width: 260px; }
.workspace-general-option > .button { grid-column: 1 / -1; justify-self: start; }
.workspace-domain-quick-actions { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 16px; padding: 14px 16px; border: 1px solid #cfe3df; background: #f0faf8; color: #36575a; font-size: 12px; }
.workspace-domain-quick-actions span { display: block; }
.workspace-domain-quick-actions strong { color: #173b40; }
.workspace-domain-quick-actions .button { flex: 0 0 auto; }
.workspace-domain-customer-summary { display: grid; gap: 12px; margin-top: 20px; padding: 22px; border: 1px solid #cfe3df; background: #f0faf8; }
.workspace-domain-customer-summary h4 { margin: 0; font-size: 1.35rem; color: var(--ink); }
.workspace-domain-customer-summary p { margin: 0; }
.workspace-contact-card { max-width: 920px; }
.workspace-property-selector { max-width: 460px; margin-bottom: 20px; }
.direct-contact-after-form { display: grid; gap: 8px; margin-top: 24px; padding-top: 18px; border-top: 1px solid var(--line); }
.direct-contact-after-form .contact-links { margin-top: 0; }
.domain-live-links-card { margin-top: 16px; }
.domain-live-links { display: flex; flex-wrap: wrap; gap: 8px; }
.domain-live-links a { text-decoration: none; }
.workspace-domain-instructions h4 { margin: 0; color: #173b40; font-size: 17px; }
.workspace-domain-instructions p { color: #456467; }
.workspace-domain-warnings { padding: 14px; border: 1px solid #eed8b7; background: #fff8ed; color: #6c5639; font-size: 12px; line-height: 1.5; }
.workspace-domain-warnings ul { margin: 7px 0 0; padding-left: 20px; }
.domain-provider-guide { padding: 13px 14px; border: 1px solid #cfe1df; background: #f4fbfa; color: #36575a; font-size: 12px; line-height: 1.5; }
.domain-provider-guide summary { color: #176f73; cursor: pointer; font-weight: 700; }
.domain-provider-guide ol { margin: 9px 0 8px; padding-left: 20px; }
.domain-provider-guide p { margin: 0; }
.domain-provider-guide a { color: #176f73; }
.workspace-domain-settings .domain-identity-heading { margin-bottom: 2px; }
.workspace-domain-settings .domain-record-header, .workspace-domain-settings .domain-record-row { min-width: 760px; grid-template-columns: .7fr 1.4fr 2fr 1fr 2fr; }
.workspace-domain-settings .domain-record-table { margin-top: 2px; }
.workspace-domain-primary-actions { display: grid; justify-items: end; gap: 10px; flex: 0 0 auto; }
.workspace-domain-config { margin-top: 18px; border: 1px solid #cfe3df; background: #fbfefd; }
.workspace-domain-config > summary { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 15px 17px; color: #173b40; cursor: pointer; list-style: none; }
.workspace-domain-config > summary::-webkit-details-marker { display: none; }
.workspace-domain-config > summary::after { content: '+'; order: 2; color: #237c80; font-size: 22px; line-height: 1; }
.workspace-domain-config[open] > summary::after { content: '−'; }
.workspace-domain-config > summary > span:first-child { display: grid; gap: 4px; }
.workspace-domain-config > summary small { color: #6d8082; font-size: 12px; }
.workspace-domain-config-toggle { margin-left: auto; color: #237c80; font-size: 12px; font-weight: 650; }
.workspace-domain-config[open] .workspace-domain-config-toggle { display: none; }
.workspace-domain-config-content { display: grid; gap: 12px; padding: 0 17px 17px; }
.workspace-domain-config-content > .eyebrow { margin: 4px 0 0; }
@media (max-width: 720px) {
  .workspace-domain-primary-actions { justify-items: start; }
  .workspace-domain-config > summary { align-items: start; }
  .workspace-domain-config-toggle { display: none; }
}
@media (max-width: 720px) {
  .workspace-domain-quick-actions { align-items: stretch; flex-direction: column; }
  .workspace-domain-quick-actions .button { width: max-content; }
  .workspace-general-option { grid-template-columns: 1fr; }
  .workspace-general-option .settings-toggle { grid-column: 1; grid-row: auto; min-width: 0; }
}
/* Public media carousel and Markdown details. */
.property-carousel { width: 100%; }
.property-carousel-main { position: relative; z-index: 1; overflow: hidden; aspect-ratio: 16 / 9; background: #dfe8e7; touch-action: pan-y; }
.property-carousel-image { display: block; width: 100%; height: 100%; object-fit: cover; pointer-events: none; }
.property-carousel-control { position: absolute; top: 50%; z-index: 5; display: grid; width: 44px; height: 44px; place-items: center; transform: translateY(-50%); border: 1px solid rgba(255,255,255,.65); background: rgba(16,40,45,.68); color: white; cursor: pointer; font-size: 20px; pointer-events: auto; }
.property-carousel-control.previous { left: 16px; }
.property-carousel-control.next { right: 16px; }
.property-carousel-thumbs { display: flex; gap: 8px; overflow-x: auto; padding: 10px 0 0; }
.property-carousel-thumb { position: relative; z-index: 5; width: 72px; height: 52px; flex: 0 0 auto; overflow: hidden; padding: 0; border: 2px solid transparent; background: #dfe8e7; cursor: pointer; pointer-events: auto; }
.property-carousel-thumb.active { border-color: #49aeb1; }
.property-carousel-thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
.media-feature-button { padding: 6px 9px; border: 1px solid #b8cecb; background: #fff; color: #557174; font-size: 11px; cursor: pointer; }
.media-feature-button.active { border-color: #d39b36; background: #fff7e6; color: #8a5d12; }
.media-item.featured { border-color: #d9b66a; box-shadow: inset 3px 0 0 #d39b36; }
.gallery-display-limit { display: flex; align-items: end; flex-wrap: wrap; gap: 12px; margin-bottom: 18px; padding: 16px; border: 1px solid #d5e1df; background: #f7faf9; }
.gallery-display-limit .form-field { min-width: 190px; }
.gallery-display-limit .admin-note { flex-basis: 100%; margin: 0; }
.property-carousel-empty { min-height: 180px; background: #e9efee; }
.hero > .property-carousel { position: absolute; inset: 0; z-index: 0; }
.hero > .property-carousel .property-carousel-main { height: 100%; aspect-ratio: auto; }
.hero > .property-carousel .property-carousel-thumbs { position: absolute; right: 22px; bottom: 20px; z-index: 3; max-width: min(55vw, 620px); }
.hero > .property-carousel .property-carousel-thumb { width: 58px; height: 42px; }
.hero > .property-carousel .property-carousel-control { z-index: 3; }
.hero > .hero-content { position: relative; z-index: 4; pointer-events: none; }
.hero > .hero-content a, .hero > .hero-content button, .hero > .hero-content input, .hero > .hero-content textarea { pointer-events: auto; }
.markdown-content { max-width: 760px; margin: 32px auto 0; color: #4e6568; }
.markdown-content h1, .markdown-content h2, .markdown-content h3, .markdown-content h4 { color: var(--ink, #233337); }
.markdown-content h1 { font-size: 2rem; }
.markdown-content p, .markdown-content ul, .markdown-content ol, .markdown-content blockquote { margin: 0 0 18px; }
.markdown-content li { margin: 6px 0; }
.markdown-content blockquote { padding: 14px 18px; border-left: 3px solid #5ac0c1; background: #f1f8f7; }
.markdown-content a { color: #237c80; }

@media (max-width: 900px) {
  .platform-sidebar { width: 232px; }
  .platform-admin-main { width: calc(100% - 232px); margin-left: 232px; padding-inline: 24px; }
  .platform-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .platform-client-nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; margin-top: -4px; }
  .platform-client-nav a { justify-content: center; padding-inline: 8px; text-align: center; }
  .client-operations-grid { grid-template-columns: 1fr; gap: 0; }
  .client-operations-grid > .client-operations-card:first-child { grid-row: auto; }
  .client-domain-row { align-items: stretch; flex-direction: column; }
  .client-domain-row .admin-actions, .client-operations-card .platform-list-row { align-items: stretch; flex-direction: column; }
  .client-operations-card .platform-list-row span { text-align: left; }
  .client-operations-card .platform-list-row .admin-actions { justify-content: start; }
  .domain-identity-heading { flex-direction: column; }
  .domain-status-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .domain-timeline { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}@media (max-width: 760px) {
  .platform-drawer-toggle { position: fixed; top: 14px; left: 14px; z-index: 30; display: grid; width: 46px; height: 46px; place-items: center; border: 1px solid #c7d9d7; background: white; color: #173b40; cursor: pointer; font-size: 22px; }
  .platform-overlay { position: fixed; inset: 0; z-index: 21; display: block; border: 0; background: rgba(10, 27, 30, .5); }
  .platform-sidebar { transform: translateX(-105%); transition: transform .2s ease; }
  .platform-sidebar.open { transform: translateX(0); z-index: 25; }
  .platform-admin-main { width: 100%; margin-left: 0; padding: 84px 16px 48px; }
  .platform-topbar { align-items: start; margin-bottom: 28px; }
  .platform-topbar-left { align-items: start; gap: 16px; }
  .platform-topbar-brand, .platform-topbar-brand .brand-logo { width: 112px; }
  .platform-topbar h1 { font-size: 30px; }
  .platform-topbar-action { display: none; }
  .platform-section-intro, .platform-dashboard-columns, .platform-client-grid, .platform-template-grid { display: grid; grid-template-columns: 1fr; }
  .platform-section-intro { align-items: start; }
  .platform-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .platform-stat { min-height: 96px; padding: 14px; }
  .platform-stat strong { font-size: 28px; }
  .platform-card { padding: 18px; }
  .ai-provider-choice { align-items: stretch; flex-direction: column; }
  .ai-provider-choice .button { width: 100%; }
  .platform-table th, .platform-table td { padding: 12px 10px; }
  .platform-toolbar { display: grid; }
  .platform-toolbar input, .platform-toolbar select { width: 100%; min-width: 0; }
  .platform-inline-form { align-items: stretch; }
  .platform-inline-form > input, .platform-inline-form > select, .platform-inline-form > button { width: 100%; max-width: none; }
  .platform-client-heading { display: grid; }
  .platform-admin-v2 .platform-client-grid > .platform-card, .platform-admin-v2 .client-operations-card { padding: 18px; }
  .client-activity-heading { align-items: stretch; flex-direction: column; }
  .client-activity-filter { width: 100%; min-width: 0; }
  .client-activity-card { max-width: none; }
  .platform-pagination { align-items: stretch; flex-direction: column; }
  .platform-pagination > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hero > .property-carousel .property-carousel-thumbs { right: 12px; bottom: 12px; max-width: 70vw; }
  .property-carousel-thumb { width: 60px; height: 44px; }
}
/* Client media library and property details editor. */
.gallery-builder { display: grid; gap: 18px; }
.gallery-builder .form-field { min-width: 240px; margin: 0; }
.gallery-toolbar { align-items: end; gap: 12px; margin-top: 14px; }
.gallery-toolbar .form-field { flex: 1 1 280px; min-width: 220px; }
.gallery-file-picker { position: relative; display: inline-flex; min-width: 190px; min-height: 46px; align-items: center; justify-content: center; gap: 8px; flex: 0 1 220px; overflow: hidden; white-space: nowrap; }
.gallery-file-picker > span:first-child { font-size: 18px; line-height: 1; }
.gallery-file-picker:focus-within { border-color: var(--accent); box-shadow: 0 0 0 3px rgba(88,189,191,.14); }
.gallery-file-picker.is-disabled { opacity: .55; cursor: not-allowed; }
.gallery-file-input { position: absolute; inset: 0; width: 100%; height: 100%; cursor: pointer; opacity: 0; }
.gallery-file-picker.is-disabled .gallery-file-input { cursor: not-allowed; }
.gallery-toolbar-actions { display: flex; align-items: end; flex: 0 0 auto; gap: 10px; }
.gallery-toolbar-actions .button { min-height: 46px; white-space: nowrap; }
.media-library { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.media-item { display: grid; gap: 8px; padding: 10px; border: 1px solid #d6e1df; background: #fbfdfc; }
.media-item[draggable='true'] { cursor: grab; }
.media-item[draggable='true']:active { cursor: grabbing; }
.media-item.dragging, .homepage-photo-item.dragging { opacity: .62; }
.media-item.drag-over { border-color: var(--accent-deep); box-shadow: 0 0 0 3px rgba(88,189,191,.22); }
.media-drag-handle, .homepage-photo-drag-handle { display: inline-grid; width: 28px; height: 28px; place-items: center; color: #5d7779; font-size: 17px; letter-spacing: -4px; line-height: 1; cursor: grab; user-select: none; }
.media-item.selected { border-color: #4cb5b4; background: #eef9f6; }
.media-item:not(.selected) { border-color: #d9e0df; background: #f1f3f3; }
.media-item:not(.selected) .media-select { filter: grayscale(.25); }
.media-select { position: relative; min-height: 130px; overflow: hidden; padding: 0; border: 0; background: #e4edeb; cursor: pointer; }
.media-select img { display: block; width: 100%; height: 130px; margin: 0; object-fit: cover; object-position: top center; }
.media-check { position: absolute; top: 8px; left: 8px; z-index: 1; display: grid; width: 26px; height: 26px; place-items: center; border-radius: 50%; background: #173b40; color: white; }
.media-pending { display: grid; min-height: 130px; place-items: center; color: #607577; font-size: 12px; }
.media-text-field { display: grid; gap: 4px; color: #607577; font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.media-text-field input, .media-text-field textarea { min-width: 0; padding: 8px; border: 1px solid #d6e1df; background: white; color: #183f45; font: inherit; font-size: 12px; letter-spacing: normal; text-transform: none; }
.media-text-field textarea { min-height: 54px; resize: vertical; line-height: 1.45; }
.media-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; }
.media-actions .media-action-button { width: 34px; min-height: 34px; padding: 0; }
.media-action-button .media-action-glyph { display: inline-grid; place-items: center; font-size: 17px; font-weight: 600; line-height: 1; }
.media-action-svg { display: block; width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.media-action-button .button-spinner { margin: 0; }
.media-action-button:disabled { opacity: .5; cursor: not-allowed; }
.media-action-button.photo-delete-button { border-color: #ead0cf; color: #a14f4d; }
.media-action-button.photo-delete-button:hover:not(:disabled) { border-color: #a14f4d; background: #a14f4d; color: var(--white); }
.details-workspace { display: grid; gap: 24px; }
.details-workspace-nav { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.details-workspace-nav button { display: grid; gap: 6px; min-height: 82px; padding: 15px; border: 1px solid #d6e1df; background: #fbfdfc; color: #557074; text-align: left; cursor: pointer; }
.details-workspace-nav button:hover, .details-workspace-nav button.active { border-color: #55bdbd; background: #eaf8f5; color: #173b40; }
.details-workspace-nav strong { font-size: 13px; font-weight: 600; }
.details-workspace-nav span { font-size: 11px; line-height: 1.45; }
.details-workspace-panel { min-width: 0; padding-top: 4px; }
.availability-panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.availability-panel-heading .admin-note { flex: 1; }
.availability-block-list { display: grid; gap: 8px; }
.availability-block-row { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 13px 15px; border: 1px solid #d6e1df; background: #fbfdfc; }
.availability-block-row span { display: grid; gap: 4px; }
.availability-block-row strong { color: #183f45; font-size: 13px; font-weight: 600; }
.availability-block-row small { color: #6b8082; font-size: 11px; }
.reservation-panel { display: grid; gap: 22px; }
.reservation-form { padding: 22px; border: 1px solid #d6e1df; background: #fbfdfc; }
.reservation-form .admin-actions { margin-top: 18px; }
.reservation-upgrade-card { display: grid; gap: 8px; padding: 22px; border: 1px solid #c9e0da; background: #f4fbf8; }
.reservation-upgrade-card span { color: #607577; }
.reservation-upgrade-card .button { width: fit-content; margin-top: 8px; }
.reservation-list-heading { display: flex; align-items: end; justify-content: space-between; border-bottom: 1px solid #d8e1e0; }
.reservation-list-heading h3 { margin: 4px 0 12px; font-size: 22px; }
.reservation-list { display: grid; gap: 10px; }
.reservation-card { display: grid; gap: 10px; padding: 18px; border: 1px solid #d6e1df; background: #fff; }
.reservation-card-heading { display: flex; align-items: start; justify-content: space-between; gap: 16px; }
.reservation-card-heading div { display: grid; gap: 4px; }
.reservation-card-heading span:not(.platform-badge), .reservation-dates span, .reservation-notes { color: #607577; font-size: 13px; }
.reservation-dates { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; margin: 0; color: #183f45; }
.reservation-dates span { padding-left: 8px; border-left: 1px solid #cad8d6; text-transform: capitalize; }
.reservation-notes { margin: 0; white-space: pre-wrap; }
.reservation-payment-status { margin: 2px 0 0; color: #2f7377; font-size: 13px; }
.reservation-review-status { margin: 2px 0 0; color: #2f7377; font-size: 13px; }
.reservation-review-actions { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-top: 4px; padding: 12px 14px; border-top: 1px solid #dce9e5; background: #fbfdfc; }
.reservation-review-actions p { display: grid; gap: 3px; margin: 0; color: #50696b; font-size: 13px; }
.reservation-review-actions p span { color: #738789; font-size: 12px; }
.reservation-payment-actions { display: grid; gap: 12px; margin-top: 4px; padding-top: 14px; border-top: 1px solid #dce9e5; }
.reservation-payment-actions > .button { justify-self: start; }
.reservation-payment-history { display: grid; gap: 7px; padding: 12px 14px; border: 1px solid #e0ebe8; background: #fbfdfc; color: #50696b; font-size: 12px; }
.reservation-payment-history-row { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 16px; }
.reservation-payment-history-row span:last-child { color: #738789; }
.reservation-payment-form { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) auto; gap: 12px; align-items: end; padding: 14px; border: 1px solid #d4e4df; background: #f8fcfb; }
.reservation-payment-form .form-field { min-width: 0; }
.reservation-payment-form .button { min-height: 42px; }
.reservation-status-cancelled { opacity: .72; background: #f7f9f9; }
.details-editor-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 18px; }
.details-editor-grid textarea { min-height: 420px; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 13px; line-height: 1.6; }
.markdown-preview { min-height: 420px; padding: 20px; border: 1px solid #d6e1df; background: #fbfdfc; color: #4e6568; white-space: pre-wrap; }
.markdown-preview .markdown-content { max-width: none; margin: 16px 0 0; white-space: normal; }
.markdown-preview .markdown-content h1, .markdown-preview .markdown-content h2, .markdown-preview .markdown-content h3, .markdown-preview .markdown-content h4 { margin-top: 0; }
.prompt-actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 10px; }
.platform-command-card { display: grid; gap: 14px; margin: 22px 0; padding: 20px; border: 1px solid #cfe2df; background: #f4faf8; }
.platform-command-card h3 { margin: 0 0 6px; color: #173b40; }
.platform-command-card .form-field { margin: 0; }
.markdown-preview p { line-height: 1.7; }
@media (max-width: 900px) { .media-library { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

@media (max-width: 760px) { .media-library, .details-editor-grid, .details-workspace-nav { grid-template-columns: 1fr; } .media-select img, .media-pending { height: 190px; min-height: 190px; } .availability-panel-heading { align-items: stretch; flex-direction: column; gap: 8px; } .availability-panel-heading .button { width: 100%; } }
@media (max-width: 760px) { .gallery-toolbar .form-field, .gallery-file-picker { width: 100%; min-width: 0; } .gallery-toolbar-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; } .gallery-toolbar-actions .button { width: 100%; } }
/* Webnb client hub and responsive property workspace. */
.hub-hero { position: relative; min-height: min(760px, 82vh); background: #16383c; color: white; }
.hub-hero .property-carousel { position: absolute; inset: 0; }
.hub-hero .property-carousel-main { height: 100%; aspect-ratio: auto; }
.hub-hero .property-carousel-thumbs { position: absolute; right: 28px; bottom: 24px; z-index: 4; max-width: 58vw; }
.hub-hero .property-carousel-control { z-index: 4; }
.hub-hero::after { position: absolute; inset: 0; z-index: 1; background: transparent; content: ''; pointer-events: none; }
.hub-hero-overlay { position: relative; z-index: 3; display: flex; min-height: min(760px, 82vh); max-width: 760px; flex-direction: column; justify-content: end; padding: clamp(100px, 16vw, 180px) 7vw 100px; pointer-events: none; }
.hub-hero-overlay a, .hub-hero-overlay button { pointer-events: auto; }
.hub-hero-overlay h1 { max-width: 680px; margin: 10px 0 18px; color: white; font-size: clamp(44px, 7vw, 88px); line-height: .98; }
.hub-hero-overlay > p:not(.eyebrow) { max-width: 620px; color: rgba(255,255,255,.86); font-size: 19px; }
.hub-hero-overlay { width: min(calc(100% - (2 * var(--gutter))), 980px); max-width: 980px; align-items: center; justify-content: center; padding: 150px var(--gutter) 120px; margin-inline: auto; text-align: center; }
.hub-hero-overlay h1 { max-width: 920px; margin-inline: auto; }
.hub-hero-overlay > p:not(.eyebrow) { max-width: 780px; margin-inline: auto; }
.hub-hero-overlay .hero-actions { justify-content: center; }
.hub-introduction { background: #f7faf9; }
.hub-introduction-split { width: min(1040px, 100%); margin-inline: auto; grid-template-columns: minmax(0, 1.1fr) minmax(280px, .9fr); gap: clamp(38px, 7vw, 92px); }
.hub-introduction-split > :first-child { max-width: 620px; }
.hub-introduction-split > :last-child { width: min(100%, 460px); justify-self: center; }
.hub-introduction-split .image-card { min-height: 390px; }
.hub-introduction .markdown-content { margin-top: 18px; }
.hub-introduction .text-link { margin-top: 24px; }
.hub-properties { background: #f6f9f8; }
.hub-property-grid, .workspace-property-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.hub-property-card, .workspace-property-card { overflow: hidden; border: 1px solid #d5e1df; background: white; box-shadow: 0 12px 28px rgba(22,55,60,.06); }
.hub-property-card-image { aspect-ratio: 16 / 9; background: #dfe9e7; }
.hub-property-card-image img, .workspace-property-card > img { display: block; width: 100%; height: 100%; object-fit: cover; }
.hub-property-card-body { padding: 26px; }
.hub-property-card-body h3 { margin: 8px 0 12px; font-size: clamp(26px, 3vw, 38px); }
.hub-property-card-body > p { color: #557074; }
.hub-property-card-subtitle, .booking-property-description { margin: -4px 0 12px; color: #2f7377 !important; font-size: 12px; letter-spacing: .1em; text-transform: uppercase; }
.hub-property-facts, .account-property-facts { display: flex; flex-wrap: wrap; gap: 14px; margin: 18px 0 22px; color: #357e82; font-size: 13px; letter-spacing: .08em; text-transform: uppercase; }
.related-properties { background: #f6f9f8; }
.related-properties-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; }
.related-properties-controls { display: flex; flex: 0 0 auto; gap: 8px; }
.related-properties-controls .icon-button { width: 44px; height: 44px; border: 1px solid #b8cecb; background: white; color: #173b40; font-size: 20px; }
.related-properties-track { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.related-property-card { min-width: 0; }
.property-page-hero { padding-top: 92px; background: #f6f9f8; }
.property-page-hero > .property-carousel { max-width: 1440px; margin: 0 auto; }
.property-page-heading { padding-top: 44px; padding-bottom: 52px; }
.property-page-heading h1 { max-width: 960px; margin: 8px 0 14px; font-size: clamp(42px, 7vw, 86px); line-height: .98; }
.property-page-heading > p:not(.eyebrow) { max-width: 780px; font-size: 20px; }
.property-page-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.property-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.property-detail-layout, .property-contact-grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(280px, .8fr); gap: clamp(32px, 7vw, 110px); }
.property-detail-layout > div > h2, .property-contact-section h2 { max-width: 620px; font-size: clamp(34px, 4.5vw, 60px); }
.property-detail-aside { align-self: start; padding: 24px; border-top: 2px solid var(--accent, #58bdbf); background: #f0f8f5; }
.amenity-list { display: grid; gap: 16px; margin-top: 24px; }
.amenity-list div { display: grid; gap: 3px; padding-bottom: 14px; border-bottom: 1px solid #d6e4e0; }
.amenity-list span, .highlight-grid p { color: #587073; }
.highlight-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.highlight-grid article { padding: 24px; border: 1px solid #d5e1df; background: white; }
.property-contact-section { background: #edf7f4; }

.client-workspace { min-height: 100vh; background: #eef4f3; color: #18373b; }
.client-sidebar { position: fixed; inset: 0 auto 0 0; z-index: 25; display: flex; width: 248px; flex-direction: column; padding: 22px 16px 18px; border-right: 1px solid #d2e0de; background: #f8fbfa; }
.client-sidebar-brand > a { display: flex; align-items: center; gap: 8px; color: inherit; text-decoration: none; }
.client-sidebar-brand .brand-logo { width: 136px; height: auto; }
.client-sidebar-brand .brand-sub { display: block; margin-top: 2px; font-size: 10px; }
.client-sidebar-close { display: none; }
.client-workspace-label { display: grid; gap: 5px; margin: 34px 8px 22px; }
.client-workspace-label strong { font-family: var(--heading-font, Georgia), serif; font-size: 22px; font-weight: 500; }
.client-workspace-label > span:last-child { color: #698082; font-size: 13px; }
.client-nav { display: grid; gap: 4px; }
.client-nav a, .client-sidebar-footer a, .client-signout { display: flex; min-height: 44px; align-items: center; gap: 11px; padding: 10px 11px; border: 0; background: transparent; color: #456367; font-size: 13px; text-align: left; text-decoration: none; cursor: pointer; }
.client-nav a:hover, .client-nav a.active { background: #e4f1ee; color: #173a3e; }
.client-nav-icon { width: 22px; color: var(--accent, #34989c); font-size: 17px; text-align: center; }
.client-nav a.pro-feature { color: #6f4aa1; }
.client-nav a.pro-feature .client-nav-icon { color: #8559bd; }
.client-nav a.pro-feature:hover, .client-nav a.pro-feature.active { background: #f1ebfa; color: #5b3b83; box-shadow: inset 3px 0 #8559bd; }
.client-nav a.billing-nav-link { color: #8b652d; }
.client-nav a.billing-nav-link .client-nav-icon { color: #b88736; }
.client-nav a.billing-nav-link:hover, .client-nav a.billing-nav-link.active { background: #fbf2df; color: #73501d; box-shadow: inset 3px 0 #c39548; }
.client-nav-group { display: grid; gap: 4px; margin-top: 20px; padding-top: 18px; border-top: 1px solid #d7e2e0; }
.client-nav-group > .eyebrow { margin: 0 8px 3px; }
.client-nav-sub-link, .client-sidebar-add-place { display: flex; min-height: 40px; align-items: center; gap: 11px; padding: 8px 11px 8px 17px; border: 0; background: transparent; color: #456367; font-size: 13px; text-align: left; text-decoration: none; cursor: pointer; }
.client-nav-sub-link:hover, .client-nav-sub-link.active, .client-sidebar-add-place:hover, .client-sidebar-add-place.active { background: #e4f1ee; color: #173a3e; }
.client-sidebar-add-place { margin-top: 12px; border-top: 1px solid #d7e2e0; padding-top: 18px; }
.client-sidebar-add-place .client-nav-icon { color: var(--accent, #34989c); font-size: 17px; }
.client-sidebar-properties { display: grid; gap: 4px; margin-top: 28px; padding-top: 22px; border-top: 1px solid #d7e2e0; }
.client-sidebar-properties p { margin: 0 8px 7px; }
.client-sidebar-property { display: grid; gap: 5px; padding: 8px 11px; }
.client-sidebar-property strong { overflow: hidden; color: #527073; font-size: 13px; font-weight: 500; text-overflow: ellipsis; white-space: nowrap; }
.client-sidebar-property > small { color: #819395; font-size: 10px; }
.client-sidebar-property-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.client-sidebar-property-actions a { padding: 0; color: #277f82; font-size: 10px; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.client-sidebar-property-actions a:hover, .client-sidebar-property-actions a:focus-visible { color: #145d61; text-decoration: underline; }
.client-sidebar-property-count { color: #819395; font-size: 10px; }
.client-sidebar-footer { display: grid; gap: 3px; margin-top: auto; padding-top: 20px; border-top: 1px solid #d7e2e0; }
.client-sidebar-footer a { padding: 6px 8px; font-size: 12px; }
.client-user { display: grid; gap: 2px; margin: 14px 8px 4px; color: #6b8082; font-size: 11px; overflow-wrap: anywhere; }
.client-user strong { color: #28474b; font-size: 12px; }
.role-pill { color: #258b8d; text-transform: capitalize; }
.client-signout { width: max-content; padding: 6px 8px; color: #597074; font-size: 12px; }
.client-admin-main { min-height: 100vh; margin-left: 248px; padding: 58px clamp(22px, 5vw, 70px) 80px; }
.client-main-header, .account-dashboard-intro { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 42px; }
.client-main-header h1, .account-dashboard-intro h1 { margin: 8px 0 10px; font-size: clamp(38px, 5vw, 64px); }
.client-main-header p:not(.eyebrow), .account-dashboard-intro p:not(.eyebrow) { max-width: 670px; color: #5b7477; font-size: 18px; }
.workspace-stat-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-bottom: 54px; }
.workspace-stat-grid > div { display: grid; gap: 8px; min-height: 108px; padding: 22px; border: 1px solid #d1e0dd; background: #f9fcfb; }
.workspace-stat-grid strong { font-family: var(--heading-font, Georgia), serif; color: #16393d; font-size: 34px; font-weight: 500; }
.workspace-stat-grid span { color: #688083; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; }
.workspace-section { margin-top: 52px; }
.workspace-property-card { display: grid; grid-template-columns: minmax(180px, .8fr) 1fr; }
.workspace-property-card > img, .workspace-property-card > .image-placeholder { min-height: 100%; aspect-ratio: 1 / 1; }
.workspace-property-card > div { padding: 24px; }
.workspace-property-card h3 { margin: 8px 0 10px; font-size: 28px; }
.workspace-property-card p:not(.eyebrow) { color: #60777a; }
.workspace-property-card .workspace-property-description { margin: -2px 0 10px; color: #2f7377; font-size: 11px; letter-spacing: .1em; text-transform: uppercase; }
.workspace-card-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin-top: 24px; }
.workspace-card-actions .text-link { display: inline-flex; min-height: 46px; align-items: center; margin-top: 0; }
.workspace-callout { max-width: 740px; padding: 28px; border: 1px solid #cde2de; background: #eaf6f2; }
.listing-import-card { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, .82fr); gap: 28px; max-width: 1120px; margin: 0 0 28px; }
.listing-import-card h2 { margin: 5px 0 10px; color: #173b40; font-family: var(--heading-font, Georgia), serif; font-size: clamp(27px, 3vw, 38px); font-weight: 400; }
.listing-import-card p { color: #547074; line-height: 1.65; }
.listing-import-form { display: grid; gap: 12px; padding: 20px; border: 1px solid #cde2de; background: rgba(255,255,255,.72); }
.listing-import-meta, .listing-import-target { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.listing-import-meta a { color: #267d80; font-size: 13px; }
.listing-import-card .admin-note { margin: 12px 0 0; }
.workspace-homepage-photos { max-width: 1180px; }
.workspace-availability-section { max-width: 1320px; }
.workspace-reservations-section { max-width: 1320px; }
.workspace-reservations-layout { display: grid; grid-template-columns: minmax(235px, .62fr) minmax(0, 1.7fr); min-height: 700px; }
.workspace-reservations-detail { min-width: 0; padding: 28px clamp(20px, 4vw, 42px); background: #fff; }
.workspace-reservations-detail .reservation-panel { min-width: 0; }
.workspace-reviews-section { max-width: 980px; }
.workspace-review-summary-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin: 0 0 24px; }
.workspace-review-summary-card { display: grid; gap: 8px; padding: 18px 20px; border: 1px solid #d4e2df; background: #fff; }
.workspace-review-summary-card strong { color: #173b40; font-family: var(--heading-font, Georgia), serif; font-size: 34px; font-weight: 400; }
.workspace-review-summary-card small { color: #6e8587; line-height: 1.5; }
.workspace-review-summary-label { color: #2d7f81; font-size: 10px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.workspace-review-activity { display: grid; gap: 18px; margin: 0 0 24px; padding: 22px 24px; border: 1px solid #d4e2df; background: #fcfefd; }
.workspace-review-activity-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.workspace-review-activity-header > div { display: grid; gap: 8px; }
.workspace-review-activity-header h3 { margin: 0; color: #173b40; font-family: var(--heading-font, Georgia), serif; font-size: 24px; font-weight: 400; }
.workspace-review-activity-header p { margin: 0; color: #627a7c; line-height: 1.6; }
.workspace-review-activity-list { display: grid; gap: 14px; }
.workspace-review-activity-card { display: grid; gap: 12px; padding: 18px 20px; border: 1px solid #d7e5e1; background: #fff; }
.workspace-review-activity-card > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.workspace-review-activity-card > header > div { display: grid; gap: 6px; }
.workspace-review-activity-card h3 { margin: 0; color: #173b40; font-family: var(--heading-font, Georgia), serif; font-size: 22px; font-weight: 400; }
.workspace-review-activity-meta { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 18px; margin: 0; }
.workspace-review-activity-meta div { display: grid; gap: 4px; }
.workspace-review-activity-meta dt { color: #638184; font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.workspace-review-activity-meta dd { margin: 0; color: #355a5f; }
.workspace-review-activity-note { margin: 0; color: #5c7477; line-height: 1.6; }
.workspace-review-preview { display: flex; align-items: flex-start; justify-content: space-between; gap: 22px; padding: 24px; border: 1px solid #d4e2df; background: #f9fcfb; }
.workspace-review-preview > div { display: grid; gap: 8px; }
.workspace-review-preview strong { color: #173b40; font-family: var(--heading-font, Georgia), serif; font-size: 25px; font-weight: 400; }
.workspace-review-preview p { max-width: 620px; margin: 0; color: #627a7c; line-height: 1.6; }
.workspace-review-source { color: #3d8587; font-size: 10px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.workspace-review-owner-actions { display: flex; flex-wrap: wrap; justify-content: end; gap: 10px; }
.workspace-review-owner-note { max-width: none; color: #516d70; font-size: 13px; }
.workspace-review-toolbar { display: flex; flex-wrap: wrap; align-items: end; gap: 14px; margin: 24px 0; padding: 18px; border: 1px solid #d4e2df; background: #f9fcfb; }
.workspace-review-import { margin: 24px 0; padding: 18px 22px; border: 1px solid #c9dfda; background: #edf8f4; }
.workspace-review-import summary { color: #286e70; cursor: pointer; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.review-import-form { display: grid; gap: 16px; margin-top: 20px; }
.review-import-form .form-grid { margin-top: 0; }
.review-import-form .admin-note { margin: 0; }
.workspace-review-consent { margin-top: -4px; }
.workspace-review-public-label { display: grid; gap: 10px; padding: 18px 20px; border: 1px solid #cfe0dd; background: rgba(255,255,255,.7); }
.workspace-review-public-label p { margin: 0; color: #5f777a; line-height: 1.6; }
.workspace-review-duplicate-warning { display: grid; gap: 10px; padding: 18px 20px; border: 1px solid #d9ccb1; background: #fff7eb; color: #6b5130; }
.workspace-review-duplicate-warning p, .workspace-review-duplicate-warning strong { margin: 0; }
.workspace-review-duplicate-list { margin: 0; padding-left: 18px; color: #5f4a2b; }
.workspace-review-toolbar .form-field { min-width: 180px; margin: 0; }
.workspace-review-toolbar .button { min-height: 42px; }
.workspace-review-list { display: grid; gap: 16px; }
.workspace-review-card { display: grid; gap: 13px; padding: 24px; border: 1px solid #d4e2df; background: #fff; }
.workspace-review-card > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.workspace-review-card > header > div { display: grid; gap: 10px; }
.workspace-review-card h3 { margin: 4px 0 0; color: #173b40; font-family: var(--heading-font, Georgia), serif; font-size: 25px; font-weight: 400; }
.workspace-review-card > p { margin: 0; color: #466569; line-height: 1.65; white-space: pre-wrap; }
.workspace-review-card > small { color: #71888a; }
.workspace-review-status { padding: 6px 9px; border: 1px solid #c8dbd7; color: #496e70; font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.workspace-review-status.status-pending { background: #f4faf9; }
.workspace-review-status.status-submitted { background: #eef6ff; border-color: #c9d9ef; color: #365f8a; }
.workspace-review-status.status-expired { background: #fff5ee; border-color: #e3cfc1; color: #865b3c; }
.workspace-review-badges { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.workspace-review-badge { display: inline-flex; align-items: center; min-height: 28px; padding: 6px 10px; border: 1px solid #c8dbd7; background: #f6faf9; color: #2f5f63; font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.workspace-review-badge.trust { background: #ecf7f4; border-color: #bfded6; color: #236d6f; }
.workspace-review-badge.source { background: #fff; }
.workspace-review-source-link { color: #236d6f; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.workspace-review-source-link:hover { color: #174f52; }
.status-published { border-color: #97c9ac; background: #eef9f1; color: #34704d; }
.status-pending { border-color: #e5c98f; background: #fff9e9; color: #86631d; }
.status-reported { border-color: #e2a7a7; background: #fff2f2; color: #924444; }
.workspace-review-existing-reply, .property-review-reply { padding: 14px 16px; border-left: 3px solid var(--accent, #58bdbf); background: #f4f8f7; }
.workspace-review-existing-reply p, .property-review-reply p { margin: 5px 0 0; color: #567174; white-space: pre-wrap; }
.workspace-review-existing-reply strong, .property-review-reply strong { color: #2c666a; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.workspace-review-actions { margin-top: 0; }
.property-reviews-section { background: #f5f9f8; }
.property-review-summary-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; max-width: 1120px; margin: 0 auto 24px; }
.property-review-summary-card { display: grid; gap: 8px; padding: 22px 24px; border: 1px solid #d7e3df; background: rgba(255,255,255,.84); }
.property-review-summary-card span { color: #56787a; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; }
.property-review-summary-card strong { color: #173b40; font-family: var(--heading-font, Georgia), serif; font-size: clamp(34px, 5vw, 48px); font-weight: 400; line-height: 1; }
.property-review-summary-card small { color: #6a8385; font-size: 13px; }
.property-review-filter-bar { display: flex; flex-wrap: wrap; gap: 10px; max-width: 1120px; margin: 0 auto 24px; }
.property-review-filter { display: inline-flex; align-items: center; gap: 9px; min-height: 40px; padding: 9px 14px; border: 1px solid #cfdfdb; background: #fbfdfc; color: #3f6265; cursor: pointer; font-size: 12px; }
.property-review-filter:hover, .property-review-filter.active { border-color: #43a5a8; background: #e8f6f2; color: #173b40; }
.property-review-filter small { color: #71898b; font-size: 10px; }
.property-review-empty-state { max-width: 760px; margin: 0 auto; padding: 30px 24px; border: 1px dashed #c7d8d5; background: rgba(255,255,255,.72); color: #567174; text-align: center; }
.property-review-empty-state strong { display: block; margin-bottom: 8px; color: #173b40; font-family: var(--heading-font, Georgia), serif; font-size: 28px; font-weight: 400; }
.property-review-empty-state p { margin: 0; line-height: 1.7; }
.property-reviews-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; max-width: 1120px; margin: 0 auto; }
.property-review-card { display: grid; gap: 14px; padding: 25px; border: 1px solid #d7e3df; background: #fff; }
.property-review-card h3 { margin: 0; color: #173b40; font-family: var(--heading-font, Georgia), serif; font-size: 25px; font-weight: 400; }
.property-review-card blockquote { margin: 0; color: #3f5f62; font-size: 16px; line-height: 1.7; }
.property-review-card footer { display: flex; justify-content: space-between; gap: 10px; color: #718789; font-size: 12px; }
.property-review-meta { display: flex; align-items: center; justify-content: space-between; gap: 10px; color: #688083; font-size: 11px; }
.property-review-badges { display: flex; flex-wrap: wrap; justify-content: end; gap: 8px; }
.property-review-badge { display: inline-flex; align-items: center; min-height: 28px; padding: 6px 10px; border: 1px solid #cfdfdb; background: #f7fbfa; color: #486d70; font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.property-review-badge.trust.verified_stay { border-color: #90c7ab; background: #eef8f1; color: #2d6a47; }
.property-review-badge.trust.imported { border-color: #d6d8e1; background: #f5f6fa; color: #53606f; }
.property-review-badge.source.webnb { border-color: #93d2d0; color: #236f72; }
.property-review-badge.source.google { border-color: #c9d7ff; color: #365a9e; }
.property-review-badge.source.airbnb { border-color: #f6c1c8; color: #a9485a; }
.property-review-badge.source.booking { border-color: #bed4ff; color: #355f9a; }
.property-review-badge.source.manual { border-color: #d9ddd7; color: #5c6f64; }
.property-review-footer-copy { display: grid; gap: 4px; }
.property-review-source-link { display: inline-flex; align-items: center; color: #2c8082; text-decoration: none; text-underline-offset: 3px; }
.property-review-source-link:hover { color: #145d61; text-decoration: underline; }
.review-stars { color: #d49a35; letter-spacing: .08em; white-space: nowrap; }
.review-stars > span { color: #d8e1df; }
.review-page-shell { display: flex; min-height: 80vh; align-items: center; justify-content: center; padding: 48px 20px; background: #f4f8f7; }
.review-page-card { width: min(100%, 680px); padding: clamp(28px, 6vw, 60px); border: 1px solid #d4e2df; background: #fff; box-shadow: 0 20px 60px rgba(21, 57, 61, .08); }
.review-page-card h1 { margin: 8px 0 14px; color: #173b40; font-family: var(--heading-font, Georgia), serif; font-size: clamp(36px, 6vw, 58px); font-weight: 400; }
.review-page-card > p:not(.eyebrow) { color: #5c7477; line-height: 1.7; }
.review-form { display: grid; gap: 18px; margin-top: 28px; }
.review-form fieldset { margin: 0; padding: 0; border: 0; }
.review-form legend, .review-consent { color: #3f6265; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; }
.review-rating-picker { display: flex; gap: 4px; margin-top: 9px; }
.review-rating-picker button { padding: 2px 4px; border: 0; background: transparent; color: #d6e0de; cursor: pointer; font-size: 34px; line-height: 1; }
.review-rating-picker button.active, .review-rating-picker button:hover { color: #d49a35; }
.review-consent { display: flex; align-items: flex-start; gap: 9px; line-height: 1.5; text-transform: none; letter-spacing: 0; }
.review-consent input { margin-top: 3px; }
.review-page .site-footer { display: flex; justify-content: space-between; padding: 18px 24px; background: #14252a; color: #dce9e9; }
.review-page .site-footer a { color: #8bd2d2; }
.workspace-availability-grid { display: grid; grid-template-columns: minmax(235px, .62fr) minmax(0, 1.7fr); min-height: 700px; }
.workspace-availability-detail { min-width: 0; padding: 28px clamp(20px, 4vw, 42px); background: #fff; }
.availability-workspace-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding-bottom: 20px; border-bottom: 1px solid #dce7e4; }
.availability-workspace-header h3 { margin: 4px 0 7px; color: #173b40; font-family: var(--heading-font, Georgia), serif; font-size: 32px; font-weight: 400; }
.availability-workspace-header p:not(.eyebrow) { margin: 0; color: #637b7d; font-size: 13px; }
.availability-view-tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 20px 0 22px; }
.availability-view-tab { display: grid; gap: 4px; min-height: 62px; padding: 12px 15px; border: 1px solid #d1e0dd; background: #f8fbfa; color: #557174; cursor: pointer; text-align: left; }
.availability-view-tab:hover, .availability-view-tab.active { border-color: #2b8588; background: #e5f4f0; color: #173b40; }
.availability-view-tab.active { box-shadow: inset 0 -3px 0 #2b8588; }
.workspace-multi-calendar-grid { display: grid; gap: 18px; }
.workspace-multi-calendar-grid > .admin-note { margin: 0; }
.workspace-multi-calendar-card { padding: 18px; border: 1px solid #d1e0dd; background: #fbfdfc; }
.workspace-multi-calendar-card .section-heading { margin-bottom: 14px; }
.workspace-multi-calendar-card .section-heading h3 { margin: 4px 0 5px; color: #173b40; font-family: var(--heading-font, Georgia), serif; font-size: 26px; font-weight: 400; }
.availability-view-tab span { color: #718789; font-size: 11px; }
.availability-view-tab.active span { color: #4d7072; }
.availability-settings-panel { min-width: 0; }
.availability-settings-panel > .section-heading { max-width: 760px; }
.workspace-calendar-provider-list { display: grid; grid-template-columns: 1fr; gap: 16px; margin-top: 20px; }
.workspace-calendar-settings-card { min-width: 0; padding: 20px; border: 1px solid #d6e2df; background: #f9fcfb; }
.workspace-calendar-settings-card.airbnb { border-top: 3px solid #4d9469; }
.workspace-calendar-settings-card.booking { border-top: 3px solid #c39a38; }
.workspace-calendar-settings-card.vrbo { border-top: 3px solid #3f80bd; }
.workspace-calendar-settings-card h4 { margin: 3px 0 7px; color: #173b40; font-family: var(--heading-font, Georgia), serif; font-size: 24px; font-weight: 400; }
.workspace-calendar-settings-card .form-field { margin-top: 18px; }
.workspace-calendar-settings-card .form-field small { display: block; overflow-wrap: anywhere; }
.workspace-calendar-settings-meta { display: grid; gap: 9px; margin: 18px 0 0; }
.workspace-calendar-settings-meta div { display: grid; grid-template-columns: minmax(125px, .7fr) minmax(0, 1.3fr); gap: 12px; padding-bottom: 8px; border-bottom: 1px solid #dce7e4; }
.workspace-calendar-settings-meta dt { color: #71888a; font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.workspace-calendar-settings-meta dd { margin: 0; color: #2f5c60; font-size: 12px; overflow-wrap: anywhere; }
.workspace-calendar-settings-card .admin-actions { margin-top: 18px; }
.workspace-calendar-settings-card .admin-actions .button { min-height: 40px; }
.availability-settings-help { margin-top: 24px; }
.availability-settings-help h4 { margin: 4px 0 12px; color: var(--ink); font-family: var(--heading-font, Georgia), serif; font-size: 26px; font-weight: 400; }
.availability-filter-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 20px 0; }
.availability-filter-bar > span { margin-right: 3px; color: #6a8183; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.availability-filter { display: inline-flex; min-height: 38px; align-items: center; gap: 7px; padding: 8px 11px; border: 1px solid #ccdcd8; background: #f7fbfa; color: #3f6265; cursor: pointer; font-size: 12px; }
.availability-filter:hover, .availability-filter.active { border-color: #43a5a8; background: #e8f6f2; color: #173b40; }
.availability-filter small { color: #789092; font-size: 10px; }
.workspace-calendar-card { padding: 22px; border: 1px solid #d2e1de; background: #fbfdfc; }
.workspace-calendar-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; margin-bottom: 18px; }
.workspace-calendar-head h3 { margin: 0; color: #173b40; font-family: var(--heading-font, Georgia), serif; font-size: 28px; font-weight: 400; }
.workspace-calendar-head p { margin: 5px 0 0; color: #678083; font-size: 12px; }
.workspace-calendar-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 4px; }
.workspace-calendar-weekday { padding: 5px 3px; color: #71888a; font-size: 10px; letter-spacing: .08em; text-align: center; text-transform: uppercase; }
.workspace-calendar-day { position: relative; display: flex; min-height: 62px; flex-direction: column; align-items: center; justify-content: center; gap: 6px; padding: 7px 4px; border: 1px solid #d9e6e3; background: white; color: #244c50; cursor: pointer; font-size: 14px; }
.workspace-calendar-day:hover:not(:disabled), .workspace-calendar-day:focus-visible { z-index: 1; border-color: #40a0a3; box-shadow: 0 0 0 2px rgba(64,160,163,.2); outline: 0; }
.workspace-calendar-day.empty { border-color: transparent; background: transparent; cursor: default; }
.workspace-calendar-day.today > span:first-child { display: grid; width: 27px; height: 27px; place-items: center; border-radius: 50%; background: #e2f2ee; font-weight: 700; }
.workspace-calendar-day.unavailable { cursor: not-allowed; }
.workspace-calendar-day.source-airbnb { background: #e8f4eb; color: #315d42; }
.workspace-calendar-day.source-booking { background: #fbf3d9; color: #76581d; }
.workspace-calendar-day.source-vrbo { background: #e5f0fb; color: #285b8c; }
.workspace-calendar-day.source-website { background: #f1e8fa; color: #634084; }
.workspace-calendar-day.source-multiple { background: #eef4f7; color: #2c4649; }
.workspace-calendar-day.arrival, .workspace-calendar-day.departure, .workspace-calendar-day.in-range { border-color: #1c7478; box-shadow: inset 0 0 0 2px rgba(28,116,120,.3); }
.workspace-calendar-day.arrival, .workspace-calendar-day.departure { background: #d7efeb; }
.workspace-calendar-source-dots { display: flex; gap: 3px; min-height: 7px; }
.source-dot { display: inline-block; width: 8px; height: 8px; flex: 0 0 8px; border-radius: 50%; }
.source-dot-airbnb { background: #4d9469; }
.source-dot-booking { background: #c39a38; }
.source-dot-vrbo { background: #3f80bd; }
.source-dot-website { background: #8660a6; }
.workspace-calendar-legend { display: flex; flex-wrap: wrap; gap: 10px 18px; margin-top: 16px; color: #5e7678; font-size: 11px; }
.workspace-calendar-legend span { display: inline-flex; align-items: center; gap: 6px; }
.workspace-calendar-available-dot { display: inline-block; width: 8px; height: 8px; border: 1px solid #a9c6c0; border-radius: 50%; background: white; }
.calendar-note { color: #718688; font-size: 12px; line-height: 1.55; }
.workspace-calendar-card .calendar-note { margin: 16px 0 0; }
.availability-selection-card { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 18px; padding: 18px 20px; border: 1px solid #d8e5e2; background: #eef8f4; }
.availability-selection-card h3 { margin: 4px 0 5px; color: #173b40; font-family: var(--heading-font, Georgia), serif; font-size: 24px; font-weight: 400; }
.availability-selection-card p:not(.eyebrow) { margin: 0; color: #5d7577; font-size: 13px; }
.availability-selection-card .admin-actions { margin-top: 0; }
.reservation-modal-backdrop { position: fixed; inset: 0; z-index: 80; display: grid; place-items: center; padding: 20px; background: rgba(18, 39, 43, .48); }
.reservation-modal { width: min(560px, 100%); max-height: calc(100vh - 40px); overflow: auto; padding: 26px; border: 1px solid #d3e1de; background: #fff; box-shadow: 0 20px 60px rgba(18, 39, 43, .24); }
.reservation-modal-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; margin-bottom: 22px; }
.reservation-modal-heading h2 { margin: 5px 0 8px; color: #173b40; font-family: var(--heading-font, Georgia), serif; font-size: 30px; font-weight: 400; }
.reservation-modal-heading p:not(.eyebrow) { margin: 0; color: #627a7c; font-size: 13px; line-height: 1.5; }
.reservation-modal-close { width: 34px; height: 34px; border: 1px solid #d4e2df; background: #fff; color: #31575a; cursor: pointer; font-size: 22px; line-height: 1; }
.reservation-modal-close:hover, .reservation-modal-close:focus-visible { background: #eef8f6; }
.reservation-modal form { display: grid; gap: 16px; }
.reservation-modal .admin-field { display: grid; gap: 7px; }
.reservation-modal .admin-field > span { color: #456568; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; }
.reservation-modal .admin-field input { width: 100%; min-height: 42px; padding: 10px 12px; border: 1px solid #cbdcd8; background: #fbfdfc; color: #173b40; font: inherit; }
.reservation-modal .admin-field input:focus { outline: 2px solid #52bfc2; outline-offset: 1px; }
.reservation-modal .form-grid { margin: 0; }
.workspace-calendar-source-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-top: 18px; }
.workspace-calendar-source-card { min-width: 0; padding: 18px; border: 1px solid #d6e2df; background: #f9fcfb; }
.workspace-calendar-source-card.dimmed { opacity: .48; filter: saturate(.55); }
.workspace-calendar-source-card.airbnb { border-top: 3px solid #4d9469; }
.workspace-calendar-source-card.booking { border-top: 3px solid #c39a38; }
.workspace-calendar-source-card.vrbo { border-top: 3px solid #3f80bd; }
.workspace-calendar-source-card.website { border-top: 3px solid #8660a6; }
.workspace-calendar-source-card h4 { margin: 3px 0 7px; color: #173b40; font-family: var(--heading-font, Georgia), serif; font-size: 22px; font-weight: 400; }
.workspace-calendar-source-card p:not(.eyebrow) { color: #627a7c; font-size: 12px; line-height: 1.55; }
.workspace-source-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }
.workspace-source-count { color: #698183; font-size: 10px; white-space: nowrap; }
.workspace-calendar-source-card .form-field { margin-top: 14px; }
.workspace-calendar-source-card .form-field small { display: block; overflow-wrap: anywhere; }
.workspace-calendar-source-card .admin-actions { display: flex; align-items: center; margin-top: 14px; }
.workspace-calendar-source-card .admin-actions .button { min-height: 38px; padding: 8px 10px; font-size: 10px; }
.workspace-calendar-source-summary { display: grid; gap: 10px; margin: 16px 0 0; }
.workspace-calendar-source-summary div { display: grid; grid-template-columns: minmax(110px, .6fr) minmax(0, 1fr); gap: 12px; padding-bottom: 8px; border-bottom: 1px solid #dce7e4; }
.workspace-calendar-source-summary dt { color: #71888a; font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.workspace-calendar-source-summary dd { margin: 0; color: #2f5c60; font-size: 12px; overflow-wrap: anywhere; }
.workspace-source-note { display: block; margin-top: 12px; color: #6d8385; font-size: 11px; line-height: 1.5; }
.workspace-availability-list { margin-top: 26px; padding-top: 20px; border-top: 1px solid #dce7e4; }
.workspace-availability-list .section-heading { margin-bottom: 12px; }
.workspace-availability-list .section-heading h3 { margin: 4px 0 0; color: #173b40; font-family: var(--heading-font, Georgia), serif; font-size: 26px; font-weight: 400; }
.availability-block-row { border-left: 4px solid #8660a6; }
.availability-block-row.source-row-airbnb { border-left-color: #4d9469; }
.availability-block-row.source-row-booking { border-left-color: #c39a38; }
.availability-block-row.source-row-vrbo { border-left-color: #3f80bd; }
.availability-block-row.source-row-website { border-left-color: #8660a6; }
.homepage-photo-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin: 26px 0 18px; padding: 18px 20px; border: 1px solid #cde2de; background: #eaf6f2; }
.homepage-photo-toolbar > div:first-child { display: grid; gap: 5px; }
.homepage-photo-toolbar strong { color: #173b40; }
.homepage-photo-toolbar span { color: #60777a; font-size: 13px; }
.homepage-photo-toolbar .admin-actions { margin-top: 0; }
.homepage-photo-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.homepage-photo-groups { display: grid; gap: 38px; }
.homepage-photo-group { display: grid; gap: 12px; }
.homepage-photo-group + .homepage-photo-group { padding-top: 34px; border-top: 1px solid #c7dcda; }
.homepage-photo-group-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; padding-bottom: 12px; border-bottom: 1px solid #d2dfdd; }
.homepage-photo-group-heading .eyebrow { margin: 0; }
.homepage-photo-group-heading h3 { margin: 0; color: #173b40; font-family: var(--heading-font, Georgia), serif; font-size: 28px; font-weight: 400; }
.homepage-photo-item { min-width: 0; border: 1px solid #d2dfdd; background: #f9fcfb; }
.homepage-photo-item[draggable='true'] { cursor: grab; }
.homepage-photo-item[draggable='true']:active { cursor: grabbing; }
.homepage-photo-item.drag-over { border-color: var(--accent-deep); box-shadow: 0 0 0 3px rgba(88,189,191,.22); }
.homepage-photo-item.selected { border-color: #4caeb0; box-shadow: 0 0 0 2px rgba(76,174,176,.12); }
.homepage-photo-item:not(.selected) { border-color: #d4dddd; background: #eef1f1; }
.homepage-photo-item:not(.selected) .homepage-photo-select { background: #d4dddd; filter: grayscale(.3); }
.homepage-photo-select { position: relative; display: block; width: 100%; padding: 0; border: 0; background: #dfe8e7; color: white; cursor: pointer; text-align: left; }
.homepage-photo-select img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.homepage-photo-check { position: absolute; right: 10px; bottom: 10px; left: 10px; padding: 8px 10px; background: rgba(12,38,42,.78); color: white; font-size: 11px; letter-spacing: .06em; text-transform: uppercase; }
.homepage-photo-item:not(.selected) .homepage-photo-check { background: rgba(83,96,98,.82); }
.homepage-photo-item.selected .homepage-photo-check { background: rgba(23,93,95,.88); }
.homepage-photo-copy { display: grid; gap: 5px; padding: 14px; }
.homepage-photo-copy > strong { color: #173b40; font-size: 15px; }
.homepage-photo-copy > span { color: #688083; font-size: 12px; }
.homepage-photo-order { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; margin-top: 8px; padding-top: 10px; border-top: 1px solid #d8e4e1; }
.homepage-photo-order > span { margin-right: auto; color: #527073; font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.homepage-photo-order .homepage-photo-drag-handle { margin-right: auto; }
.homepage-photo-order .button { min-height: 34px; padding: 7px 10px; }
.homepage-photo-delete { justify-self: start; margin-top: 6px; }
.homepage-prepared-panel { display: grid; gap: 20px; padding: 24px; border: 1px solid #cde2de; background: #f8fcfb; }
.homepage-prepared-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; }
.homepage-prepared-heading > div { display: grid; gap: 7px; }
.homepage-prepared-heading h3 { margin: 0; color: #173b40; font-family: var(--heading-font, Georgia), serif; font-size: 30px; font-weight: 400; }
.homepage-prepared-heading p:not(.eyebrow) { max-width: 680px; margin: 0; color: #60777a; line-height: 1.6; }
.homepage-prepared-counts { display: flex; flex-wrap: wrap; gap: 8px; }
.homepage-prepared-counts span { padding: 7px 10px; border: 1px solid #cde0dc; background: #fff; color: #527073; font-size: 11px; }
.homepage-prepared-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.homepage-prepared-photo { min-width: 0; border: 1px solid #d2dfdd; background: #fff; }
.homepage-prepared-photo[draggable='true'] { cursor: grab; }
.homepage-prepared-photo[draggable='true']:active { cursor: grabbing; }
.homepage-prepared-photo.dragging { opacity: .62; }
.homepage-prepared-photo.drag-over { border-color: var(--accent-deep); box-shadow: 0 0 0 3px rgba(88,189,191,.22); }
.homepage-prepared-image { position: relative; }
.homepage-prepared-image img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.homepage-prepared-image > span { position: absolute; top: 10px; left: 10px; min-width: 32px; padding: 7px 8px; background: rgba(12,38,42,.82); color: #fff; font-size: 12px; font-weight: 700; text-align: center; }
.homepage-prepared-copy { display: grid; gap: 6px; padding: 14px; }
.homepage-prepared-copy > small { color: #2d7f81; font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.homepage-prepared-copy > strong { color: #173b40; font-size: 15px; }
.homepage-prepared-copy .homepage-photo-order { margin-top: 4px; }
.homepage-prepared-copy .homepage-photo-order .text-button { margin-left: auto; }
.homepage-prepared-empty { display: grid; justify-items: start; gap: 8px; padding: 28px; border: 1px dashed #c5dad5; background: #fff; color: #5d7779; }
.homepage-prepared-empty strong { color: #173b40; }
.homepage-prepared-empty p { margin: 0 0 8px; }
.homepage-photo-modal-backdrop { position: fixed; inset: 0; z-index: 120; display: grid; place-items: center; padding: 24px; background: rgba(14, 39, 43, .62); }
.homepage-photo-modal { display: grid; grid-template-rows: auto auto minmax(0, 1fr) auto; width: min(1180px, 100%); max-height: min(900px, calc(100vh - 48px)); overflow: hidden; border: 1px solid #cbded9; background: #f8fcfb; box-shadow: 0 24px 80px rgba(10, 38, 43, .28); }
.homepage-photo-modal-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; padding: 26px 28px 20px; border-bottom: 1px solid #d3e2de; background: #fff; }
.homepage-photo-modal-header h2 { margin: 5px 0 8px; color: #173b40; font-family: var(--heading-font, Georgia), serif; font-size: clamp(28px, 4vw, 42px); font-weight: 400; }
.homepage-photo-modal-header p:not(.eyebrow) { max-width: 700px; margin: 0; color: #60777a; line-height: 1.6; }
.homepage-photo-modal-close { width: 38px; height: 38px; border: 1px solid #cbded9; background: #fff; color: #31575a; cursor: pointer; font-size: 24px; line-height: 1; }
.homepage-photo-modal-close:hover, .homepage-photo-modal-close:focus-visible { background: #eaf6f2; }
.homepage-photo-modal-toolbar { display: grid; grid-template-columns: minmax(180px, .7fr) minmax(240px, 1fr) auto; align-items: end; gap: 14px; padding: 18px 28px; border-bottom: 1px solid #d3e2de; background: #eef8f5; }
.homepage-photo-modal-toolbar .form-field { margin: 0; }
.homepage-photo-modal-toolbar > small { padding-bottom: 11px; color: #5b7578; white-space: nowrap; }
.homepage-photo-picker-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; overflow: auto; padding: 22px 28px; }
.homepage-photo-picker-item { min-width: 0; border: 1px solid #d2dfdd; background: #fff; }
.homepage-photo-picker-item.selected { border-color: #4caeb0; box-shadow: 0 0 0 2px rgba(76,174,176,.14); }
.homepage-photo-picker-button { position: relative; display: block; width: 100%; padding: 0; border: 0; background: #dfe8e7; color: #fff; cursor: pointer; text-align: left; }
.homepage-photo-picker-button:disabled { cursor: not-allowed; filter: grayscale(.3); opacity: .68; }
.homepage-photo-picker-button img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.homepage-photo-picker-status { position: absolute; right: 8px; bottom: 8px; left: 8px; padding: 8px 9px; background: rgba(12,38,42,.82); color: #fff; font-size: 10px; letter-spacing: .06em; text-transform: uppercase; }
.homepage-photo-picker-item.selected .homepage-photo-picker-status { background: rgba(23,93,95,.9); }
.homepage-photo-picker-copy { display: grid; gap: 5px; padding: 12px; }
.homepage-photo-picker-copy strong { overflow: hidden; color: #173b40; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.homepage-photo-picker-copy small { overflow: hidden; color: #688083; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.homepage-photo-modal-footer { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 28px; border-top: 1px solid #d3e2de; background: #fff; }
.homepage-photo-modal-footer span { color: #60777a; font-size: 12px; }
.client-drawer-toggle, .client-overlay { display: none; }
.client-workspace-login, .client-workspace-empty { display: grid; max-width: 560px; min-height: 100vh; place-content: center; margin: auto; padding: 32px; text-align: center; }
.client-workspace-login { min-height: auto; margin-top: 15vh; padding: 48px; border: 1px solid #d3e1df; background: white; box-shadow: 0 15px 35px rgba(20,55,59,.08); }
.client-workspace-login .brand-logo { width: 170px; margin: 0 auto 28px; }
.property-admin-body { display: flex; align-items: stretch; gap: 26px; margin-top: 24px; }
.property-sidebar { position: sticky; inset: auto; z-index: 3; flex: 0 0 220px; width: 220px; min-height: 620px; padding: 18px 12px; }
.property-sidebar .client-sidebar-brand .brand-logo { width: 126px; }
.client-back-link { margin: 20px 8px 4px; color: #497073; font-size: 12px; text-decoration: none; }
.property-sidebar .client-workspace-label { margin: 18px 8px; }
.property-sidebar .client-sidebar-footer { margin-top: auto; }
.property-admin-content { min-width: 0; flex: 1; }
.property-admin-content .admin-note { margin-top: 0; }

.account-dashboard-shell { min-height: 100vh; background: #eef4f3; }
.account-dashboard-bar { display: flex; min-height: 76px; align-items: center; justify-content: space-between; gap: 20px; padding: 0 clamp(18px, 5vw, 68px); border-bottom: 1px solid #d5e1df; background: rgba(248,251,250,.95); }
.account-dashboard-bar .brand { display: flex; align-items: center; gap: 8px; color: inherit; text-decoration: none; }
.account-dashboard-bar .brand-logo { width: 142px; }
.account-user { display: flex; align-items: center; gap: 18px; color: #527073; font-size: 13px; }
.account-dashboard-main { max-width: 1280px; margin: auto; padding: 62px clamp(18px, 5vw, 68px) 90px; }
.account-workspace-list { display: grid; gap: 26px; }
.account-workspace-card { padding: clamp(20px, 3vw, 34px); border: 1px solid #d2dfdd; background: white; box-shadow: 0 12px 28px rgba(22,55,60,.05); }
.account-workspace-heading { display: flex; align-items: end; justify-content: space-between; gap: 28px; padding-bottom: 24px; border-bottom: 1px solid #e0e8e6; }
.account-workspace-heading h2 { margin: 8px 0; font-size: 36px; }
.account-workspace-heading p:not(.eyebrow) { color: #6b8082; }
.account-billing-card { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 22px; padding: 18px 20px; border: 1px solid #c9e0da; background: #f4fbf8; }
.account-billing-card h3 { margin: 4px 0 6px; font-size: 21px; }
.account-billing-card p:not(.eyebrow) { margin: 0; color: #5d7577; line-height: 1.55; }
.account-billing-card .admin-note { margin-top: 10px !important; }
.account-payment-card { display: grid; gap: 18px; margin-top: 14px; padding: 22px 24px; border: 1px solid #bcd9d1; background: #f7fcfa; }
.account-payment-heading { display: flex; align-items: start; justify-content: space-between; gap: 20px; }
.account-payment-heading h3 { margin: 4px 0 6px; font-size: 23px; }
.account-payment-heading p:not(.eyebrow), .account-payment-ready p, .account-payment-note, .account-payment-requirements { margin: 0; color: #5d7577; line-height: 1.6; }
.account-payment-setup, .account-payment-ready { display: grid; gap: 15px; padding-top: 2px; }
.account-payment-setup .form-field { max-width: 280px; }
.account-payment-setup .checkbox-field { display: flex; align-items: flex-start; gap: 10px; max-width: 680px; color: #5d7577; font-size: 12px; line-height: 1.55; }
.account-payment-setup .checkbox-field input { flex: 0 0 auto; width: 18px; height: 18px; margin: 1px 0 0; accent-color: var(--accent-deep); }
.account-payment-setup .button { justify-self: start; }
.account-payment-requirements { padding: 12px 14px; border: 1px solid #d5e5e0; background: #fff; overflow-wrap: anywhere; }
.account-card-actions, .account-property-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.account-workspace-heading > .account-card-actions { display: grid; grid-template-columns: minmax(188px, auto) minmax(112px, auto); align-items: center; gap: 16px; min-width: 316px; }
.account-workspace-heading > .account-card-actions .button { min-width: 188px; }
.account-workspace-heading > .account-card-actions .text-link, .account-property-actions .text-link { display: inline-flex; min-height: 46px; align-items: center; margin-top: 0; white-space: nowrap; }
.account-properties { display: grid; gap: 14px; padding-top: 20px; }
.account-property-row { display: grid; grid-template-columns: 120px minmax(0, 1fr) auto; align-items: center; gap: 20px; padding: 14px 0; }
.account-property-row > img, .account-property-row > .image-placeholder { width: 120px; height: 100px; object-fit: cover; }
.account-property-row h3 { margin: 5px 0; font-size: 24px; }
.account-property-description, .platform-property-description { margin: -2px 0 6px !important; color: #2f7377 !important; font-size: 11px !important; letter-spacing: .1em; text-transform: uppercase; }
.account-property-row p:not(.eyebrow) { margin: 6px 0; color: #60777a; }
.account-property-actions { display: grid; grid-template-columns: minmax(148px, auto) minmax(112px, auto); align-items: center; gap: 16px; min-width: 276px; }
.account-property-actions .button { min-width: 148px; }
.account-empty { max-width: 650px; padding: 36px; border: 1px solid #d2dfdd; background: white; }
.account-nav-tabs { display: flex; gap: 8px; margin-bottom: 28px; border-bottom: 1px solid #d5e1df; padding-bottom: 2px; overflow-x: auto; }
.account-tab-btn { padding: 10px 18px; border: 0; background: transparent; font-family: inherit; font-size: 15px; font-weight: 500; color: #5d7577; cursor: pointer; border-bottom: 2px solid transparent; transition: all .15s ease; white-space: nowrap; }
.account-tab-btn:hover { color: #173b40; }
.account-tab-btn.active { color: #173b40; border-bottom-color: var(--accent-deep, #237c80); font-weight: 600; }
.account-tab-badge { display: inline-flex; align-items: center; justify-content: center; min-width: 18px; height: 18px; padding: 0 6px; margin-left: 6px; border-radius: 99px; background: #e0ece9; font-size: 11px; color: #237c80; font-weight: 600; }
.account-profile-card { max-width: 680px; padding: clamp(24px, 4vw, 40px); border: 1px solid #d2dfdd; background: white; box-shadow: 0 12px 28px rgba(22,55,60,.05); }
.account-profile-card h2 { margin: 4px 0 10px; font-size: 28px; }
.account-profile-card p.description { margin: 0 0 24px; color: #5d7577; line-height: 1.55; }
.account-profile-form { display: grid; gap: 20px; }
.account-profile-form .form-field { display: grid; gap: 6px; }
.account-profile-form .form-field label { font-size: 13px; font-weight: 600; color: #173b40; }
.account-profile-form .form-field input, .account-profile-form .form-field select { padding: 10px 14px; border: 1px solid #c2d5d1; font-size: 15px; font-family: inherit; background: #fff; }
.account-profile-form .form-field input:focus, .account-profile-form .form-field select:focus { outline: 2px solid var(--accent-deep, #237c80); outline-offset: 1px; }
.account-email-status { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 16px; border: 1px solid #d5e5e0; background: #f8fbfa; margin-bottom: 6px; }
.account-email-status .badge-verified { color: #1e7046; background: #e8f7ee; padding: 4px 10px; border-radius: 4px; font-size: 12px; font-weight: 600; }
.account-email-status .badge-unverified { color: #9c5400; background: #fff4e5; padding: 4px 10px; border-radius: 4px; font-size: 12px; font-weight: 600; }
.account-login-divider { display: flex; align-items: center; text-align: center; margin: 20px 0; color: #879ea0; font-size: 12px; text-transform: uppercase; letter-spacing: .08em; }
.account-login-divider::before, .account-login-divider::after { content: ''; flex: 1; border-bottom: 1px solid #d5e1df; }
.account-login-divider:not(:empty)::before { margin-right: 12px; }
.account-login-divider:not(:empty)::after { margin-left: 12px; }
.account-email-login-form { display: grid; gap: 10px; margin-top: 8px; }
.account-email-login-form input { padding: 10px 14px; border: 1px solid #c2d5d1; font-size: 15px; }
.booking-request-card { padding: 24px; border: 1px solid #d2dfdd; background: white; margin-bottom: 20px; box-shadow: 0 4px 16px rgba(22,55,60,.04); }
.booking-request-card-header { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 12px; }
.booking-status-badge { display: inline-flex; align-items: center; padding: 4px 12px; border-radius: 99px; font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; }
.booking-status-submitted { background: #eef4f3; color: #3b5f63; }
.booking-status-under_review { background: #eef4f3; color: #3b5f63; }
.booking-status-approved { background: #e8f7ee; color: #1e7046; border: 1px solid #c2e5d1; }
.booking-status-needs_information { background: #fff8e6; color: #996200; border: 1px solid #ffe6a3; }
.booking-status-declined { background: #fbeee8; color: #94351a; }
.booking-status-converted { background: #e2f4f2; color: #176063; font-weight: 700; }
.booking-status-expired, .booking-status-cancelled { background: #f0f0f0; color: #777; }
.booking-request-details { display: flex; flex-wrap: wrap; gap: 20px; color: #5d7577; font-size: 14px; margin: 12px 0 16px; }
.booking-request-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 18px; padding-top: 16px; border-top: 1px solid #e5efed; }
.booking-suggested-box { padding: 14px 18px; background: #faf8f2; border: 1px solid #eee1c4; margin: 14px 0; }
.booking-message-history { display: grid; gap: 10px; margin: 14px 0; padding: 12px; background: #f6faf9; border-radius: 4px; }
.booking-message-item { display: grid; gap: 4px; font-size: 13px; line-height: 1.5; }

@media (max-width: 900px) {
  .hub-property-grid, .workspace-property-grid { grid-template-columns: 1fr; }
  .property-detail-layout, .property-contact-grid { grid-template-columns: 1fr; }
  .highlight-grid { grid-template-columns: 1fr 1fr; }
  .property-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .account-property-row { grid-template-columns: 100px minmax(0, 1fr); }
  .account-property-row > img, .account-property-row > .image-placeholder { width: 100px; height: 86px; }
  .account-property-actions { grid-column: 2; justify-self: stretch; min-width: 0; }
  .account-property-actions .button { min-width: 0; }
}

@media (max-width: 760px) {
  .related-properties-heading { align-items: start; }
  .related-properties-track { display: flex; gap: 14px; overflow-x: auto; padding-bottom: 12px; scroll-snap-type: x mandatory; scrollbar-width: thin; }
  .related-property-card { flex: 0 0 min(86vw, 360px); scroll-snap-align: start; }
}

@media (max-width: 760px) {
  .property-overview-heading { display: grid; align-items: start; }
  .homepage-photo-toolbar { display: grid; align-items: start; }
  .homepage-photo-group-heading { display: grid; gap: 4px; }
  .homepage-photo-toolbar .admin-actions { display: grid; }
  .homepage-photo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .homepage-photo-copy { padding: 11px; }
  .homepage-photo-order { display: grid; grid-template-columns: 1fr 1fr; }
  .homepage-photo-order > span { grid-column: 1 / -1; }
  .homepage-photo-order .button { width: 100%; }
  .homepage-prepared-heading { display: grid; gap: 16px; }
  .homepage-prepared-heading .button { width: 100%; }
  .homepage-prepared-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .homepage-prepared-copy { padding: 11px; }
  .homepage-photo-modal-backdrop { padding: 10px; }
  .homepage-photo-modal { max-height: calc(100vh - 20px); }
  .homepage-photo-modal-header, .homepage-photo-modal-toolbar, .homepage-photo-modal-footer { padding-right: 16px; padding-left: 16px; }
  .homepage-photo-modal-toolbar { grid-template-columns: 1fr; align-items: stretch; }
  .homepage-photo-modal-toolbar > small { padding-bottom: 0; white-space: normal; }
  .homepage-photo-picker-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; padding: 14px 16px; }
  .homepage-photo-modal-footer { align-items: stretch; flex-direction: column; }
  .homepage-photo-modal-footer .button { width: 100%; }
  .client-sidebar { width: min(82vw, 300px); transform: translateX(-105%); transition: transform .2s ease; box-shadow: 12px 0 30px rgba(18,47,51,.16); }
  .client-sidebar.open { transform: translateX(0); }
  .client-sidebar-close { display: grid; width: 44px; height: 44px; place-items: center; margin-left: auto; border: 0; background: transparent; color: #173b40; cursor: pointer; font-size: 28px; }
  .client-sidebar-brand { display: flex; align-items: center; }
  .client-overlay { position: fixed; inset: 0; z-index: 24; display: block; background: rgba(11,30,33,.48); opacity: 0; pointer-events: none; transition: opacity .2s ease; }
  .client-overlay.visible { opacity: 1; pointer-events: auto; }
  .client-drawer-toggle { position: fixed; top: 14px; left: 14px; z-index: 20; display: inline-flex; min-height: 44px; align-items: center; gap: 8px; padding: 10px 14px; border: 1px solid #bfd5d1; background: white; color: #173b40; cursor: pointer; font-size: 18px; }
  .client-drawer-toggle span { font-size: 11px; letter-spacing: .1em; text-transform: uppercase; }
  .client-admin-main { margin-left: 0; padding: 84px 16px 56px; }
  .client-main-header, .account-dashboard-intro, .account-workspace-heading { display: grid; align-items: start; }
  .client-main-header h1, .account-dashboard-intro h1 { font-size: 42px; }
  .workspace-stat-grid { grid-template-columns: 1fr; }
  .workspace-property-card { grid-template-columns: 1fr; }
  .workspace-property-card > img, .workspace-property-card > .image-placeholder { aspect-ratio: 16 / 9; min-height: 0; }
  .workspace-availability-grid { grid-template-columns: 1fr; }
  .workspace-availability-grid .inbox-property-list { max-height: none; border-right: 0; border-bottom: 1px solid #d6e3e0; }
  .workspace-reservations-layout { grid-template-columns: 1fr; }
  .workspace-reservations-layout .inbox-property-list { max-height: none; border-right: 0; border-bottom: 1px solid #d6e3e0; }
  .workspace-reservations-detail { padding: 22px 16px; }
  .workspace-review-summary-grid { grid-template-columns: 1fr; }
  .workspace-review-activity { padding: 20px; }
  .workspace-review-activity-header { display: grid; }
  .workspace-review-preview { display: grid; }
  .workspace-review-owner-actions { justify-content: start; }
  .workspace-calendar-day { min-height: 48px; }
  .availability-selection-card { display: grid; align-items: start; }
  .availability-selection-card .admin-actions { display: flex; }
  .workspace-calendar-source-grid { grid-template-columns: 1fr; }
  .workspace-calendar-provider-list { grid-template-columns: 1fr; }
  .workspace-calendar-settings-card .admin-actions .button { flex: 1 1 150px; }
  .property-admin-body { display: block; margin: 0; }
  .property-admin-body .property-sidebar { position: fixed; inset: 0 auto 0 0; width: min(82vw, 300px); min-height: 0; transform: translateX(-105%); }
  .property-admin-body .property-sidebar.open { transform: translateX(0); }
  .property-admin-content { min-width: 0; }
  .account-dashboard-bar { min-height: 68px; padding: 0 14px 0 72px; }
  .account-dashboard-bar .brand-logo { width: 120px; }
  .account-user > span { display: none; }
  .account-dashboard-main { padding-top: 40px; }
  .account-billing-card { display: grid; align-items: start; }
  .reservation-payment-form { grid-template-columns: 1fr; }
  .reservation-review-actions { align-items: stretch; flex-direction: column; }
  .account-payment-heading { display: grid; }
  .account-property-row { grid-template-columns: 84px minmax(0, 1fr); gap: 12px; }
  .account-property-row > img, .account-property-row > .image-placeholder { width: 84px; height: 76px; }
  .account-property-row h3 { font-size: 20px; }
  .account-property-row p:not(.eyebrow) { font-size: 13px; }
  .account-property-actions { grid-column: 1 / -1; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px; }
  .account-property-actions > .button, .account-property-actions > .text-link { width: 100%; }
  .account-workspace-heading > .account-card-actions { grid-template-columns: minmax(0, 1fr) minmax(112px, auto); min-width: 0; }
  .account-workspace-heading > .account-card-actions .button { min-width: 0; }
  .hub-hero-overlay { width: 100%; min-height: 650px; padding: 110px 22px 96px; }
  .hub-hero-overlay h1 { font-size: 52px; }
  .hub-hero .property-carousel-thumbs { right: 14px; bottom: 14px; max-width: 72vw; }
  .property-page-hero { padding-top: 72px; }
  .property-page-heading { padding: 30px 18px 42px; }
  .property-page-heading h1 { font-size: 48px; }
  .property-contact-grid, .property-detail-layout { gap: 30px; }
  .highlight-grid { grid-template-columns: 1fr; }
}
.property-section-nav { display: flex; flex-wrap: wrap; gap: 8px; max-width: 1280px; margin: 0 auto; padding: 12px clamp(18px, 5vw, 68px); border-top: 1px solid #d9e5e2; border-bottom: 1px solid #d9e5e2; background: #fbfdfc; }
.property-section-nav a { min-height: 44px; display: inline-flex; align-items: center; padding: 10px 16px; color: #397d80; font-size: 12px; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.property-section-nav a:hover { background: #e8f4f1; color: #173b40; }
.property-section-intro { max-width: 680px; color: #587073; font-size: 17px; }
.property-booking-section { background: #17383c; color: white; }
.property-booking-card { display: flex; align-items: center; justify-content: space-between; gap: 32px; max-width: 1180px; margin: auto; }
.property-booking-card h2 { max-width: 660px; margin: 8px 0 10px; color: white; font-size: clamp(34px, 4vw, 58px); }
.property-booking-card p:not(.eyebrow) { max-width: 680px; color: rgba(255,255,255,.8); font-size: 17px; }
.property-booking-card .button.secondary { border-color: rgba(255,255,255,.55); color: white; }

@media (max-width: 760px) {
  .property-section-nav { overflow-x: auto; flex-wrap: nowrap; padding-inline: 14px; }
  .property-section-nav a { flex: 0 0 auto; padding-inline: 13px; }
  .property-booking-card { display: grid; gap: 22px; }
}
/* Platform user-to-client assignment dialog. */
.platform-user-assign { min-height: 38px; padding: 8px 12px; white-space: nowrap; }
.platform-modal-backdrop { position: fixed; inset: 0; z-index: 100; display: grid; place-items: center; padding: 20px; background: rgba(12, 36, 40, .58); }
.platform-modal { position: relative; width: min(560px, 100%); padding: 32px; border: 1px solid #cdddda; background: #fff; box-shadow: 0 24px 80px rgba(10, 38, 43, .24); }
.platform-modal h2 { max-width: 18ch; margin: 10px 0 8px; font-family: var(--heading-font, Georgia), serif; font-size: clamp(28px, 4vw, 42px); font-weight: 400; line-height: 1.08; }
.platform-modal > p:not(.eyebrow) { color: #688083; }
.platform-modal .form-field { display: grid; gap: 7px; margin-top: 22px; }
.platform-modal .form-field span { color: #456367; font-size: 11px; letter-spacing: .1em; text-transform: uppercase; }
.platform-modal .form-field select { width: 100%; }
.platform-modal-close { position: absolute; top: 12px; right: 14px; width: 42px; height: 42px; border: 0; background: transparent; color: #456367; font-size: 28px; cursor: pointer; }
.platform-modal-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 28px; }

@media (max-width: 760px) {
  .platform-modal { padding: 26px 20px 22px; }
  .platform-modal-actions { display: grid; grid-template-columns: 1fr; }
  .platform-modal-actions .button { width: 100%; }
}

.property-filter-bar { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 18px; }
.property-filter-bar button { min-height: 44px; padding: 9px 14px; border: 1px solid #cadbd8; background: #f8fbfa; color: #527073; cursor: pointer; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.property-filter-bar button:hover, .property-filter-bar button.active { border-color: #2b8588; background: #e3f2ef; color: #173b40; }
.property-filter-bar button span { display: inline-grid; min-width: 22px; height: 22px; place-items: center; margin-left: 5px; border-radius: 50%; background: white; color: #347d80; letter-spacing: 0; }
.property-management-grid { align-items: start; }
.property-management-card { display: grid; gap: 18px; }
.property-management-card > p { margin: 0; color: #60777a; }
.property-readiness { padding: 16px 18px; border-left: 3px solid #c8844a; background: #fff6ee; color: #6d5745; }
.property-readiness.ready { border-left-color: #36946d; background: #eaf7f0; color: #2f6d55; }
.property-readiness strong { display: block; font-size: 13px; }
.property-readiness ul { display: grid; gap: 5px; margin: 10px 0 0; padding-left: 20px; font-size: 12px; }
.property-readiness small { display: block; margin-top: 9px; color: #8b643f; }
.property-slug-editor { gap: 9px; }
.property-slug-editor > span { color: #456367; font-size: 10px; letter-spacing: .1em; text-transform: uppercase; }
.property-slug-editor .platform-inline-form { margin-top: 0; }
.property-url-prefix { color: #60777a; font-size: 12px; overflow-wrap: anywhere; }
.property-order-controls { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding-top: 14px; border-top: 1px solid #d7e2e0; }
.property-order-controls > span { margin-right: auto; color: #60777a; font-size: 11px; letter-spacing: .06em; text-transform: uppercase; }
.property-lifecycle-modal textarea { width: 100%; padding: 12px 13px; border: 1px solid var(--line); background: var(--paper); color: var(--ink); resize: vertical; }
.property-lifecycle-modal textarea:focus { border-color: var(--accent); box-shadow: 0 0 0 3px rgba(88,189,191,.14); outline: none; }

@media (max-width: 760px) {
  .property-filter-bar { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .property-filter-bar button { width: 100%; }
  .property-order-controls { display: grid; grid-template-columns: 1fr 1fr; }
  .property-order-controls > span { grid-column: 1 / -1; margin: 0; }
  .property-slug-editor .platform-inline-form { display: grid; grid-template-columns: 1fr; }
}

/* Client admin chrome: keep identity in one full-width bar and reserve the sidebar for navigation. */
.admin-shell { min-height: 100vh; padding: 0; background: #eef3f2; }
.admin-bar { width: 100%; max-width: none; min-height: 78px; margin: 0; padding: 0 clamp(24px, 5vw, 68px); border-bottom: 1px solid #d2e0de; background: #f8fbfa; }
.admin-bar .brand { display: inline-flex; align-items: center; gap: 8px; color: var(--navy); text-decoration: none; }
.admin-account { display: flex; align-items: center; justify-content: flex-end; gap: 18px; margin-left: auto; }
.admin-account-copy { display: grid; gap: 2px; text-align: right; }
.admin-account-copy strong { color: #24474b; font-size: 13px; font-weight: 500; }
.admin-account-copy span { color: #6b8082; font-size: 11px; }
.admin-bar .button { min-height: 44px; }
.admin-panel { max-width: 1180px; margin: 0 auto; padding: 34px clamp(20px, 3vw, 34px) 64px; }
.client-workspace-bar { position: fixed; inset: 0 0 auto; z-index: 30; display: flex; min-height: 78px; align-items: center; justify-content: space-between; gap: 20px; padding: 0 clamp(24px, 5vw, 68px); border-bottom: 1px solid #d2e0de; background: rgba(248,251,250,.97); }
.client-workspace-brand { display: inline-flex; align-items: center; gap: 8px; color: inherit; text-decoration: none; }
.client-workspace-brand .brand-logo { width: 166px; }
.client-account { display: flex; align-items: center; justify-content: flex-end; gap: 18px; }
.client-account-menu { position: relative; }
.client-account-menu summary { display: inline-flex; align-items: center; gap: 10px; padding: 5px 0; cursor: pointer; list-style: none; }
.client-account-menu summary::-webkit-details-marker { display: none; }
.client-account-menu-panel { position: absolute; top: calc(100% + 8px); right: 0; z-index: 40; width: 190px; padding: 7px; border: 1px solid #d4e2df; background: #fff; box-shadow: 0 14px 30px rgba(20,37,42,.16); }
.client-account-menu-panel a, .client-account-menu-panel button { display: flex; width: 100%; align-items: center; padding: 10px; border: 0; background: transparent; color: #24474b; cursor: pointer; font-size: 12px; text-align: left; text-decoration: none; }
.client-account-menu-panel a:hover, .client-account-menu-panel a:focus-visible, .client-account-menu-panel button:hover, .client-account-menu-panel button:focus-visible { background: #eef8f6; color: #155b60; }
.client-account-chevron { width: 8px; height: 8px; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; transform: rotate(45deg) translateY(-2px); transition: transform .18s ease; }
.client-account-menu[open] .client-account-chevron { transform: rotate(225deg) translate(-1px, -1px); }
.client-account-copy { display: grid; gap: 2px; text-align: right; }
.client-account-copy strong { color: #24474b; font-size: 13px; font-weight: 500; }
.client-account-copy span, .client-account-copy small { color: #6b8082; font-size: 11px; }
.client-account-copy small { color: #258b8d; text-transform: capitalize; }
.shared-account-menu { position: relative; }
.shared-account-menu summary { display: inline-flex; align-items: center; gap: 10px; padding: 5px 0; cursor: pointer; list-style: none; }
.shared-account-menu summary::-webkit-details-marker { display: none; }
.shared-account-menu-panel { position: absolute; top: calc(100% + 8px); right: 0; z-index: 50; width: 190px; padding: 7px; border: 1px solid #d4e2df; background: #fff; box-shadow: 0 14px 30px rgba(20,37,42,.16); }
.shared-account-menu-panel a, .shared-account-menu-panel button { display: flex; width: 100%; align-items: center; padding: 10px; border: 0; background: transparent; color: #24474b; cursor: pointer; font-size: 12px; text-align: left; text-decoration: none; }
.shared-account-menu-panel a:hover, .shared-account-menu-panel a:focus-visible, .shared-account-menu-panel button:hover, .shared-account-menu-panel button:focus-visible { background: #eef8f6; color: #155b60; }
.shared-account-copy { display: grid; gap: 2px; text-align: right; }
.shared-account-copy strong { color: #24474b; font-size: 13px; font-weight: 500; }
.shared-account-copy span, .shared-account-copy small { color: #6b8082; font-size: 11px; }
.shared-account-copy small { color: #258b8d; text-transform: capitalize; }
.shared-account-chevron { width: 8px; height: 8px; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; transform: rotate(45deg) translateY(-2px); transition: transform .18s ease; }
.shared-account-menu[open] .shared-account-chevron { transform: rotate(225deg) translate(-1px, -1px); }
.client-workspace .client-sidebar { inset: 78px auto 0 0; }
.client-workspace .client-admin-main { padding-top: 136px; }
.client-sidebar-mobile-label { display: none; color: #477174; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; }
.property-sidebar .client-sidebar-mobile-label { display: none; }

@media (max-width: 760px) {
  .admin-bar { min-height: 68px; padding: 0 14px 0 68px; }
  .admin-account { gap: 10px; }
  .admin-account-copy span { display: none; }
  .admin-bar .brand-logo { width: 142px; }
  .admin-panel { padding: 26px 16px 56px; }
  .client-workspace-bar { min-height: 68px; padding: 0 14px 0 68px; }
  .client-workspace-brand .brand-logo { width: 132px; }
  .client-account { gap: 10px; }
  .client-account-copy span, .client-account-copy small { display: none; }
  .client-account .button { min-height: 44px; padding-inline: 12px; }
  .shared-account-copy span, .shared-account-copy small { display: none; }
  .client-workspace .client-sidebar { inset: 0 auto 0 0; z-index: 40; }
  .client-workspace .client-admin-main { padding-top: 100px; }
  .client-sidebar-mobile-label { display: block; }
  .property-sidebar .client-sidebar-mobile-label { display: block; }
  .client-sidebar-brand { display: flex; min-height: 44px; align-items: center; }
}
/* Final mobile comparison and platform navigation refinements. */
.platform-contrast .section-heading > p:not(.eyebrow) { max-width: 900px; margin-inline: auto; font-size: 14px; line-height: 1.65; }
.benefit-box .card-index { display: none; }
.benefit-box .platform-card-icon { margin-inline: auto; }
@media (min-width: 761px) {
  .platform-home-current { display: none !important; }
}

@media (max-width: 760px) {
  .comparison-table tbody th .comparison-row-icon,
  .comparison-row-icon {
    width: 54px;
    height: 54px;
    border-radius: 50%;
    background: #edf7f6 !important;
    color: var(--accent-deep) !important;
    font-size: 28px;
  }
  .comparison-table tbody th {
    gap: 8px;
    font-size: 11px;
  }
  .comparison-table tbody td {
    font-size: 12px;
    line-height: 1.55;
  }
  .comparison-table tbody td::before {
    font-size: 8px;
  }
  .platform-contrast .section-heading > p:not(.eyebrow) {
    font-size: 13px;
    line-height: 1.6;
  }
}
/* Focused property hero and booking page refinements. */
.property-page-hero {
  min-height: min(760px, 82vh);
  padding: 0;
  background: #16383c;
  color: white;
}
.property-page-hero > .property-carousel {
  position: absolute;
  inset: 0;
  max-width: none;
  margin: 0;
}
.property-page-hero > .property-carousel .property-carousel-main {
  height: 100%;
  aspect-ratio: auto;
}
.property-page-hero > .property-carousel .property-carousel-thumbs {
  position: absolute;
  right: clamp(18px, 4vw, 52px);
  bottom: 24px;
  z-index: 4;
  max-width: min(58vw, 720px);
}
.property-page-hero > .property-carousel .property-carousel-thumb {
  width: 64px;
  height: 46px;
  border-color: rgba(255,255,255,.42);
}
.property-page-hero > .property-carousel .property-carousel-thumb.active {
  border-color: var(--accent, #58bdbf);
}
.property-page-hero > .property-carousel .property-carousel-control {
  z-index: 4;
}
.property-page-hero .property-page-heading {
  position: relative;
  z-index: 4;
  width: min(1180px, calc(100% - 48px));
  padding: 170px 0 108px;
  margin: auto;
}
.property-page-hero .property-page-heading h1,
.property-page-hero .property-page-heading > p:not(.eyebrow) {
  color: white;
}
.property-page-hero .property-page-heading > .eyebrow {
  color: white;
  text-shadow: 0 1px 10px rgba(0, 0, 0, .3);
}
.property-page-hero .property-page-heading > p:not(.eyebrow) {
  max-width: 680px;
}
.booking-property-booking-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr);
  gap: clamp(28px, 5vw, 72px);
  margin-top: 38px;
}
.booking-contact-box {
  align-self: start;
  padding: clamp(22px, 3vw, 34px);
  border: 1px solid #d1e2de;
  background: #f3faf7;
}
.booking-contact-box h2 {
  margin: 8px 0 12px;
  font-size: clamp(30px, 4vw, 52px);
}
.booking-contact-box > p:not(.eyebrow) {
  color: #587073;
}
.booking-contact-box .enquiry-form {
  margin-top: 24px;
}
@media (max-width: 900px) {
  .booking-property-booking-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .property-page-hero {
    min-height: 650px;
  }
  .property-page-hero .property-page-heading {
    width: calc(100% - 32px);
    padding: 130px 0 92px;
  }
  .property-page-hero .property-page-heading h1 {
    font-size: 52px;
  }
  .property-page-hero > .property-carousel .property-carousel-thumbs {
    right: 14px;
    bottom: 14px;
    max-width: 76vw;
  }
  .property-page-hero > .property-carousel .property-carousel-thumb {
    width: 58px;
    height: 42px;
  }
}

.property-location-section { border-top: 1px solid var(--line, #d8e0df); }
.property-location-grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(20rem, .6fr); gap: 2rem; align-items: stretch; }
.property-map { width: 100%; min-height: 30rem; border: 0; background: #e9efef; }
.property-location-card { display: flex; flex-direction: column; justify-content: center; gap: 1rem; padding: 2rem; background: #edf7f5; color: #183f45; }
.property-location-card p, .property-location-card .form-field > span { color: #183f45; }
.property-location-card .button.secondary { border-color: #b7d0cc; color: #183f45; }
.property-location-card .button.secondary:hover { background: #183f45; color: white; }
.property-location-card .text-link { color: #237c80; }
.property-location-card .text-link:hover, .property-location-card .text-link:focus { color: #155b60; }
.property-location-card .form-field { margin-top: .5rem; }
.property-location-card small { color: #607275; line-height: 1.6; }
.property-video-section { background: #f1f8f6; }
.property-video-frame { width: min(100%, 980px); aspect-ratio: 16 / 9; margin: 0 auto; background: #14252a; box-shadow: var(--shadow); }
.property-video-frame iframe { display: block; width: 100%; height: 100%; border: 0; }
.distance-result, .distance-notice { margin: 0; padding: .85rem 1rem; background: #fff; border-left: 3px solid var(--accent, #58bdbf); }
@media (max-width: 760px) {
  .footer-copyright { width: min(100% - 32px, 1180px); }
  .inbox-two-pane-grid { grid-template-columns: 1fr; }
  .manager-row { grid-template-columns: 1fr; gap: 12px; }
  .manager-row > .button, .manager-row > .admin-actions, .manager-row > .admin-actions .button { width: 100%; }
  .manager-row > .admin-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .inbox-toolbar-actions { width: 100%; }
  .inbox-toolbar-toggle { flex: 1 1 auto; justify-content: space-between; }
  .inbox-toolbar-actions .inbox-filter, .inbox-toolbar-actions > .button { flex: 1 1 0; }
  .inbox-toolbar-actions > .button { width: auto; }
  .inbox-list, .inbox-property-list { max-height: 340px; border-right: 0; border-bottom: 1px solid #d6e3e0; }
  .inbox-detail-header { display: grid; }
  .inbox-enable-toggle { width: 100%; max-width: none; }
  .inbox-message-detail-header { display: grid; }
  .inbox-status-control { width: 100%; }
  .inbox-status-control select { width: 100%; }
  .property-location-grid { grid-template-columns: 1fr; }
  .property-map { min-height: 20rem; }
  .property-location-card { padding: 1.25rem; }
}
.admin-map-preview { width: 100%; min-height: 22rem; border: 1px solid var(--line, #d8e0df); background: #edf2f2; }
.form-field-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 8px; }
.form-field-heading > span { margin: 0; }
.property-video-field .button, .form-field-heading .button { min-height: 34px; padding: 7px 12px; font-size: 11px; }
.admin-video-preview { width: min(100%, 760px); aspect-ratio: 16 / 9; margin-top: 14px; background: #14252a; }
.admin-video-preview iframe { display: block; width: 100%; height: 100%; border: 0; }
.compact-form-grid { margin-top: 4px; }

.property-slug-row, .template-version { padding: 1rem 0; border-top: 1px solid var(--line, #d8e0df); }
.property-slug-row { display: grid; grid-template-columns: minmax(14rem, .7fr) minmax(20rem, 1.3fr); gap: 1rem; align-items: center; }
.property-slug-row small { display: block; margin-top: .35rem; overflow-wrap: anywhere; }
.template-previews { display: grid; grid-template-columns: 2fr 1fr; gap: .75rem; margin: .75rem 0; }
.template-previews img { width: 100%; max-height: 15rem; object-fit: cover; border: 1px solid var(--line, #d8e0df); }
@media (max-width: 760px) { .property-slug-row, .template-previews { grid-template-columns: 1fr; } }
/* AI-assisted listing import review */
.import-review { display: grid; gap: 18px; }
.import-review-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.import-check-row { display: flex; align-items: flex-start; gap: 12px; padding: 13px 0; border-top: 1px solid #e5ebea; cursor: pointer; }
.import-check-row:first-of-type { border-top: 0; }
.import-check-row input { flex: 0 0 auto; width: 18px; height: 18px; margin: 1px 0 0; accent-color: var(--accent-deep, #168a89); }
.import-check-row span { display: grid; gap: 4px; min-width: 0; }
.import-check-row strong { font-size: 14px; font-weight: 600; }
.import-check-row small { color: #607577; line-height: 1.55; overflow-wrap: anywhere; }
.import-card-heading { display: flex; align-items: end; justify-content: space-between; gap: 18px; margin-bottom: 8px; }
.import-card-heading p { margin-bottom: 0; }
.import-source-input { min-height: 250px; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 12px; line-height: 1.55; }
.import-source-guide { margin-top: 18px; padding: 14px 16px; border: 1px solid #cfe2df; background: #f5fbfa; color: #607577; font-size: 13px; line-height: 1.6; }
.import-source-guide summary { color: #173b40; cursor: pointer; font-weight: 600; }
.import-source-guide ol { display: grid; gap: 7px; margin: 12px 0 0; padding-left: 22px; }
.import-source-guide strong { color: #173b40; }
.import-json-preview { max-height: 520px; margin: 18px 0 0; padding: 16px; overflow: auto; background: #f5f7f7; color: #334849; font-size: 12px; line-height: 1.55; white-space: pre-wrap; overflow-wrap: anywhere; }
.import-image-list { margin-top: 12px; }
.import-queue-card { margin-bottom: 22px; }
.import-request-list { display: grid; gap: 10px; margin-top: 18px; }
.import-request-row { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 16px 18px; border: 1px solid #d8e3e0; background: #fff; }
.import-request-row > div { min-width: 0; }
.import-request-row p { margin: 6px 0 0; color: #627779; font-size: 13px; overflow-wrap: anywhere; }
.import-request-row small { display: block; margin-top: 7px; color: #607577; line-height: 1.5; }
.import-request-row a { color: #267d80; }
.import-request-row .platform-list-row { display: flex; align-items: center; gap: 12px; }
.import-request-row .workspace-status { white-space: nowrap; }
@media (max-width: 760px) {
  .import-review-grid { grid-template-columns: 1fr; }
  .import-card-heading { align-items: start; flex-direction: column; }
  .import-card-heading .button { width: 100%; }
  .listing-import-card { grid-template-columns: 1fr; }
  .import-request-row { align-items: flex-start; flex-direction: column; }
  .import-request-row .button { width: 100%; }
}
.ai-provider-settings h3 { margin: 4px 0 10px; font-size: 22px; }
.ai-provider-status { display: flex; flex-wrap: wrap; gap: 10px 24px; margin-top: 20px; padding: 14px 16px; border: 1px solid #d5dfde; background: #f5fbfa; color: #607577; font-size: 13px; }
.ai-provider-status strong { color: #233337; }
.ai-provider-clear { display: flex; flex-wrap: wrap; gap: 12px 24px; margin-top: 16px; color: #607577; font-size: 13px; }
.ai-provider-clear label { display: flex; align-items: center; gap: 8px; }
.platform-settings-tabs { grid-template-columns: repeat(4, minmax(0, 1fr)); margin-bottom: 18px; }
.platform-settings-tabs .settings-tab, .platform-ai-tabs .settings-tab { min-height: 64px; }
.platform-ai-tabs { grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 900px; margin: 26px 0 22px; }
.platform-settings-tabs + .platform-card { margin-top: 0; }
.ai-provider-choice { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin: 4px 0 22px; padding: 16px 18px; border: 1px solid #cfe2df; background: #f5fbfa; }
.ai-provider-choice > div { display: grid; gap: 4px; }
.ai-provider-choice .eyebrow { margin: 0; }
.ai-provider-choice strong { font-size: 18px; }
.ai-provider-choice small { color: #607577; font-size: 12px; }
.admin-note-error { border-left-color: #b65d43; background: #fff2ed; color: #8e4d39; }
/* Internal booking and reliable public carousel surfaces. */
.booking-hero { position: relative; min-height: min(680px, 78vh); overflow: hidden; background: #16383c; color: white; }
.booking-hero > .property-carousel { position: absolute; inset: 0; z-index: 2; }
.booking-hero > .property-carousel .property-carousel-main { height: 100%; aspect-ratio: auto; }
.booking-hero::after { position: absolute; inset: 0; z-index: 1; background: transparent; content: ''; pointer-events: none; }
.booking-hero-overlay { position: relative; z-index: 3; display: flex; min-height: min(680px, 78vh); max-width: 780px; flex-direction: column; justify-content: end; padding: 170px var(--gutter) 100px; margin-inline: auto; pointer-events: none; }
.booking-hero-overlay h1 { max-width: 680px; margin: 10px 0 18px; color: white; font-size: clamp(48px, 7vw, 88px); line-height: .98; }
.booking-hero-overlay > p:not(.eyebrow) { max-width: 620px; color: rgba(255,255,255,.88); font-size: 19px; }
.booking-selector-section { background: #f6f9f8; }
.booking-property-picker { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; margin-top: 28px; }
.booking-property-option { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 3px 13px; min-height: 80px; align-items: center; padding: 10px 14px; border: 1px solid #cdddda; background: white; color: var(--ink); cursor: pointer; text-align: left; }
.booking-property-option img { grid-row: 1 / span 2; width: 72px; height: 58px; object-fit: cover; }
.booking-property-option span { font-family: var(--heading-font, 'Playfair Display'), serif; font-size: 20px; }
.booking-property-option small { color: var(--muted); font-size: 12px; }
.booking-property-option:hover, .booking-property-option.active { border-color: var(--accent); box-shadow: inset 0 0 0 2px var(--accent); }
.booking-property-panel { margin-top: 28px; padding: clamp(20px, 4vw, 42px); border: 1px solid #d5e1df; background: white; }
.booking-property-summary { display: grid; grid-template-columns: minmax(180px, .65fr) minmax(0, 1.35fr); gap: clamp(22px, 4vw, 48px); align-items: center; padding-bottom: 34px; border-bottom: 1px solid var(--line); }
.booking-property-summary > img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.booking-property-summary h2 { margin: 8px 0 12px; font-family: var(--heading-font, 'Playfair Display'), serif; font-size: clamp(34px, 5vw, 60px); font-weight: 400; line-height: 1; }
.booking-property-summary > div > p:not(.eyebrow) { max-width: 640px; color: var(--muted); line-height: 1.7; }
.property-carousel { position: relative; isolation: isolate; }
.property-carousel-main { z-index: 1; }
.property-carousel-control, .property-carousel-thumb { z-index: 6; }
.property-carousel-thumb { transition: border-color .2s ease, opacity .2s ease, transform .2s ease; }
.property-carousel-thumb.loading { border-color: var(--accent); opacity: .62; transform: scale(.96); }
.property-carousel-loading { position: absolute; z-index: 7; top: 16px; right: 16px; padding: 7px 10px; background: rgba(16,40,45,.78); color: white; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.property-carousel-error { position: absolute; z-index: 7; right: 16px; bottom: 16px; max-width: 260px; margin: 0; padding: 8px 10px; background: rgba(100,35,28,.88); color: white; font-size: 12px; }
.hub-hero > .property-carousel, .property-page-hero > .property-carousel { z-index: 2; }
.hub-hero > .property-carousel .property-carousel-control, .property-page-hero > .property-carousel .property-carousel-control, .booking-hero > .property-carousel .property-carousel-control { z-index: 8; }
.property-page-hero .property-page-heading { z-index: 5; pointer-events: none; }
.property-page-hero .property-page-heading a, .property-page-hero .property-page-heading button { pointer-events: auto; }
.hub-property-card-image-link { display: block; color: inherit; text-decoration: none; }
.hub-property-card-body .property-page-actions { align-items: center; margin-top: 22px; }
.hub-property-card-body .text-link { min-height: 44px; display: inline-flex; align-items: center; }
.calendar-head { align-items: flex-start; }
.calendar-selection-hint { margin: 5px 0 0; color: var(--muted); font-size: 12px; }
.day.arrival, .day.departure { border-color: var(--accent); background: var(--accent); color: white; }
.day.in-range { border-color: rgba(88,189,191,.35); background: #e3f3f0; color: var(--ink); }
.calendar-selection-error { margin-top: 12px; padding: 11px 13px; border-left: 3px solid #c36a54; background: #fff1ed; color: #874633; font-size: 13px; }

@media (max-width: 760px) {
  .booking-hero, .booking-hero-overlay { min-height: 590px; }
  .booking-hero-overlay { padding: 120px var(--gutter) 72px; }
  .booking-hero-overlay h1 { font-size: 54px; }
  .booking-property-picker { grid-template-columns: 1fr; }
  .booking-property-summary { grid-template-columns: 1fr; }
  .booking-property-summary > img { aspect-ratio: 16 / 9; }
  .booking-property-panel { padding: 18px; }
  .booking-property-option { min-height: 76px; }
  .property-carousel-loading { top: 10px; right: 10px; }
}

.client-appearance-card { margin: 22px 0; }
.appearance-preview { display: grid; gap: 8px; margin-top: 22px; padding: 20px 22px; border-left: 4px solid var(--appearance-accent, #58bdbf); background: color-mix(in srgb, var(--appearance-accent, #58bdbf) 10%, white); }
.appearance-preview span { color: var(--appearance-accent, #58bdbf); font-size: 10px; letter-spacing: .16em; text-transform: uppercase; }
.appearance-preview strong { color: #233337; font-family: var(--appearance-font, 'Playfair Display'), serif; font-size: clamp(26px, 3vw, 44px); font-weight: 400; line-height: 1.05; }
@media (max-width: 760px) { .appearance-preview strong { font-size: 30px; } }
@media (max-width: 760px) {
  .property-review-summary-grid { grid-template-columns: 1fr; }
  .property-reviews-grid { grid-template-columns: 1fr; }
  .property-review-filter-bar { gap: 8px; }
  .property-review-filter { flex: 1 1 140px; justify-content: space-between; }
  .workspace-review-toolbar { align-items: stretch; }
  .workspace-review-toolbar .form-field { min-width: 100%; }
  .workspace-review-activity-card > header, .workspace-review-activity-meta { display: grid; }
  .workspace-review-card > header, .property-review-meta { display: grid; }
  .property-review-badges { justify-content: start; }
  .property-review-card footer { display: grid; }
}
/* Property gallery and external-link presentation. */
.property-page .property-carousel-control { display: none !important; }
.property-page-hero::after {
  z-index: 1;
  background: transparent;
  pointer-events: none;
}
.property-page-hero > .property-carousel::after {
  position: absolute;
  inset: 0;
  z-index: 3;
  background:
    linear-gradient(90deg, rgba(8, 27, 31, .76), rgba(8, 27, 31, .38) 58%, rgba(8, 27, 31, .56)),
    linear-gradient(0deg, rgba(8, 27, 31, .78), rgba(8, 27, 31, .16) 64%);
  content: '';
  pointer-events: none;
}
.hub-hero > .property-carousel::after,
.booking-hero > .property-carousel::after {
  position: absolute;
  inset: 0;
  z-index: 3;
  background:
    linear-gradient(90deg, rgba(8, 27, 31, .76), rgba(8, 27, 31, .38) 58%, rgba(8, 27, 31, .56)),
    linear-gradient(0deg, rgba(8, 27, 31, .78), rgba(8, 27, 31, .16) 64%);
  content: '';
  pointer-events: none;
}
.hub-hero > .property-carousel .property-carousel-thumbs,
.booking-hero > .property-carousel .property-carousel-thumbs {
  position: absolute;
  right: auto;
  bottom: 24px;
  left: 50%;
  z-index: 4;
  width: min(calc(100% - (2 * var(--gutter))), var(--content-max));
  max-width: min(calc(100% - (2 * var(--gutter))), var(--content-max));
  transform: translateX(-50%);
  justify-content: center;
}
.property-page-hero > .property-carousel .property-carousel-thumbs {
  left: 50%;
  right: auto;
  width: min(calc(100% - (2 * var(--gutter))), var(--content-max));
  max-width: min(calc(100% - (2 * var(--gutter))), var(--content-max));
  transform: translateX(-50%);
  justify-content: center;
}
.property-gallery-section { background: #f7faf9; }
.property-gallery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 16px;
}
.property-gallery-card {
  display: block;
  width: 100%;
  padding: 0;
  border: 1px solid #d2dfdd;
  background: white;
  color: inherit;
  cursor: pointer;
  text-align: left;
}
.property-gallery-card:hover .property-gallery-card-image img { transform: scale(1.04); }
.property-gallery-card-image {
  display: block;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: #dfe8e7;
}
.property-gallery-card-image img {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  object-fit: cover;
  object-position: top center;
  transition: transform .35s ease;
}
.property-gallery-title-count { color: #5d7779; font-family: var(--body-font, 'Open Sans'), sans-serif; font-size: .34em; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; }
.property-gallery-count-card { display: grid; min-height: 0; aspect-ratio: 1 / 1; place-content: center; gap: 8px; padding: 22px; border: 1px solid #b8d6d1; background: #173b40; color: #fff; cursor: pointer; text-align: center; }
.property-gallery-count-card:hover, .property-gallery-count-card:focus-visible { background: #24575b; }
.property-gallery-count-card-number { font-family: var(--heading-font, 'Playfair Display'), serif; font-size: clamp(42px, 6vw, 68px); font-weight: 400; line-height: 1; }
.property-gallery-count-card-label { font-size: 13px; letter-spacing: .1em; text-transform: uppercase; }
.property-gallery-count-card-hint { color: #8edbd7; font-size: 11px; }
.property-gallery-card-copy {
  display: grid;
  gap: 6px;
  padding: 15px 16px 18px;
}
.property-gallery-card-copy strong { color: #173b40; font-size: 12px; letter-spacing: .1em; text-transform: uppercase; }
.property-gallery-card-copy span { color: #587073; line-height: 1.5; }
.property-gallery-launch { display: flex; justify-content: center; margin-top: 28px; }
.property-gallery-groups { display: grid; gap: clamp(34px, 6vw, 72px); }
.property-gallery-group + .property-gallery-group { padding-top: clamp(30px, 5vw, 64px); border-top: 1px solid #cbdad7; }
.property-gallery-group-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 22px; }
.property-gallery-group-heading .eyebrow { margin-bottom: 8px; }
.property-gallery-group-heading h3 { margin: 0; color: #173b40; font-family: var(--heading-font, 'Playfair Display'), serif; font-size: clamp(28px, 4vw, 48px); font-weight: 400; letter-spacing: -.025em; line-height: 1.05; }
.property-gallery-group-heading p:not(.eyebrow) { margin: 8px 0 0; color: var(--muted); }
.property-gallery-detail-link { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 6px; padding-bottom: 5px; border-bottom: 1px solid rgba(45, 157, 160, .5); color: #277f82; font-size: 11px; letter-spacing: .12em; text-decoration: none; text-transform: uppercase; }
.property-gallery-detail-link:hover { border-color: #277f82; color: #145d61; }
.property-gallery-modal-label { margin: 0; color: rgba(255,255,255,.72); font-size: 13px; letter-spacing: .1em; text-transform: uppercase; }
.hub-mobile-booking-action, .property-hero-booking-mobile { display: none; }
.property-external-links { background: #edf7f4; }
.property-external-links-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 12px; max-width: 1180px; margin: 28px auto 0; }
.property-external-link-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 84px;
  padding: 18px 20px;
  border: 1px solid #c7dcda;
  background: rgba(255,255,255,.72);
  color: #173b40;
  text-decoration: none;
}
.property-external-link-card:hover { border-color: #4caeb0; background: white; }
.property-external-link-card > span:first-child { display: grid; gap: 6px; min-width: 0; }
.property-external-link-card strong { font-size: 18px; }
.property-external-link-card small { overflow: hidden; color: #668083; text-overflow: ellipsis; white-space: nowrap; }
.property-external-link-card > span:last-child { color: #2d9da0; font-size: 22px; }
.property-gallery-modal {
  position: fixed;
  inset: 0;
  z-index: 100;
  display: flex;
  padding: clamp(18px, 4vw, 56px);
  background: rgba(8, 24, 28, .98);
  color: white;
}
.property-gallery-modal-inner {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  gap: 16px;
  width: min(1320px, 100%);
  height: 100%;
  margin: auto;
}
.property-gallery-modal-header { display: flex; align-items: start; justify-content: space-between; gap: 20px; }
.property-gallery-modal-header .eyebrow { margin: 0 0 5px; color: #8edbd7; }
.property-gallery-modal-count { margin: 0; color: rgba(255,255,255,.72); font-size: 13px; letter-spacing: .08em; text-transform: uppercase; }
.property-gallery-modal-close {
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  border: 1px solid rgba(255,255,255,.4);
  background: rgba(255,255,255,.08);
  color: white;
  cursor: pointer;
  font-size: 28px;
}
.property-gallery-modal-main {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr) 52px;
  align-items: center;
  gap: 16px;
  min-height: 0;
}
.property-gallery-modal-main figure { display: grid; grid-template-rows: minmax(0, 1fr) auto; gap: 12px; min-height: 0; height: 100%; margin: 0; place-items: center; }
.property-gallery-modal-main figure img { display: block; width: 100%; height: 100%; max-height: calc(100vh - 230px); object-fit: contain; }
.property-gallery-modal-main figcaption { max-width: 820px; color: rgba(255,255,255,.82); line-height: 1.5; text-align: center; }
.property-gallery-modal-control {
  display: grid;
  width: 52px;
  height: 52px;
  place-items: center;
  border: 1px solid rgba(255,255,255,.42);
  background: rgba(255,255,255,.1);
  color: white;
  cursor: pointer;
  font-size: 24px;
}
.property-gallery-modal-control:hover:not(:disabled), .property-gallery-modal-close:hover { background: rgba(255,255,255,.2); }
.property-gallery-modal-control:disabled { opacity: .35; cursor: default; }
.property-gallery-modal-thumbs { display: flex; justify-content: center; gap: 8px; overflow-x: auto; padding-top: 4px; }
.property-gallery-modal-thumb { width: 64px; height: 46px; flex: 0 0 auto; padding: 0; overflow: hidden; border: 2px solid rgba(255,255,255,.3); background: transparent; cursor: pointer; opacity: .7; }
.property-gallery-modal-thumb.active, .property-gallery-modal-thumb:hover { border-color: #75d5d2; opacity: 1; }
.property-gallery-modal-thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 760px) {
  .hub-hero > .property-carousel .property-carousel-thumbs,
  .booking-hero > .property-carousel .property-carousel-thumbs {
    right: auto;
    bottom: 14px;
    left: 50%;
    width: calc(100% - 28px);
    max-width: calc(100% - 28px);
    transform: translateX(-50%);
    justify-content: center;
  }
  .property-page-hero > .property-carousel .property-carousel-thumbs {
    bottom: 14px;
    width: calc(100% - 28px);
    max-width: calc(100% - 28px);
    justify-content: center;
  }
  .property-gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .property-gallery-card-copy { padding: 11px 12px 13px; }
  .property-gallery-card-copy strong { font-size: 10px; }
  .property-gallery-card-copy span { font-size: 13px; }
  .property-gallery-group-heading { align-items: flex-start; flex-direction: column; gap: 14px; margin-bottom: 16px; }
  .property-gallery-detail-link { align-self: flex-start; }
  .property-gallery-modal { padding: 14px; }
  .property-gallery-modal-main { grid-template-columns: 40px minmax(0, 1fr) 40px; gap: 7px; }
  .property-gallery-modal-control { width: 40px; height: 44px; font-size: 20px; }
  .property-gallery-modal-main figure img { max-height: calc(100vh - 250px); }
  .property-gallery-modal-thumb { width: 56px; height: 40px; }
}

@media (max-width: 760px) {
  .property-page-hero .property-page-heading {
    position: absolute;
    left: 16px;
    right: 16px;
    bottom: 76px;
    width: auto;
    padding: 22px 18px 24px;
    margin: 0;
    background: transparent;
    box-shadow: none;
  }
  .property-page-hero .property-page-heading h1 {
    max-width: 100%;
    margin-bottom: 12px;
    font-size: clamp(38px, 11vw, 48px);
    line-height: .98;
    text-shadow: 0 2px 14px rgba(0, 0, 0, .22);
  }
  .property-page-hero .property-page-heading > p:not(.eyebrow) {
    max-width: 100%;
    color: rgba(255, 255, 255, .94);
    font-size: 17px;
    line-height: 1.5;
    text-shadow: 0 1px 8px rgba(0, 0, 0, .2);
  }
  .property-page-hero .property-page-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    margin-top: 18px;
  }
  .property-page-hero .property-page-actions .button {
    width: 100%;
    min-height: 48px;
  }
  .hub-gallery-hero-action, .property-gallery-hero-action { display: none; }
  .hub-mobile-booking-action { display: inline-flex; }
  .property-hero-booking-desktop { display: none; }
  .property-hero-booking-mobile { display: inline; }
}

/* Property admin: use the full viewport with a persistent left navigation rail. */
.property-admin-shell .admin-panel {
  max-width: none;
  margin: 0;
  padding-left: clamp(308px, 22vw, 360px);
  padding-right: clamp(28px, 5vw, 72px);
}
.property-admin-shell .property-admin-body {
  display: block;
  margin-top: 24px;
}
.property-admin-shell .property-sidebar {
  position: fixed;
  inset: 78px auto 0 0;
  z-index: 25;
  width: 280px;
  min-height: 0;
  padding: 24px 18px 22px;
  border-right: 1px solid #d2e0de;
  background: #f8fbfa;
}
.property-admin-shell .property-admin-content { width: 100%; }
@media (max-width: 760px) {
  .property-admin-shell .admin-panel { padding: 26px 16px 56px; }
  .property-admin-shell .property-admin-body { margin: 0; }
  .property-admin-shell .property-sidebar {
    inset: 0 auto 0 0;
    width: min(82vw, 300px);
    padding: 18px 16px;
  }
}

/* Keep public property content compact and aligned around a readable column. */
.property-page .section > *,
.property-page .property-section-nav,
.property-page .property-page-heading,
.property-page .property-location-grid,
.property-page .property-video-frame,
.property-page .property-external-links-grid {
  width: min(calc(100% - (2 * var(--gutter))), 1040px);
  margin-inline: auto;
}

/* The hero remains full bleed; only its copy follows the shared column. */
.property-page .property-page-hero > .property-carousel,
.property-page .property-page-hero::before,
.property-page .property-page-hero::after {
  width: 100%;
}
.property-page .property-page-hero .property-page-heading {
  width: min(calc(100% - (2 * var(--gutter))), var(--content-max));
}

/* Give the opening editorial split more room for copy while containing the image. */
.property-page .split {
  grid-template-columns: minmax(220px, .82fr) minmax(0, 1.18fr);
  gap: clamp(36px, 7vw, 92px);
}
.property-page .split > :first-child {
  justify-self: center;
  width: min(100%, 460px);
}
.property-page .split > :last-child {
  max-width: 640px;
}
.property-page .split .image-card {
  width: min(100%, 460px);
  min-height: 420px;
}

/* Keep supporting media and external actions on the same centered axis. */
.property-page .property-gallery-grid,
.property-page .property-detail-layout,
.property-page .property-contact-grid,
.property-page .property-booking-section > *,
.property-page .property-gallery-section > *,
.property-page .property-external-links > * {
  width: min(calc(100% - (2 * var(--gutter))), 1040px);
  margin-inline: auto;
}

@media (max-width: 760px) {
  .property-page .section > *,
  .property-page .property-section-nav,
  .property-page .property-page-heading,
  .property-page .property-location-grid,
  .property-page .property-video-frame,
  .property-page .property-external-links-grid,
  .property-page .property-gallery-grid,
  .property-page .property-detail-layout,
  .property-page .property-contact-grid,
  .property-page .property-booking-section > *,
  .property-page .property-gallery-section > *,
  .property-page .property-external-links > * {
    width: min(calc(100% - (2 * var(--gutter))), 1040px);
  }
  .property-page .split {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  .property-page .split > :first-child,
  .property-page .split .image-card {
    width: 100%;
    max-width: 560px;
    min-height: 320px;
  }
}

/* Give the homepage introduction more reading width while keeping its photo contained. */
.home-intro-split {
  grid-template-columns: minmax(0, 1.2fr) minmax(260px, .8fr);
  gap: clamp(42px, 7vw, 96px);
}
.home-intro-split > :first-child {
  max-width: 650px;
}
.home-intro-split > :last-child {
  width: min(100%, 500px);
  justify-self: center;
}
.home-intro-split .image-card {
  min-height: 430px;
}
.hub-introduction-split .image-card img { min-height: 390px; }
@media (max-width: 760px) {
  .hub-introduction-split { grid-template-columns: 1fr; gap: 30px; }
  .hub-introduction-split > :last-child { width: 100%; max-width: 560px; }
  .hub-introduction-split .image-card, .hub-introduction-split .image-card img { min-height: 320px; }
  .home-intro-split > :last-child,
  .home-intro-split .image-card {
    width: 100%;
    max-width: 560px;
    min-height: 320px;
  }
}
.property-request-auth { padding: 8px 12px; background: #f4fbf8; border: 1px solid #cce8de; margin-bottom: 14px; font-size: 13px; }
.property-request-auth-loading { padding: 16px; border: 1px solid #e7e0d6; color: #675f55; font-size: 14px; }
.property-request-sign-in { width: 100%; }

/* Owner Setup & Help panel */
.owner-setup-panel { position: fixed; z-index: 70; inset: 78px 0 0 auto; width: var(--owner-setup-panel-width, 420px); max-width: 48vw; display: flex; flex-direction: column; background: #fff; border-left: 1px solid #cfdddb; box-shadow: -12px 0 34px rgba(24,55,59,.12); outline: none; }
.owner-setup-panel-header { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; padding:22px 24px 14px; border-bottom:1px solid #e0e9e7; }
.owner-setup-panel-header h2 { margin:3px 0 0; font-size:24px; }
.owner-setup-panel-scroll { min-height:0; overflow:auto; padding:0 24px 40px; }
.owner-setup-tabs { display:flex; gap:5px; padding:10px 24px 0; border-bottom:1px solid #e0e9e7; }
.owner-setup-tabs button { border:0; border-bottom:2px solid transparent; background:transparent; padding:10px 12px; color:#698082; font:inherit; cursor:pointer; }
.owner-setup-tabs button.active { border-bottom-color:#1f6b68; color:#18373b; font-weight:700; }
.owner-setup-resize { position:absolute; inset:0 auto 0 -5px; width:10px; cursor:col-resize; }
.owner-setup-resize:focus-visible { outline:2px solid #2b807b; outline-offset:-2px; }
.owner-setup-backdrop { display:none; }
.owner-setup-panel.is-resizing { user-select:none; }
.owner-onboarding-content { padding-top:22px; }
.owner-onboarding-header h2 { margin:3px 0 5px; }
.owner-onboarding-header p:last-child { margin:0; color:#5f7475; }
.owner-onboarding-next { margin:20px 0; padding:18px; border:1px solid #bcd8d4; border-radius:12px; background:#eff8f6; }
.owner-onboarding-next h3 { margin:4px 0; }.owner-onboarding-next p { margin:5px 0 12px; }.owner-onboarding-next.complete { background:#f4f7f6; border-color:#d9e5e2; }
.owner-onboarding-track { margin:24px 0 34px; }.owner-onboarding-track-heading { display:flex; align-items:start; justify-content:space-between; gap:12px; }.owner-onboarding-track-heading h3 { margin:3px 0; }
.owner-onboarding-tracks { display: none; }
.owner-setup-categories { margin: 22px 0 28px; }
.owner-setup-category-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; margin-bottom: 14px; }
.owner-setup-category-tabs button { display: grid; gap: 4px; padding: 11px 9px; border: 1px solid #d9e6e3; background: #f7fbfa; color: #5f7778; cursor: pointer; font: inherit; text-align: left; }
.owner-setup-category-tabs button:hover, .owner-setup-category-tabs button:focus-visible { border-color: #8ebdb7; color: #1f5e5b; }
.owner-setup-category-tabs button.active { border-color: #2b807b; background: #eaf6f3; color: #173b40; box-shadow: inset 0 -3px 0 #2b807b; }
.owner-setup-category-tabs button span { font-size: 12px; font-weight: 700; }
.owner-setup-category-tabs button small { color: #6c8585; font-size: 10px; }
.owner-setup-category-summary { display: grid; gap: 5px; margin-bottom: 12px; padding: 13px 15px; border-left: 3px solid #52bfc2; background: #f2f9f7; }
.owner-setup-category-summary p { margin: 0; color: #5d7577; font-size: 12px; line-height: 1.45; }
.owner-setup-category-summary .eyebrow { color: #2b807b; font-size: 10px; }
.owner-setup-category-summary strong { color: #31595b; font-size: 11px; }
.owner-setup-category-list { margin-top: 0; }
.owner-setup-properties { margin: 0 0 14px; padding: 13px 15px; border: 1px solid #d9e6e3; background: #fbfdfc; }
.owner-setup-properties > p { margin: 4px 0; color: #5d7577; font-size: 12px; line-height: 1.45; }
.owner-setup-property-list { display: grid; gap: 7px; margin-top: 10px; }
.owner-setup-property-list a { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 9px 10px; border: 1px solid #d9e6e3; background: #fff; color: #24474b; text-decoration: none; }
.owner-setup-property-list a:hover, .owner-setup-property-list a:focus-visible { border-color: #2b807b; background: #eef8f6; }
.owner-setup-property-list span { color: #2b807b; font-size: 11px; }
.owner-setup-panel .owner-onboarding-tracks { display: none; }
.owner-onboarding-progress { height:7px; margin:9px 0 5px; overflow:hidden; border-radius:99px; background:#e2ecea; }.owner-onboarding-progress span { display:block; height:100%; border-radius:inherit; background:#2b807b; }
.owner-onboarding-progress-copy { margin:0; color:#698082; font-size:12px; }.owner-onboarding-timeline { display:grid; gap:10px; margin:15px 0 0; padding:0; list-style:none; }
.owner-onboarding-step { display:grid; grid-template-columns:24px 1fr; gap:9px; padding:12px; border:1px solid #dce7e5; border-radius:10px; background:#fff; }.owner-onboarding-step.highlighted { border-color:#4d9993; box-shadow:0 0 0 2px rgba(77,153,147,.12); }
.owner-onboarding-step-marker { color:#2b807b; font-weight:700; }.owner-onboarding-step-heading { display:flex; justify-content:space-between; gap:8px; align-items:start; }.owner-onboarding-step-heading strong { display:block; }.owner-onboarding-step-heading small { display:block; color:#698082; margin-top:2px; }
.owner-onboarding-step-title label { display:flex; align-items:flex-start; gap:8px; cursor:pointer; }.owner-onboarding-step-title input[type=checkbox] { margin-top:2px; accent-color:#2b807b; }.owner-onboarding-step-title.done strong { text-decoration:line-through; color:#398352; }
.owner-onboarding-step-body p { margin:7px 0; color:#587071; font-size:13px; }.owner-onboarding-status { white-space:nowrap; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:#698082; }.status-next { color:#1f6b68; }.status-complete { color:#398352; }.status-waiting { color:#a06a20; }
.owner-onboarding-time { color:#78908f; font-size:11px; }.owner-onboarding-step-actions,.owner-onboarding-domain-form .admin-actions { display:flex; flex-wrap:wrap; gap:7px; margin-top:10px; }.owner-onboarding-domain-form { margin-top:8px; }.owner-onboarding-domain-form p { font-size:12px; }
.owner-onboarding-help-note { padding:14px; border-top:1px solid #e0e9e7; color:#5f7475; font-size:13px; }.workspace-setup-callout { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:22px 0; padding:18px 20px; border:1px solid #c6dfdb; border-radius:14px; background:#eff8f6; }.workspace-setup-callout h2 { margin:3px 0; font-size:20px; }.workspace-setup-callout p { margin:0; }
.client-nav-setup { display:flex; align-items:center; gap:10px; width:100%; border:0; background:transparent; padding:11px 12px; color:inherit; font:inherit; text-align:left; cursor:pointer; border-radius:8px; }.client-nav-setup:hover,.client-nav-setup:focus-visible { background:#e8f2f0; }
@media (max-width: 760px) {
  .workspace-settings-tabs { grid-template-columns: 1fr; }
  .workspace-general-grid { grid-template-columns: 1fr; }
}
.setup-help-faq { padding-top:20px; }.setup-help-faq-header h3 { margin:3px 0; }.setup-help-faq-header p:last-child { color:#5f7475; font-size:13px; }.setup-help-search { display:block; margin:16px 0; }.setup-help-search input { width:100%; box-sizing:border-box; padding:10px 12px; border:1px solid #cbdad7; border-radius:8px; font:inherit; }
.setup-help-category { margin:18px 0; }.setup-help-category h4 { margin:0 0 8px; color:#315d5c; }.setup-help-article { border-top:1px solid #e0e9e7; }.setup-help-question { display:flex; justify-content:space-between; width:100%; gap:12px; border:0; background:transparent; padding:12px 0; color:#18373b; font:inherit; text-align:left; cursor:pointer; }.setup-help-answer { padding:0 0 13px; color:#5f7475; font-size:13px; }.setup-help-answer p { margin:0 0 8px; }.setup-help-trigger { white-space:nowrap; }.icon-button { width:32px; height:32px; border:1px solid #d3e1df; border-radius:50%; background:#fff; color:#315d5c; font-size:22px; line-height:1; cursor:pointer; }.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.client-workspace.setup-panel-open .client-admin-main { margin-right:var(--owner-setup-panel-width,420px); }
.property-admin-shell:has(.owner-setup-panel) .admin-panel { margin-right:var(--owner-setup-panel-width,420px); }
.workspace-add-place-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; padding:22px; border:1px solid #cfe2de; background:#f1faf7; }
.workspace-add-place-form .full { grid-column:1/-1; }
.workspace-add-place-requests { margin-top:24px; padding:22px; border:1px solid #d8e4e1; background:#fff; }
.workspace-request-list { display:grid; gap:0; border-top:1px solid #d8e4e1; }
.workspace-request-row { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; padding:16px 0; border-bottom:1px solid #e1ebe9; }
.workspace-request-row p { margin:5px 0; font-size:12px; }
.workspace-request-row small { color:#617a7c; font-size:12px; line-height:1.45; }
.workspace-capacity-callout { margin-bottom:18px; }
.workspace-billing-layout { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.workspace-billing-card { padding:24px; border:1px solid #d8e4e1; background:#fff; }
.workspace-billing-summary-card { background:#fbf5e7; border-color:#ead7ae; }
.workspace-billing-action-card { background:#f2f8ff; border-color:#cbdced; }
.workspace-billing-card h3 { margin:4px 0 8px; }
.workspace-billing-status { color:#8b652d; font-size:12px; letter-spacing:.08em; text-transform:uppercase; }
.workspace-billing-summary { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin:22px 0 0; }
.workspace-billing-summary div { padding-top:12px; border-top:1px solid rgba(115,80,29,.18); }
.workspace-billing-summary dt { color:#6e7771; font-size:11px; text-transform:uppercase; letter-spacing:.08em; }
.workspace-billing-summary dd { margin:4px 0 0; color:#173b40; font-size:16px; }
.billing-trial-note { padding:12px 14px; background:#fff9ed; color:#765723; font-size:13px; }
@media (max-width:760px) { .workspace-add-place-form,.workspace-billing-layout { grid-template-columns:1fr; } .workspace-add-place-form .full { grid-column:auto; } .workspace-request-row { flex-direction:column; } }
@media (max-width:760px) { .owner-setup-panel { inset:0; width:100%; max-width:none; border-left:0; box-shadow:none; }.owner-setup-resize { display:none; }.owner-setup-backdrop { display:block; position:fixed; z-index:69; inset:0; background:rgba(17,43,44,.42); }.client-workspace.setup-panel-open .client-admin-main { margin-right:0; }.workspace-setup-callout { align-items:flex-start; flex-direction:column; }.setup-help-trigger { display:block; } }
@media (max-width:440px) { .owner-setup-category-tabs { grid-template-columns:1fr; }.owner-setup-category-tabs button { grid-template-columns:1fr auto; align-items:center; }.owner-setup-category-tabs button small { justify-self:end; } }
.calendar-feed-handoff { margin-top: 20px; padding: 20px; border: 1px solid #c9e0da; background: #f3fbf8; color: var(--muted); font-size: 13px; line-height: 1.6; }
.calendar-feed-handoff h4 { margin: 3px 0 8px; color: var(--ink); font-family: var(--heading-font, Georgia), serif; font-size: 23px; font-weight: 400; }
.calendar-feed-url-field { display: block; margin: 16px 0; color: #456367; font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.calendar-feed-url-row { display: flex; gap: 8px; margin-top: 6px; }
.calendar-feed-url-row input { min-width: 0; flex: 1 1 auto; padding: 10px; border: 1px solid #cbdcda; background: #fff; color: #173b40; font: inherit; font-size: 12px; letter-spacing: normal; text-transform: none; }
.calendar-feed-url-row .button { flex: 0 0 auto; }
.calendar-feed-copy-status { min-height: 1.4em; margin: 8px 0 0; color: #237c80; font-size: 11px; }
.calendar-sync-error { padding: 10px 12px; border-left: 3px solid #a64949; background: #fbefed; color: #7c3c3c; font-size: 12px; line-height: 1.5; }
@media (max-width: 600px) {
  .calendar-feed-url-row { align-items: stretch; flex-direction: column; }
}
@media (max-width: 600px) {
  .calendar-feed-url-row .button { width: 100%; }
}
