:root {
  --navy: #101b2e;
  --navy-2: #172640;
  --cream: #f8f6f1;
  --cream-2: #efe8dc;
  --white: #fffefa;
  --sage: #bde5d3;
  --emerald: #286b5b;
  --emerald-dark: #155044;
  --apricot: #ffad82;
  --coral: #ec765f;
  --lavender: #d9cff8;
  --blue: #c7e2ff;
  --text: #172036;
  --text-soft: #667084;
  --border: rgba(23, 32, 54, .12);
  --soft-shadow: 0 24px 70px rgba(31, 37, 51, .1);
  --deep-shadow: 0 35px 100px rgba(16, 27, 46, .24);
  --milo-radius: 28px;
  --shell: 1240px;
}

body {
  background: var(--cream);
  color: var(--text);
  font-family: Inter, Avenir Next, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body::selection { background: var(--sage); color: var(--navy); }
.ui-icon { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.site-header { width: min(calc(100% - 48px), var(--shell)); min-height: 84px; position: relative; z-index: 40; }
.public-header { border-bottom: 1px solid rgba(23, 32, 54, .08); }
.brand { display: inline-flex; align-items: center; gap: 0; color: var(--navy); font-size: 27px; font-weight: 850; letter-spacing: -.07em; }
.brand-mark { width: 38px; height: 38px; margin-right: -7px; display: block; flex: 0 0 auto; object-fit: contain; }
.brand-word { display: inline-flex; align-items: baseline; gap: 1px; color: var(--navy); }
.brand-an { color: #000; -webkit-text-fill-color: #000; }
.brand-ai { color: transparent; background: linear-gradient(135deg, #6f52d9 4%, #a66cd4 100%); background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.brand i { color: var(--coral); }
.public-nav { display: flex; align-items: center; gap: 34px; }
.public-nav a, .nav-login { border: 0; background: transparent; color: #4f5869; text-decoration: none; font-size: 13px; font-weight: 720; }
.public-nav a:hover, .nav-login:hover { color: var(--navy); }
.header-actions { gap: 12px; }
.button { border-radius: 999px; }
.button-dark { background: var(--navy); color: white; box-shadow: 0 10px 25px rgba(16, 27, 46, .16); }
.button-dark:hover:not(:disabled) { background: #1c2d4a; }
.button-soft { border-color: var(--border); background: rgba(255,255,255,.62); color: var(--navy); }
.button-soft:hover:not(:disabled) { background: white; }
.button-white { background: white; color: var(--navy); }
.button-large { min-height: 54px; padding: 14px 22px; }
.button .ui-icon { width: 18px; }
.public-main { width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; }
.section-shell { width: min(calc(100% - 48px), var(--shell)); margin-inline: auto; }
#services, #comment-ca-marche, #demo, #confiance { scroll-margin-top: 24px; }
.seo-prerender { width: min(calc(100% - 48px), var(--shell)); min-height: 70vh; margin: 0 auto; padding: 96px 0; }
.seo-prerender h1 { max-width: 780px; margin: 0 0 24px; font-size: clamp(2.7rem, 6vw, 5rem); line-height: 1; letter-spacing: -.055em; }
.seo-prerender p { max-width: 720px; color: var(--text-soft); font-size: 17px; line-height: 1.7; }
.hero { min-height: 780px; position: relative; display: grid; grid-template-columns: minmax(0, .94fr) minmax(0, 1.06fr); align-items: center; gap: 76px; padding-top: 52px; padding-bottom: 92px; }
.hero-copy { min-width: 0; position: relative; z-index: 3; max-width: 570px; }
.announcement { width: max-content; max-width: 100%; margin-bottom: 34px; border: 1px solid rgba(23, 32, 54, .1); border-radius: 999px; padding: 7px 12px 7px 7px; display: flex; align-items: center; gap: 9px; background: rgba(255,255,255,.55); color: var(--text-soft); font-size: 11px; font-weight: 650; backdrop-filter: blur(12px); }
.announcement span { border-radius: 999px; padding: 4px 8px; background: var(--apricot); color: var(--navy); font-size: 10px; font-weight: 850; text-transform: uppercase; letter-spacing: .08em; }
.hero h1 { max-width: 570px; margin: 0 0 32px; color: var(--navy); font-size: clamp(3.05rem, 4.25vw, 4.65rem); line-height: .98; letter-spacing: -.058em; text-wrap: balance; }
.hero h1 em { margin-top: 18px; display: block; color: var(--emerald); font-family: Iowan Old Style, Baskerville, Georgia, serif; font-size: .91em; font-weight: 500; letter-spacing: -.045em; }
.hero-copy > p { max-width: 540px; margin: 0 0 36px; color: var(--text-soft); font-size: 16px; line-height: 1.7; }
.hero-actions, .hero-proof { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.hero-proof { margin-top: 28px; gap: 20px; color: #697183; font-size: 10px; font-weight: 680; }
.hero-proof span { display: flex; align-items: center; gap: 5px; }
.hero-proof .ui-icon { width: 14px; color: var(--emerald); stroke-width: 2.5; }
.hero-visual { min-width: 0; min-height: 600px; position: relative; }
.hero-system { min-height: 580px; border: 0; border-radius: 0; overflow: visible; background: transparent; box-shadow: none; }
.hero-system::before { content: ""; width: 360px; height: 360px; position: absolute; left: 28%; bottom: -180px; border-radius: 50%; background: var(--sage); filter: blur(70px); opacity: .48; }
.hero-journey { width: 100%; min-width: 0; position: relative; z-index: 2; display: grid; gap: 14px; }
.hero-journey-images { width: 100%; aspect-ratio: 3 / 2; position: relative; isolation: isolate; }
.hero-journey-images::after { content: ""; width: 58%; height: 22%; position: absolute; z-index: -1; left: 23%; bottom: 3%; border-radius: 50%; background: rgba(65,47,38,.16); filter: blur(28px); }
.hero-journey-frame { width: 100%; height: 100%; position: absolute; inset: 0; object-fit: contain; opacity: 0; transform: translateY(8px) scale(.975); filter: saturate(.88) blur(2px); transition: opacity .72s ease, transform 1.05s cubic-bezier(.22,.7,.2,1), filter .72s ease; pointer-events: none; }
.hero-journey-frame.is-active { z-index: 2; opacity: 1; transform: translateY(0) scale(1); filter: saturate(1) blur(0); }
.hero-journey-copy { min-height: 92px; position: relative; }
.hero-journey-step { position: absolute; inset: 0; display: grid; align-content: start; opacity: 0; transform: translateY(7px); transition: opacity .45s ease .12s, transform .45s ease .12s; pointer-events: none; }
.hero-journey-step.is-active { opacity: 1; transform: none; }
.hero-journey-step > span { margin-bottom: 5px; color: var(--emerald); font-size: 9px; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.hero-journey-step h3 { margin: 0 0 5px; color: var(--navy); font-size: clamp(1.15rem, 2vw, 1.55rem); letter-spacing: -.035em; }
.hero-journey-step p { max-width: 500px; margin: 0; color: var(--text-soft); font-size: 11px; line-height: 1.55; }
.hero-journey-controls { display: grid; grid-template-columns: repeat(5, 1fr); gap: 7px; }
.hero-journey-controls button { height: 18px; border: 0; padding: 7px 0; background: transparent; cursor: pointer; }
.hero-journey-controls button::before { content: ""; height: 3px; border-radius: 999px; position: absolute; inset: 7px 0 auto; background: rgba(23,32,54,.12); }
.hero-journey-controls button { position: relative; overflow: hidden; }
.hero-journey-controls button span { height: 3px; border-radius: 999px; position: absolute; z-index: 1; inset: 7px 0 auto; background: linear-gradient(90deg, var(--emerald), #72bda2); transform: scaleX(0); transform-origin: left; }
.hero-journey-controls button.is-active span { animation: hero-progress 4.4s linear both; }
@keyframes hero-progress { from { transform: scaleX(0); } to { transform: scaleX(1); } }
.hero-system-label { position: absolute; z-index: 5; top: 27px; left: 8px; display: flex; align-items: center; gap: 7px; color: var(--text-soft); font-size: 10px; font-weight: 800; letter-spacing: .02em; }
.hero-system-label span { width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; background: var(--navy); color: white; font-size: 8px; }
.hero-system-label.guest-label { top: auto; left: auto; right: 8px; bottom: 27px; }
.hero-system-label.guest-label span { background: var(--emerald); }
.owner-input-stack { width: 245px; position: absolute; z-index: 5; top: 72px; left: 0; display: grid; gap: 8px; }
.owner-input-stack::after { content: ""; width: 90px; height: 1px; position: absolute; right: -78px; bottom: 42px; background: linear-gradient(90deg, var(--emerald), transparent); transform: rotate(20deg); transform-origin: left; }
.owner-input-card { border: 1px solid rgba(23,32,54,.1); border-radius: 15px; padding: 10px; display: flex; align-items: center; gap: 9px; background: rgba(255,255,255,.88); box-shadow: 0 12px 32px rgba(25,31,44,.08); backdrop-filter: blur(15px); }
.owner-input-card:nth-child(2) { transform: translateX(12px); }
.owner-input-card:nth-child(3) { transform: translateX(25px); }
.owner-input-card > span { width: 32px; height: 32px; flex: 0 0 auto; border-radius: 10px; display: grid; place-items: center; background: #efe9f9; color: #725fa4; font-size: 12px; }
.owner-input-card > div { flex: 1; min-width: 0; }
.owner-input-card strong, .owner-input-card small { display: block; }
.owner-input-card strong { font-size: 9px; }
.owner-input-card small { overflow: hidden; color: var(--text-soft); font-size: 7px; text-overflow: ellipsis; white-space: nowrap; }
.owner-input-card > i { color: var(--emerald); font-size: 8px; font-style: normal; font-weight: 850; }
.knowledge-home { position: absolute; inset: 70px 8px 15px; z-index: 2; display: grid; place-items: end center; }
.knowledge-home > img { width: min(100%, 540px); max-height: 430px; object-fit: contain; filter: drop-shadow(0 30px 28px rgba(65,47,38,.18)); }
.knowledge-core { min-width: 235px; position: absolute; z-index: 4; left: 50%; bottom: 34px; border: 1px solid rgba(40,107,91,.2); border-radius: 18px; padding: 11px; display: flex; align-items: center; gap: 9px; transform: translateX(-50%); background: rgba(255,255,255,.92); box-shadow: 0 17px 40px rgba(16,27,46,.14); backdrop-filter: blur(14px); }
.knowledge-core p { flex: 1; margin: 0; }
.knowledge-core strong, .knowledge-core small { display: block; }
.knowledge-core strong { font-size: 9px; }
.knowledge-core small { color: var(--text-soft); font-size: 7px; }
.knowledge-core > i { color: var(--emerald); }
.knowledge-core > i .ui-icon { width: 17px; }
.hero-answer-card { width: 250px; position: absolute; z-index: 6; top: 88px; right: 0; border: 1px solid rgba(23,32,54,.11); border-radius: 18px; padding: 13px; background: white; box-shadow: 0 20px 50px rgba(16,27,46,.14); }
.hero-answer-card > p { width: max-content; max-width: 90%; margin: 0 0 10px auto; border-radius: 12px 12px 4px 12px; padding: 8px 10px; background: var(--navy); color: white; font-size: 8px; }
.hero-answer-card > div { display: flex; align-items: flex-start; gap: 7px; }
.hero-answer-card > div p { margin: 0; border-radius: 4px 12px 12px 12px; padding: 8px 10px; background: var(--sage); color: var(--emerald-dark); font-size: 8px; }
.hero-answer-card > small { margin: 8px 0 0 34px; display: block; color: var(--emerald); font-size: 7px; }
.hero-glow { position: absolute; pointer-events: none; border-radius: 50%; filter: blur(80px); opacity: .48; }
.hero-glow-one { width: 370px; height: 370px; top: 80px; right: 12%; background: var(--apricot); }
.hero-glow-two { width: 330px; height: 330px; right: 34%; bottom: 40px; background: var(--lavender); }
.villa-visual { width: min(720px, 110%); position: absolute; right: -12%; bottom: 10px; z-index: 1; filter: drop-shadow(0 40px 35px rgba(74,54,39,.22)); animation: villa-float 7s ease-in-out infinite; }
@keyframes villa-float { 0%,100% { transform: translateY(0) rotate(-.5deg); } 50% { transform: translateY(-10px) rotate(.25deg); } }
.phone-mockup { border: 7px solid #121b2c; border-radius: 40px; position: relative; overflow: hidden; background: #fbfaf6; box-shadow: var(--deep-shadow); }
.phone-notch { width: 86px; height: 24px; position: absolute; z-index: 4; top: 7px; left: 50%; border-radius: 0 0 15px 15px; transform: translateX(-50%); background: #121b2c; }
.phone-screen { height: 100%; padding: 17px 14px 13px; display: flex; flex-direction: column; background: linear-gradient(180deg, #fdfcf8, #f1ede4); }
.hero-phone { width: 275px; height: 535px; position: absolute; z-index: 4; right: 5%; top: 18px; transform: rotate(4deg); animation: phone-float 6s ease-in-out infinite .5s; }
@keyframes phone-float { 0%,100% { transform: rotate(4deg) translateY(0); } 50% { transform: rotate(2.5deg) translateY(-13px); } }
.phone-status { height: 30px; display: flex; align-items: flex-start; justify-content: space-between; color: #1b2436; font-size: 9px; font-weight: 800; }
.phone-status i { width: 22px; height: 7px; border: 1.5px solid currentColor; border-radius: 3px; }
.phone-home-head { display: flex; align-items: center; gap: 9px; }
.phone-home-head > div { flex: 1; }
.phone-home-head small, .phone-home-head strong { display: block; }
.phone-home-head small { color: var(--text-soft); font-size: 8px; }
.phone-home-head strong { font-size: 11px; }
.phone-home-head b { font-size: 9px; letter-spacing: 1px; }
.milo-orb { width: 36px; height: 36px; flex: 0 0 auto; border-radius: 13px 13px 13px 5px; display: grid; place-items: center; background: var(--navy); color: white; font-size: 18px; font-weight: 900; letter-spacing: -.08em; box-shadow: 0 8px 20px rgba(16,27,46,.15); }
.milo-orb.big { width: 56px; height: 56px; border-radius: 19px 19px 19px 7px; font-size: 28px; }
.milo-orb.small { width: 26px; height: 26px; border-radius: 9px 9px 9px 3px; font-size: 13px; }
.milo-orb.light { background: white; color: var(--navy); }
.milo-orb.logo-orb,
.milo-orb:has(.orb-logo) {
  border: 1px solid rgba(16, 27, 46, .1);
  background: #fffefa;
  color: var(--navy);
  box-shadow: 0 8px 22px rgba(16, 27, 46, .12);
}
.milo-orb.logo-orb .orb-logo,
.milo-orb:has(.orb-logo) .orb-logo { width: 78%; height: 78%; object-fit: contain; }
.phone-welcome { margin: 28px 0 13px; }
.phone-welcome small, .phone-welcome strong { display: block; }
.phone-welcome small { margin-bottom: 3px; color: var(--text-soft); font-size: 9px; }
.phone-welcome strong { font-size: 18px; line-height: 1.12; }
.mini-chips { margin-bottom: 22px; display: flex; gap: 5px; }
.mini-chips span { border: 1px solid var(--border); border-radius: 999px; padding: 5px 8px; background: white; font-size: 8px; font-weight: 750; }
.chat-bubble { max-width: 85%; margin-bottom: 8px; padding: 10px 11px; border-radius: 14px; font-size: 10px; line-height: 1.4; }
.guest-bubble { align-self: flex-end; border-bottom-right-radius: 4px; background: var(--navy); color: white; }
.milo-bubble { align-self: flex-start; border: 1px solid rgba(40,107,91,.13); border-bottom-left-radius: 4px; background: var(--sage); color: var(--emerald-dark); }
.answer-check { width: 15px; height: 15px; margin: 0 5px 2px 0; border-radius: 50%; display: inline-grid; place-items: center; background: var(--emerald); color: white; font-size: 8px; font-style: normal; }
.phone-input { margin-top: auto; border: 1px solid var(--border); border-radius: 999px; padding: 9px 9px 9px 12px; display: flex; align-items: center; justify-content: space-between; background: white; color: #9ca1aa; font-size: 8px; }
.phone-input span { width: 23px; height: 23px; border-radius: 50%; display: grid; place-items: center; background: var(--navy); color: white; font-size: 12px; }
.question-cloud { position: absolute; z-index: 5; border: 1px solid rgba(255,255,255,.7); border-radius: 999px; padding: 10px 14px; background: rgba(255,255,255,.76); color: var(--navy); box-shadow: 0 12px 35px rgba(16,27,46,.12); backdrop-filter: blur(13px); font-size: 10px; font-weight: 750; white-space: nowrap; animation: cloud-drift 5s ease-in-out infinite; }
.cloud-one { top: 32px; left: 8%; }
.cloud-two { right: -2%; bottom: 14%; animation-delay: -1.5s; }
.cloud-three { left: 13%; bottom: 30%; animation-delay: -3s; }
@keyframes cloud-drift { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }
.proof-strip { border-block: 1px solid rgba(23,32,54,.08); background: rgba(255,255,255,.42); }
.proof-grid { display: grid; grid-template-columns: repeat(3, 1fr); }
.proof-grid p { margin: 0; padding: 25px 34px; border-right: 1px solid rgba(23,32,54,.08); }
.proof-grid p:first-child { padding-left: 0; }
.proof-grid p:last-child { border: 0; }
.proof-grid strong, .proof-grid span { display: block; }
.proof-grid strong { margin-bottom: 4px; font-size: 14px; }
.proof-grid span { color: var(--text-soft); font-size: 12px; }
.services-section, .story-section, .owner-view-section, .trust-section { padding-block: 120px; }
.section-intro { max-width: 730px; margin-bottom: 48px; }
.section-intro h2, .demo-copy h2, .trust-card h2, .final-cta h2 { color: var(--navy); font-size: clamp(2.7rem, 5vw, 5rem); letter-spacing: -.065em; line-height: .98; }
.section-intro > p:last-child { max-width: 610px; color: var(--text-soft); font-size: 17px; line-height: 1.65; }
.explicit-intro { max-width: 890px; }
.explicit-intro > p:last-child { max-width: 760px; }
.services-intro { max-width: 880px; }
.services-intro > p:last-child { max-width: 740px; }
.service-audience-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.service-audience-card { min-height: 620px; border: 1px solid rgba(23,32,54,.08); border-radius: 34px; padding: 36px; overflow: hidden; position: relative; box-shadow: 0 22px 70px rgba(31,37,51,.07); }
.service-owner { background: linear-gradient(145deg, #fffefa 0%, #e7f2ec 100%); }
.service-tenant { background: linear-gradient(145deg, var(--navy) 0%, #1d3554 100%); color: white; }
.service-card-head { margin-bottom: 30px; display: flex; align-items: flex-start; gap: 16px; }
.service-card-head > span { width: 52px; height: 52px; flex: 0 0 auto; border-radius: 17px; display: grid; place-items: center; background: var(--navy); color: white; }
.service-tenant .service-card-head > span { background: rgba(255,255,255,.12); }
.service-card-head small { color: var(--emerald); font-size: 10px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.service-tenant .service-card-head small { color: var(--apricot); }
.service-card-head h3 { max-width: 480px; margin: 5px 0 0; font-size: clamp(1.75rem, 3vw, 2.55rem); line-height: 1.04; letter-spacing: -.045em; }
.service-tenant .service-card-head h3 { color: white; }
.service-audience-card ul { margin: 0; padding: 0; display: grid; gap: 6px; list-style: none; }
.service-audience-card li { border-top: 1px solid rgba(23,32,54,.1); padding: 17px 0; display: flex; align-items: flex-start; gap: 13px; }
.service-tenant li { border-color: rgba(255,255,255,.11); }
.service-audience-card li > .ui-icon { width: 19px; margin-top: 2px; flex: 0 0 auto; color: var(--emerald); }
.service-tenant li > .ui-icon { color: var(--apricot); }
.service-audience-card li p { margin: 0; }
.service-audience-card li strong, .service-audience-card li span { display: block; }
.service-audience-card li strong { margin-bottom: 4px; font-size: 13px; }
.service-audience-card li span { color: var(--text-soft); font-size: 11px; line-height: 1.55; }
.service-tenant li span { color: #b9c4d4; }
.connector-explainer { margin-top: 16px; border-radius: 34px; padding: 42px; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(360px, .9fr); align-items: center; gap: 48px; background: linear-gradient(135deg, #e4ddfa, #f4ded2 62%, #dceee7); }
.connector-copy h3 { max-width: 640px; margin: 7px 0 14px; font-size: clamp(2rem, 4vw, 3.55rem); line-height: 1; letter-spacing: -.055em; }
.connector-copy > p:not(.eyebrow) { max-width: 650px; color: #525d70; line-height: 1.65; }
.connector-statuses { margin-top: 20px; display: flex; flex-wrap: wrap; gap: 8px; }
.connector-statuses span { border: 1px solid rgba(23,32,54,.09); border-radius: 999px; padding: 8px 11px; display: flex; align-items: center; gap: 7px; background: rgba(255,255,255,.52); font-size: 9px; font-weight: 800; }
.connector-statuses i { width: 7px; height: 7px; border-radius: 50%; background: #9b9ca1; }
.connector-statuses i.is-live { background: #28a873; box-shadow: 0 0 0 4px rgba(40,168,115,.12); }
.connector-path { min-height: 210px; border: 1px solid rgba(255,255,255,.65); border-radius: 26px; padding: 24px; display: grid; grid-template-columns: 1fr 1fr auto 1.15fr auto 1fr; align-items: center; gap: 9px; background: rgba(255,255,255,.4); backdrop-filter: blur(16px); }
.connector-path > i { color: rgba(23,32,54,.38); font-size: 18px; font-style: normal; }
.connector-node { min-width: 0; display: grid; justify-items: center; gap: 8px; text-align: center; }
.connector-node b { width: 46px; height: 46px; border-radius: 15px; display: grid; place-items: center; background: white; color: var(--navy); box-shadow: 0 12px 30px rgba(30,37,52,.1); }
.connector-node small { color: #566174; font-size: 8px; font-weight: 800; }
.connector-kanai b { width: 60px; height: 60px; border-radius: 20px 20px 20px 7px; background: var(--navy); color: white; font-size: 22px; }
.future-services { margin-top: 16px; border: 1px solid var(--border); border-radius: 26px; padding: 28px 34px; display: grid; grid-template-columns: 1fr 1.15fr; align-items: center; gap: 40px; background: rgba(255,255,255,.55); }
.future-services h3 { margin: 4px 0 7px; font-size: 24px; }
.future-services p:not(.eyebrow) { margin: 0; color: var(--text-soft); font-size: 11px; }
.future-service-list { display: flex; flex-wrap: wrap; gap: 8px; }
.future-service-list span { border: 1px solid var(--border); border-radius: 999px; padding: 9px 12px; background: white; color: #536074; font-size: 9px; font-weight: 750; }

/* Dedicated services experience */
.services-body { overflow-x: hidden; background: #f8f6f1; }
.services-main { width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 0 70px !important; }
.services-header { background: rgba(248,246,241,.82); backdrop-filter: blur(20px); }
.services-page-hero { min-height: 740px; position: relative; overflow: hidden; border-bottom: 1px solid rgba(23,32,54,.08); }
.services-page-hero::after { content: ""; width: 100%; height: 190px; position: absolute; right: 0; bottom: -135px; border-radius: 50%; background: white; filter: blur(50px); opacity: .65; }
.services-hero-grid { min-height: 640px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: center; gap: 82px; }
.services-hero-copy { max-width: 575px; position: relative; z-index: 5; }
.services-hero-copy h1 { max-width: 575px; margin: 15px 0 30px; font-size: clamp(3.05rem, 4.35vw, 4.8rem); line-height: .97; letter-spacing: -.06em; text-wrap: balance; }
.services-hero-copy h1 em { margin-top: 18px; display: block; color: var(--emerald); font-family: Iowan Old Style, Baskerville, Georgia, serif; font-size: .78em; font-weight: 500; letter-spacing: -.055em; }
.services-hero-copy > p:not(.eyebrow) { max-width: 550px; color: var(--text-soft); font-size: 16px; line-height: 1.65; }
.services-hero-world { min-height: 590px; position: relative; display: grid; place-items: center; isolation: isolate; }
.services-hero-world::before { content: ""; width: 420px; height: 420px; position: absolute; z-index: -1; border-radius: 50%; background: radial-gradient(circle, rgba(189,229,211,.72), rgba(217,207,248,.34) 52%, transparent 72%); filter: blur(8px); }
.services-hero-world > img { width: 88%; max-width: 570px; position: relative; z-index: 2; object-fit: contain; filter: drop-shadow(0 30px 44px rgba(18,30,48,.14)); animation: service-world-float 7s ease-in-out infinite; }
@keyframes service-world-float { 50% { transform: translateY(-12px) rotate(.7deg); } }
.services-hero-glow { position: absolute; border-radius: 50%; filter: blur(80px); pointer-events: none; }
.services-glow-one { width: 360px; height: 360px; top: 60px; left: -160px; background: rgba(255,173,130,.24); }
.services-glow-two { width: 450px; height: 450px; right: -170px; bottom: 40px; background: rgba(183,218,255,.36); }
.service-orbit { position: absolute; z-index: 1; border: 1px solid rgba(40,107,91,.18); border-radius: 50%; transform: rotate(-17deg); }
.orbit-one { width: 520px; height: 290px; }
.orbit-two { width: 440px; height: 490px; border-color: rgba(111,88,164,.13); transform: rotate(27deg); }
.service-float { position: absolute; z-index: 4; border: 1px solid rgba(255,255,255,.8); border-radius: 18px; padding: 11px 14px; display: grid; grid-template-columns: 30px 1fr; column-gap: 8px; background: rgba(255,255,255,.73); box-shadow: 0 20px 60px rgba(20,30,47,.13); backdrop-filter: blur(18px); animation: service-pill-float 5s ease-in-out infinite; }
.service-float .ui-icon { width: 18px; grid-row: span 2; align-self: center; color: var(--emerald); }
.service-float b, .service-float small { display: block; }
.service-float b { font-size: 9px; }
.service-float small { color: var(--text-soft); font-size: 7px; }
.float-capture { top: 105px; left: 18px; }
.float-verified { top: 165px; right: 18px; animation-delay: -1.7s; }
.float-live { right: 52px; bottom: 105px; animation-delay: -3.2s; }
@keyframes service-pill-float { 50% { transform: translateY(-8px); } }
.service-promise-line { height: 82px; position: relative; z-index: 3; display: flex; align-items: center; justify-content: center; gap: 15px; }
.service-promise-line span { color: #586274; font-size: 9px; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
.service-promise-line i { width: 65px; height: 1px; background: linear-gradient(90deg, rgba(40,107,91,.2), rgba(40,107,91,.7)); }
.services-explorer { padding-block: 125px; scroll-margin-top: 18px; }
.services-explorer-head { margin-bottom: 42px; display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; }
.services-explorer-head h2 { margin: 8px 0 0; font-size: clamp(2.7rem, 4.8vw, 4.85rem); line-height: .94; letter-spacing: -.065em; }
.services-tabs { border: 1px solid var(--border); border-radius: 999px; padding: 5px; display: flex; gap: 4px; background: rgba(255,255,255,.62); box-shadow: 0 15px 45px rgba(30,37,52,.06); }
.services-tabs button { border: 0; border-radius: 999px; padding: 11px 16px; background: transparent; color: var(--text-soft); font-size: 10px; font-weight: 800; }
.services-tabs button.is-active { background: var(--navy); color: white; box-shadow: 0 8px 20px rgba(16,27,46,.18); }
.services-stage { min-height: 680px; border-radius: 38px; overflow: hidden; background: linear-gradient(145deg, #e8f0ec, #e9e3f6 55%, #f4dfd3); box-shadow: 0 35px 100px rgba(25,32,47,.12); }
.service-panel { min-height: 680px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); animation: service-panel-in .46s ease both; }
.service-panel[hidden] { display: none; }
@keyframes service-panel-in { from { opacity: 0; transform: translateY(10px); } }
.service-panel-visual { min-width: 0; position: relative; overflow: hidden; display: grid; place-items: center; isolation: isolate; }
.service-panel-visual::after { content: ""; width: 78%; height: 55px; position: absolute; z-index: -1; bottom: 13%; border-radius: 50%; background: rgba(16,27,46,.18); filter: blur(30px); transform: perspective(400px) rotateX(62deg); }
.service-visual-halo { width: 420px; height: 420px; position: absolute; z-index: -2; border-radius: 50%; background: radial-gradient(circle, rgba(255,255,255,.8), rgba(255,255,255,.12) 62%, transparent 70%); }
.service-main-object { width: 82%; max-width: 530px; max-height: 530px; object-fit: contain; filter: drop-shadow(0 25px 36px rgba(22,30,45,.13)); transition: transform .5s ease; }
.service-panel:hover .service-main-object { transform: translateY(-7px) scale(1.015); }
.service-secondary-object { width: 42%; position: absolute; right: 2%; bottom: 2%; filter: drop-shadow(0 18px 30px rgba(22,30,45,.15)); }
.visual-tag, .tenant-question { position: absolute; z-index: 3; border: 1px solid rgba(255,255,255,.72); border-radius: 999px; padding: 9px 12px; background: rgba(255,255,255,.7); color: var(--navy); box-shadow: 0 12px 35px rgba(16,27,46,.1); backdrop-filter: blur(14px); font-size: 8px; font-weight: 800; }
.tag-one { top: 19%; left: 7%; }
.tag-two { right: 8%; bottom: 15%; color: var(--emerald); }
.tenant-question { animation: service-pill-float 5s ease-in-out infinite; }
.question-one { top: 16%; left: 7%; }
.question-two { top: 43%; right: 4%; animation-delay: -1.6s; }
.question-three { left: 16%; bottom: 16%; animation-delay: -3s; }
.service-connector-cloud { position: absolute; inset: auto 7% 10%; display: flex; justify-content: center; gap: 8px; }
.service-connector-cloud span { border: 1px solid rgba(255,255,255,.72); border-radius: 14px; padding: 8px 11px 8px 8px; display: flex; align-items: center; gap: 6px; background: rgba(255,255,255,.74); box-shadow: 0 12px 35px rgba(16,27,46,.1); backdrop-filter: blur(14px); color: #596274; font-size: 8px; font-weight: 800; }
.service-connector-cloud b { width: 25px; height: 25px; border-radius: 8px; display: grid; place-items: center; background: var(--navy); color: white; }
.service-panel-copy { padding: 54px 52px 46px; position: relative; z-index: 2; display: flex; flex-direction: column; justify-content: center; background: rgba(255,255,255,.62); backdrop-filter: blur(22px); }
.service-panel-copy h3 { margin: 8px 0 16px; font-size: clamp(2.2rem, 4vw, 4.2rem); line-height: .94; letter-spacing: -.062em; }
.service-lead { color: var(--text-soft); font-size: 12px; line-height: 1.65; }
.service-detail-flow { margin-top: 24px; }
.service-detail-flow > p { margin: 0; border-top: 1px solid rgba(23,32,54,.1); padding: 14px 0; display: flex; gap: 12px; }
.service-detail-flow > p > b { width: 29px; height: 29px; flex: 0 0 auto; border-radius: 10px; display: grid; place-items: center; background: #e3efe9; color: var(--emerald); font-size: 8px; }
.service-detail-flow > p > b.status-live { background: var(--emerald); color: white; }
.service-detail-flow strong, .service-detail-flow small { display: block; }
.service-detail-flow strong { font-size: 10px; }
.service-detail-flow small { margin-top: 3px; color: var(--text-soft); font-size: 8px; line-height: 1.5; }
.service-dashboard-link { margin-top: 13px; }
.service-journey-section { padding-block: 115px; overflow: hidden; background: var(--navy); color: white; }
.service-journey-head { max-width: 760px; margin-bottom: 50px; }
.service-journey-head h2 { margin: 8px 0 18px; color: white; font-size: clamp(2.8rem, 5vw, 5rem); line-height: .93; letter-spacing: -.065em; }
.service-journey-head > p:last-child { max-width: 600px; color: #adb8c9; }
.service-journey-track { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.service-journey-moment { min-height: 410px; position: relative; border-top: 1px solid rgba(255,255,255,.15); padding-top: 16px; }
.service-journey-moment::after { content: ""; width: calc(100% + 12px); height: 1px; position: absolute; left: 0; top: 17px; background: linear-gradient(90deg, var(--apricot), rgba(255,255,255,.08)); }
.service-journey-moment > div { height: 240px; margin-bottom: 18px; display: grid; place-items: center; overflow: hidden; }
.service-journey-moment img { width: 92%; height: 92%; object-fit: contain; filter: drop-shadow(0 24px 30px rgba(0,0,0,.23)); transition: transform .45s ease; }
.service-journey-moment:hover img { transform: translateY(-8px) scale(1.04); }
.service-journey-moment > span { color: var(--apricot); font-size: 9px; font-weight: 850; }
.service-journey-moment h3 { margin: 8px 0; color: white; font-size: 24px; }
.service-journey-moment p { margin: 0; color: #aeb8c8; font-size: 10px; line-height: 1.6; }
.service-scenario-section { padding-block: 120px; }
.scenario-heading { margin-bottom: 42px; display: grid; grid-template-columns: 1.15fr .85fr; align-items: end; gap: 50px; }
.scenario-heading h2 { margin: 7px 0 0; font-size: clamp(2.7rem, 4.7vw, 4.8rem); line-height: .94; letter-spacing: -.065em; }
.scenario-heading > p { max-width: 490px; color: var(--text-soft); line-height: 1.65; }
.scenario-lab { border-radius: 32px; overflow: hidden; display: grid; grid-template-columns: 340px 1fr; background: #e9e5dd; box-shadow: var(--soft-shadow); }
.scenario-controls { padding: 13px; display: grid; gap: 7px; background: rgba(255,255,255,.58); }
.scenario-controls button { border: 1px solid transparent; border-radius: 17px; padding: 16px; background: transparent; color: var(--navy); text-align: left; transition: background .2s ease, transform .2s ease; }
.scenario-controls button:hover { transform: translateX(3px); }
.scenario-controls button.is-active { border-color: var(--border); background: white; box-shadow: 0 12px 35px rgba(25,31,44,.08); }
.scenario-controls span, .scenario-controls strong { display: block; }
.scenario-controls span { margin-bottom: 5px; color: var(--emerald); font-size: 8px; font-weight: 850; text-transform: uppercase; letter-spacing: .06em; }
.scenario-controls strong { font-size: 11px; }
.scenario-screen { min-height: 530px; padding: 45px; display: flex; flex-direction: column; background: linear-gradient(145deg, #d8cffa, #f4d3c1 56%, #cce9dc); transition: opacity .2s ease, transform .2s ease; }
.scenario-screen.is-switching { opacity: .72; transform: scale(.992); }
.scenario-screen-top { display: flex; align-items: center; gap: 11px; }
.scenario-screen-top > div { flex: 1; }
.scenario-screen-top small, .scenario-screen-top strong { display: block; }
.scenario-screen-top small { color: #5e6879; font-size: 8px; }
.scenario-screen-top strong { margin-top: 3px; font-size: 12px; }
.scenario-screen-top em { border-radius: 999px; padding: 7px 10px; background: rgba(255,255,255,.66); color: var(--emerald); font-size: 8px; font-style: normal; font-weight: 850; }
.scenario-screen-top em.is-unknown { color: #b35542; }
.scenario-conversation { width: min(100%, 620px); margin: auto; display: flex; flex-direction: column; }
.scenario-conversation p { max-width: 78%; margin: 0 0 9px; border-radius: 17px; padding: 14px 16px; font-size: 11px; line-height: 1.55; }
.scenario-user { align-self: flex-end; border-bottom-right-radius: 5px !important; background: var(--navy); color: white; }
.scenario-kanai { border-bottom-left-radius: 5px !important; display: flex; gap: 8px; background: rgba(255,255,255,.82); color: var(--navy); box-shadow: 0 16px 40px rgba(25,31,44,.08); }
.scenario-kanai b { width: 25px; height: 25px; flex: 0 0 auto; border-radius: 9px 9px 9px 3px; display: grid; place-items: center; background: var(--navy); color: white; }
.scenario-conversation > small { color: #586274; font-size: 8px; }
.scenario-data-flow { margin-top: auto; display: flex; align-items: center; justify-content: center; gap: 10px; }
.scenario-data-flow span { border: 1px solid rgba(255,255,255,.7); border-radius: 999px; padding: 8px 10px; background: rgba(255,255,255,.45); color: #596274; font-size: 8px; font-weight: 800; backdrop-filter: blur(10px); }
.scenario-data-flow i { color: #6f7580; font-style: normal; }
.services-roadmap { min-height: 520px; border-radius: 38px; padding: 55px; overflow: hidden; display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: 50px; background: linear-gradient(145deg, #dcebf5, #e5dcf8 50%, #f5dacb); }
.services-roadmap h2 { margin: 8px 0 16px; font-size: clamp(2.7rem, 5vw, 5rem); line-height: .92; letter-spacing: -.065em; }
.services-roadmap > div:first-child > p:last-child { max-width: 520px; color: var(--text-soft); }
.roadmap-orbits { min-height: 390px; position: relative; display: grid; place-items: center; }
.roadmap-orbits::before, .roadmap-orbits::after { content: ""; position: absolute; border: 1px solid rgba(23,32,54,.15); border-radius: 50%; }
.roadmap-orbits::before { width: 370px; height: 250px; transform: rotate(18deg); }
.roadmap-orbits::after { width: 260px; height: 370px; transform: rotate(-22deg); }
.roadmap-core { width: 80px; height: 80px; position: relative; z-index: 3; border-radius: 26px 26px 26px 9px; display: grid; place-items: center; background: var(--navy); color: white; box-shadow: 0 20px 45px rgba(16,27,46,.22); font-size: 32px; font-style: normal; font-weight: 900; }
.roadmap-orbits span { position: absolute; z-index: 4; border: 1px solid rgba(255,255,255,.75); border-radius: 999px; padding: 9px 12px; background: rgba(255,255,255,.65); box-shadow: 0 12px 35px rgba(25,31,44,.09); color: #566174; font-size: 8px; font-weight: 800; backdrop-filter: blur(12px); }
.roadmap-orbits span:nth-child(1) { top: 45px; left: 16%; }
.roadmap-orbits span:nth-child(2) { top: 33%; right: 3%; }
.roadmap-orbits span:nth-child(3) { left: 3%; bottom: 24%; }
.roadmap-orbits span:nth-child(4) { right: 16%; bottom: 34px; }
.services-final-cta { margin-top: 110px; }
.journey-flow { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.journey-card { min-height: 330px; border: 1px solid rgba(23,32,54,.08); border-radius: 32px; padding: 34px; position: relative; overflow: hidden; display: flex; flex-direction: column; background: white; box-shadow: 0 20px 60px rgba(32,38,50,.06); transition: transform .35s ease, box-shadow .35s ease; }
.journey-card:hover { transform: translateY(-5px); box-shadow: var(--soft-shadow); }
.journey-card::after { content: ""; width: 190px; height: 190px; position: absolute; right: -60px; bottom: -70px; border-radius: 50%; background: rgba(255,255,255,.34); }
.journey-capture { background: linear-gradient(145deg, #f9d3b8, #ffb98e); }
.journey-verify { background: linear-gradient(145deg, #c9ede0, #a7d8c5); }
.journey-share { background: linear-gradient(145deg, #dcd4f8, #c4b8ed); }
.journey-learn { background: linear-gradient(145deg, #cde7ff, #a8d2f2); }
.journey-top { display: flex; justify-content: space-between; align-items: center; }
.journey-top > span { width: 54px; height: 54px; border-radius: 18px; display: grid; place-items: center; background: rgba(255,255,255,.67); font-size: 27px; }
.journey-top small { color: rgba(16,27,46,.48); font-weight: 850; }
.journey-card > em { width: max-content; margin-top: 34px; border-radius: 999px; padding: 5px 8px; background: rgba(255,255,255,.62); color: rgba(16,27,46,.65); font-size: 8px; font-style: normal; font-weight: 850; text-transform: uppercase; letter-spacing: .06em; }
.journey-card h3 { margin-top: 13px; margin-bottom: 10px; font-size: 24px; }
.journey-card p { max-width: 440px; margin-bottom: 0; color: rgba(16,27,46,.7); }
.journey-output { margin-top: auto; border-top: 1px solid rgba(16,27,46,.1); padding-top: 15px; position: relative; z-index: 2; color: rgba(16,27,46,.72); font-size: 9px; }
.demo-section { overflow: hidden; padding-block: 110px; background: var(--navy); color: white; }
.demo-grid { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 90px; }
.eyebrow-light { color: var(--apricot) !important; }
.demo-copy h2 { color: white; }
.demo-copy > p:not(.eyebrow) { max-width: 560px; color: #b9c2d2; font-size: 17px; line-height: 1.7; }
.question-river { margin-top: 34px; display: flex; flex-wrap: wrap; gap: 9px; }
.question-river button { border: 1px solid rgba(255,255,255,.14); border-radius: 999px; padding: 9px 12px; background: rgba(255,255,255,.06); color: #dce2ed; font-size: 10px; }
.question-river button:hover { border-color: var(--apricot); background: rgba(255,173,130,.13); color: white; }
.landing-demo-form { max-width: 560px; margin-top: 17px; border: 1px solid rgba(255,255,255,.18); border-radius: 16px; padding: 6px; display: flex; gap: 6px; background: rgba(255,255,255,.08); }
.landing-demo-form input { border: 0; background: transparent; color: white; }
.landing-demo-form input::placeholder { color: #8f9bad; }
.landing-demo-form button { width: 43px; height: 43px; flex: 0 0 auto; border: 0; border-radius: 12px; display: grid; place-items: center; background: var(--apricot); color: var(--navy); }
.demo-disclaimer { max-width: 540px; margin-top: 10px; display: block; color: #7f8da2; font-size: 8px; }
.demo-phone-wrap { min-height: 620px; position: relative; display: grid; place-items: center; }
.demo-phone-wrap::before { content: ""; width: 480px; height: 480px; position: absolute; border-radius: 50%; background: radial-gradient(circle at 30% 25%, #ffb588, #806aae 58%, transparent 70%); filter: blur(25px); opacity: .8; }
.demo-phone { width: 310px; height: 600px; position: relative; z-index: 2; transform: rotate(-3deg); }
.dark-phone-screen { background: linear-gradient(180deg, #243451, #18243a); color: white; }
.dark-phone-screen .phone-status { color: white; }
.demo-conversation { margin-top: 85px; display: flex; flex-direction: column; }
.demo-conversation { transition: opacity .2s ease, transform .2s ease; }
.demo-conversation.is-thinking { opacity: .35; transform: translateY(3px); }
.answer-check.unknown { background: var(--coral); }
.light-guest { background: white; color: var(--navy); }
.light-milo { background: var(--sage); color: var(--emerald-dark); }
.demo-conversation > small { color: #8f9bae; font-size: 8px; }
.dark-input { border-color: rgba(255,255,255,.14); background: rgba(255,255,255,.08); color: #919db0; }
.dark-input span { background: var(--apricot); color: var(--navy); }
.owner-answer-card { width: 280px; position: absolute; z-index: 4; right: -20px; bottom: 78px; border-radius: 18px; padding: 14px; display: flex; align-items: center; gap: 10px; background: white; color: var(--navy); box-shadow: var(--deep-shadow); }
.owner-answer-card .status-dot { width: 9px; height: 9px; border-radius: 50%; background: #43ac7e; box-shadow: 0 0 0 5px rgba(67,172,126,.12); }
.owner-answer-card > div { flex: 1; }
.owner-answer-card small, .owner-answer-card strong { display: block; }
.owner-answer-card small { color: var(--text-soft); font-size: 8px; }
.owner-answer-card strong { font-size: 10px; }
.owner-answer-card .ui-icon { color: var(--emerald); }
.dashboard-showcase { min-height: 560px; border: 1px solid rgba(23,32,54,.1); border-radius: 38px; padding: 18px; display: grid; grid-template-columns: 90px 1fr; overflow: hidden; background: linear-gradient(150deg, #e9dfcf, #d7cbba); box-shadow: var(--soft-shadow); }
.showcase-side { border-radius: 24px; display: flex; flex-direction: column; align-items: center; gap: 22px; padding: 24px 0; background: var(--navy); }
.mini-logo { width: 38px; height: 38px; border-radius: 12px; display: grid; place-items: center; background: white; color: var(--navy); font-weight: 900; }
.showcase-side i { width: 30px; height: 30px; border-radius: 9px; background: rgba(255,255,255,.1); }
.showcase-side i:first-of-type { background: var(--apricot); }
.showcase-main { border-radius: 24px; padding: clamp(28px, 5vw, 65px); background: #fdfcf8; }
.showcase-top { display: flex; justify-content: space-between; align-items: flex-start; }
.showcase-top small { color: var(--text-soft); }
.showcase-top h3 { margin: 5px 0 0; font-size: 34px; }
.showcase-top > span { border-radius: 999px; padding: 9px 13px; background: var(--sage); color: var(--emerald-dark); font-size: 12px; font-weight: 800; }
.showcase-stats { margin-top: 45px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.showcase-stats div { border: 1px solid var(--border); border-radius: 20px; padding: 22px; background: white; }
.showcase-stats b, .showcase-stats small { display: block; }
.showcase-stats b { font-size: 32px; }
.showcase-stats small { color: var(--text-soft); }
.showcase-bottom { margin-top: 18px; display: grid; grid-template-columns: 1.3fr .7fr; gap: 14px; }
.showcase-chart, .showcase-list { min-height: 170px; border: 1px solid var(--border); border-radius: 20px; padding: 22px; background: white; }
.showcase-chart { display: flex; align-items: flex-end; gap: 12px; }
.showcase-chart span { flex: 1; border-radius: 6px 6px 2px 2px; background: linear-gradient(var(--sage), var(--emerald)); }
.showcase-list p { margin: 0; padding: 12px 0; border-bottom: 1px solid var(--border); display: flex; align-items: center; gap: 8px; font-size: 12px; }
.showcase-list p:last-child { border: 0; }
.showcase-list i { width: 8px; height: 8px; border-radius: 50%; background: var(--apricot); }
.showcase-list b { margin-left: auto; }
.trust-section { padding-top: 30px; }
.trust-card { border-radius: 38px; padding: clamp(38px, 7vw, 84px); display: grid; grid-template-columns: .9fr 1.1fr; gap: 90px; background: #dce9e3; }
.trust-points { display: grid; gap: 14px; }
.trust-points p { margin: 0; border-radius: 19px; padding: 18px; display: grid; grid-template-columns: 44px 1fr; align-items: center; column-gap: 14px; background: rgba(255,255,255,.66); }
.trust-points p > span { width: 44px; height: 44px; grid-row: span 2; border-radius: 14px; display: grid; place-items: center; background: white; color: var(--emerald); }
.trust-points strong, .trust-points small { display: block; }
.trust-points small { color: var(--text-soft); }
.faq-section { padding-top: 112px; padding-bottom: 112px; }
.faq-intro { max-width: 760px; margin-bottom: 44px; }
.faq-intro h2 { max-width: 700px; }
.faq-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.faq-item { border: 1px solid rgba(23,32,54,.1); border-radius: 22px; padding: 0 24px; background: rgba(255,255,255,.58); box-shadow: 0 14px 38px rgba(31,37,51,.045); }
.faq-item summary { min-height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 20px; cursor: pointer; list-style: none; color: var(--navy); font-size: 15px; font-weight: 800; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary b { width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; flex: 0 0 auto; background: var(--lavender); color: var(--navy); font-size: 18px; font-weight: 500; transition: transform .2s ease; }
.faq-item[open] summary b { transform: rotate(45deg); }
.faq-item p { margin: -2px 44px 24px 0; color: var(--text-soft); font-size: 13px; line-height: 1.7; }
.final-cta { min-height: 530px; margin-bottom: 70px; border-radius: 40px; position: relative; overflow: hidden; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 60px 24px; background: var(--navy); color: white; text-align: center; }
.final-cta h2 { position: relative; z-index: 2; margin-bottom: 15px; color: white; }
.final-cta > p, .final-cta button { position: relative; z-index: 2; }
.final-cta > p:not(.eyebrow) { color: #b9c2d2; }
.final-orb { width: 420px; height: 420px; position: absolute; top: -230px; border-radius: 50%; background: radial-gradient(circle at 40% 60%, var(--apricot), var(--lavender) 48%, transparent 70%); filter: blur(20px); opacity: .5; }
.site-footer { min-height: 100px; display: flex; align-items: center; gap: 28px; }
.site-footer p { margin: 0; color: var(--text-soft); font-size: 12px; }
.site-footer > div { margin-left: auto; display: flex; gap: 22px; }
.site-footer a, .site-footer button { border: 0; background: transparent; color: var(--text-soft); font-size: 12px; text-decoration: none; }
.reveal { animation: reveal-up .75s cubic-bezier(.2,.7,.2,1) both; }
.reveal-delay { animation-delay: .15s; }
@keyframes reveal-up { from { opacity: 0; transform: translateY(20px); } }

/* Authentication */
.auth-main { width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 24px 36px !important; }
.auth-shell { width: min(100%, 1180px); min-height: calc(100vh - 124px); margin: 0 auto; border: 1px solid var(--border); border-radius: 34px; display: grid; grid-template-columns: 1.05fr .95fr; overflow: hidden; background: white; box-shadow: var(--soft-shadow); }
.auth-visual { min-height: 670px; position: relative; overflow: hidden; padding: clamp(34px, 5vw, 70px); background: linear-gradient(150deg, #13223a, #263958); color: white; }
.auth-visual::before { content: ""; width: 430px; height: 430px; position: absolute; top: -190px; right: -100px; border-radius: 50%; background: var(--apricot); filter: blur(95px); opacity: .56; }
.auth-visual-copy { position: relative; z-index: 2; max-width: 490px; }
.auth-visual-copy h1 { margin-top: 18px; font-size: clamp(3rem, 5vw, 5.3rem); line-height: .95; }
.auth-visual-copy > p:last-child { color: #bcc6d7; font-size: 17px; }
.auth-visual > img { width: 75%; position: absolute; right: -8%; bottom: 16px; filter: drop-shadow(0 30px 35px rgba(0,0,0,.32)); }
.auth-quote { max-width: 340px; position: absolute; z-index: 3; left: 38px; bottom: 38px; border: 1px solid rgba(255,255,255,.14); border-radius: 20px; padding: 16px 20px; background: rgba(255,255,255,.1); backdrop-filter: blur(16px); }
.auth-quote span { color: var(--apricot); font-family: Georgia, serif; font-size: 28px; }
.auth-quote p { margin: -10px 0 0 22px; color: #e7ebf2; font-size: 12px; }
.auth-panel { display: grid; place-items: center; padding: 42px; }
.auth-panel-inner { width: min(100%, 420px); }
.auth-panel h2 { margin-bottom: 9px; font-size: clamp(2rem, 4vw, 3.2rem); }
.auth-panel .segmented { margin-top: 28px; }
.form-stack { display: grid; gap: 17px; }
.form-stack label, .top-label { color: var(--navy); font-size: 12px; font-weight: 780; }
.form-stack input, .form-stack select, .form-stack textarea, .top-label input { margin-top: 7px; border-color: var(--border); border-radius: 14px; padding: 14px; background: #fbfaf7; }
.question-tools { margin-top: 8px; display: flex; flex-wrap: wrap; gap: 7px; }
.question-tool { min-height: 32px; border: 1px solid rgba(40,107,91,.18); border-radius: 999px; padding: 6px 10px; display: inline-flex; align-items: center; gap: 6px; background: #eef5f1; color: var(--emerald-dark); font-size: 9px; font-weight: 800; }
.question-tool .ui-icon { width: 14px; height: 14px; }
.question-tool:hover { border-color: var(--emerald); background: #e4f1eb; }
.question-tool.is-listening { border-color: var(--coral); background: #f9e7e2; color: #a64e3d; animation: listening-pulse 1.2s ease-in-out infinite; }
.question-tool.is-uploading { opacity: .72; pointer-events: none; }
.question-media-input { display: none; }
@keyframes listening-pulse { 50% { box-shadow: 0 0 0 6px rgba(236,118,95,.1); } }
.auth-legal { margin-top: 18px; display: flex; align-items: center; justify-content: center; gap: 7px; color: var(--text-soft); font-size: 11px; }
.auth-legal .ui-icon { width: 14px; color: var(--emerald); }

/* Owner application */
.owner-body { background: #f4f5f7; }
.owner-body .site-header { min-height: 70px; }
.owner-header { width: 100%; padding: 0 28px; border-bottom: 1px solid var(--border); background: rgba(255,255,255,.8); backdrop-filter: blur(20px); }
.owner-header .brand-mark { display: block; }
.owner-header .brand-word { display: inline-flex; }
.owner-header-status { position: absolute; left: 50%; top: 50%; display: flex; align-items: center; gap: 10px; transform: translate(-50%,-50%); }
.owner-header-status p { margin: 0; }
.owner-header-status strong, .owner-header-status small { display: block; white-space: nowrap; }
.owner-header-status strong { color: #344052; font-size: 10px; }
.owner-header-status small { margin-top: 2px; color: #8a929d; font-size: 8px; }
.owner-header-status .sidebar-product-dot { margin-top: 0; }
.owner-main { width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; }
.connection-status { display: flex; }
.avatar-button { width: 38px; height: 38px; border: 0; border-radius: 12px; background: #d9cff8; color: var(--navy); font-size: 11px; font-weight: 850; }
.owner-shell { min-height: calc(100vh - 70px); display: grid; grid-template-columns: 245px minmax(0, 1fr); }
.owner-sidebar { min-height: calc(100vh - 70px); border-right: 1px solid var(--border); border-radius: 0 0 18px 0; padding: 26px 17px 18px; display: flex; flex-direction: column; justify-content: flex-start; align-self: stretch; background: #faf9f6; }
.sidebar-label { margin: 0 10px 11px; color: #9a9da5; font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .12em; }
.side-nav-item { width: 100%; min-height: 45px; margin-bottom: 4px; border: 0; border-radius: 12px; padding: 10px 12px; display: flex; align-items: center; gap: 11px; background: transparent; color: #626b7c; font-size: 13px; font-weight: 690; text-align: left; }
.side-nav-item .ui-icon { width: 18px; }
.side-nav-item b { min-width: 21px; margin-left: auto; border-radius: 999px; padding: 2px 6px; background: #e9e5dd; color: var(--navy); font-size: 9px; text-align: center; }
.side-nav-item:hover { background: #f0ede7; color: var(--navy); }
.side-nav-item.is-active { background: var(--navy); color: white; box-shadow: 0 10px 25px rgba(16,27,46,.13); }
.side-nav-item.is-active b { background: var(--apricot); }
.sidebar-bottom { display: grid; gap: 14px; }
.guide-card { width: 100%; border: 1px solid rgba(40,107,91,.18); border-radius: 16px; padding: 12px; display: flex; align-items: center; gap: 9px; background: #e5f0ea; color: var(--navy); text-align: left; }
.guide-card > span { width: 34px; height: 34px; border-radius: 11px; display: grid; place-items: center; background: white; color: var(--emerald); }
.guide-card > div { flex: 1; }
.guide-card strong, .guide-card small { display: block; }
.guide-card strong { font-size: 11px; }
.guide-card small { color: #667c73; font-size: 9px; }
.property-mini { border-top: 1px solid var(--border); padding: 14px 7px 0; display: flex; align-items: center; gap: 9px; }
.property-mini > span { width: 34px; height: 34px; border-radius: 11px; display: grid; place-items: center; background: #f0c5ab; font-size: 10px; font-weight: 850; }
.property-mini strong, .property-mini small { display: block; max-width: 150px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.property-mini strong { font-size: 11px; }
.property-mini small { color: var(--text-soft); font-size: 9px; text-transform: capitalize; }
.owner-workspace { min-width: 0; }
.owner-topbar { min-height: 68px; border-bottom: 1px solid var(--border); padding: 0 34px; display: flex; align-items: center; background: #faf9f6; }
.mobile-menu { display: none; }
.context-back-button { border: 0; display: inline-flex; align-items: center; gap: 7px; background: transparent; color: #596678; font-size: 10px; font-weight: 760; cursor: pointer; }
.context-back-button:hover { background: #f0f2f3; color: #17243a; }
.context-back-button .ui-icon { width: 15px; height: 15px; transform: rotate(180deg); }
.context-back-button { margin-bottom: 20px; border: 1px solid #dce1e4; border-radius: 9px; padding: 8px 11px; background: rgba(255,255,255,.7); }
.property-select-wrap small { display: block; color: #989ba4; font-size: 9px; text-transform: uppercase; letter-spacing: .08em; }
.property-select-wrap select { width: auto; border: 0; padding: 2px 28px 2px 0; background-color: transparent; font-size: 13px; font-weight: 800; }
.topbar-actions { margin-left: auto; display: flex; align-items: center; gap: 8px; }
.notification-button { width: 40px; height: 40px; border: 1px solid var(--border); border-radius: 12px; position: relative; display: grid; place-items: center; background: white; color: var(--navy); }
.notification-button b { min-width: 17px; height: 17px; position: absolute; top: -5px; right: -5px; border-radius: 99px; display: grid; place-items: center; background: var(--coral); color: white; font-size: 8px; }
.workspace-view { max-width: 1450px; margin: 0 auto; padding: 38px; animation: workspace-in .35s ease both; }
@keyframes workspace-in { from { opacity: 0; transform: translateY(6px); } }
.workspace-heading { margin-bottom: 27px; display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; }
.workspace-heading h1 { margin-bottom: 7px; font-size: clamp(2.1rem, 4vw, 3.6rem); letter-spacing: -.06em; }
.workspace-heading > div > p:last-child { margin: 0; color: var(--text-soft); }
.dashboard-heading { align-items: center; }
.dashboard-heading h1 { font-size: clamp(2rem, 3.4vw, 3.25rem); }
.dashboard-heading-actions { display: flex; align-items: center; gap: 9px; }
.dashboard-status { --progress: 0; min-height: 190px; border: 1px solid rgba(255,255,255,.08); border-radius: 18px; padding: 28px 30px; display: grid; grid-template-columns: auto minmax(260px, 1fr) minmax(285px, .65fr); align-items: center; gap: 28px; overflow: hidden; position: relative; background: linear-gradient(130deg, #111d31 0%, #172a45 66%, #193c3b 130%); color: white; box-shadow: 0 18px 48px rgba(16,27,46,.12); }
.dashboard-status::after { content: ""; width: 260px; height: 260px; position: absolute; right: 17%; bottom: -210px; border-radius: 50%; background: var(--sage); filter: blur(55px); opacity: .18; pointer-events: none; }
.dashboard-score { width: 108px; height: 108px; border-radius: 50%; position: relative; display: grid; place-items: center; background: conic-gradient(var(--sage) calc(var(--progress) * 1%), rgba(255,255,255,.11) 0); }
.dashboard-score::before { content: ""; width: 86px; height: 86px; position: absolute; border-radius: 50%; background: #15243b; }
.dashboard-score > span { position: relative; z-index: 1; display: grid; justify-items: center; }
.dashboard-score strong { color: white; font-size: 23px; line-height: 1; }
.dashboard-score small { margin-top: 5px; color: #aeb8c8; font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
.dashboard-status-copy { position: relative; z-index: 1; }
.dashboard-status-pill { width: max-content; margin-bottom: 12px; border-radius: 99px; padding: 6px 9px; display: block; background: rgba(255,255,255,.09); color: #cbd4df; font-size: 9px; font-weight: 800; }
.dashboard-status-pill.is-ready { background: rgba(189,229,211,.14); color: var(--sage); }
.dashboard-status-copy h2 { max-width: 620px; margin: 0 0 8px; color: white; font-size: clamp(1.35rem, 2.1vw, 2rem); line-height: 1.12; letter-spacing: -.035em; }
.dashboard-status-copy p { max-width: 650px; margin: 0; color: #abb7c9; font-size: 11px; line-height: 1.6; }
.dashboard-primary-actions { position: relative; z-index: 1; display: grid; gap: 8px; }
.dashboard-primary-actions button { width: 100%; min-height: 60px; border: 1px solid rgba(255,255,255,.1); border-radius: 12px; padding: 10px 12px; display: grid; grid-template-columns: 32px 1fr auto; align-items: center; gap: 10px; background: rgba(255,255,255,.065); color: white; text-align: left; }
.dashboard-primary-actions button:hover { border-color: rgba(255,255,255,.24); background: rgba(255,255,255,.1); }
.dashboard-primary-actions .ui-icon { width: 17px; color: var(--sage); }
.dashboard-primary-actions span { display: grid; }
.dashboard-primary-actions strong { font-size: 10px; }
.dashboard-primary-actions small { margin-top: 2px; color: #9eabbd; font-size: 8px; }
.dashboard-primary-actions b { color: #8998ae; }
.dashboard-kpi-strip { margin-top: 14px; border: 1px solid var(--border); border-radius: 14px; display: grid; grid-template-columns: repeat(4, 1fr); background: white; }
.dashboard-kpi { min-width: 0; min-height: 96px; border-right: 1px solid var(--border); padding: 18px 20px; display: flex; flex-direction: column; justify-content: space-between; }
.dashboard-kpi:last-child { border-right: 0; }
.dashboard-kpi > div { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.dashboard-kpi span { color: var(--text-soft); font-size: 10px; font-weight: 700; }
.dashboard-kpi strong { color: var(--navy); font-size: 23px; line-height: 1; }
.dashboard-kpi small { overflow: hidden; color: #8a91a0; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-kpi.is-attention strong { color: #b55240; }
.dashboard-kpi.is-ok strong { color: var(--emerald); }
.dashboard-control-grid { margin-top: 14px; display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(330px, .88fr); gap: 14px; }
.dashboard-control-grid .panel, .dashboard-management { border-radius: 14px; box-shadow: none; }
.dashboard-control-grid .panel { min-height: 345px; }
.panel-count { min-width: 30px; height: 28px; border-radius: 8px; display: grid; place-items: center; background: #f1eee8; color: var(--navy); font-size: 10px; font-weight: 850; }
.dashboard-action-list { gap: 0; }
.dashboard-action-list button { min-height: 62px; border: 0; border-top: 1px solid var(--border); border-radius: 0; padding: 13px 4px; grid-template-columns: auto minmax(0, 1fr) auto auto; background: transparent; }
.dashboard-action-list button:last-child { border-bottom: 1px solid var(--border); }
.dashboard-action-list button:hover { border-color: var(--border); background: #f8f9f8; transform: none; }
.dashboard-action-list button strong { font-size: 11px; }
.dashboard-action-list button small { margin-top: 3px; font-size: 9px; }
.dashboard-action-list button em { border-radius: 99px; padding: 5px 7px; background: #f1eee8; color: #7d8390; font-size: 7px; font-style: normal; font-weight: 800; white-space: nowrap; }
.dashboard-action-list button b { color: #9ca2ae; }
.stays-command-panel .stay-preview-list > div { padding-block: 12px; }
.dashboard-management { margin-top: 14px; padding: 25px; }
.dashboard-management-head { margin-bottom: 18px; display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; }
.dashboard-management-head h2 { margin: 3px 0 0; font-size: 20px; }
.dashboard-management-head > p { max-width: 380px; margin: 0; color: var(--text-soft); font-size: 10px; text-align: right; }
.management-grid { border: 1px solid var(--border); border-radius: 12px; display: grid; grid-template-columns: repeat(3, 1fr); overflow: hidden; }
.management-grid button { min-width: 0; min-height: 105px; border: 0; border-right: 1px solid var(--border); padding: 17px; display: grid; grid-template-columns: 38px minmax(0, 1fr) auto; grid-template-rows: auto auto; align-items: center; gap: 7px 11px; background: #fbfbfa; color: var(--navy); text-align: left; }
.management-grid button:last-child { border-right: 0; }
.management-grid button:hover { background: #f4f7f5; }
.management-icon { width: 38px; height: 38px; grid-row: span 2; border-radius: 10px; display: grid; place-items: center; background: #edf1ef; color: var(--emerald); }
.management-icon .ui-icon { width: 17px; }
.management-grid button > span:nth-child(2) { min-width: 0; display: grid; }
.management-grid strong { font-size: 10px; }
.management-grid small { margin-top: 3px; color: var(--text-soft); font-size: 8px; line-height: 1.4; }
.management-grid em { grid-column: 2; color: #8b919c; font-size: 8px; font-style: normal; font-weight: 700; }
.management-grid b { grid-column: 3; grid-row: 1 / span 2; color: #a3a8b1; }
.preview-dialog { width: min(calc(100% - 30px), 720px); padding: 24px; border-color: rgba(23,32,54,.14); background: #fffefa; }
.preview-dialog-head { margin-bottom: 18px; display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.preview-dialog-head h2 { margin: 4px 0 0; font-size: 22px; }
.preview-dialog .preview-messages { min-height: 285px; }
.preview-dialog .preview-composer { padding: 9px; }
.metric-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 13px; }
.metric-card { min-height: 112px; border: 1px solid var(--border); border-radius: 19px; padding: 20px; display: flex; align-items: center; gap: 16px; background: white; box-shadow: 0 8px 28px rgba(28,35,46,.04); }
.metric-card > div { display: grid; }
.metric-card strong { font-size: 27px; line-height: 1; }
.metric-card span { margin-top: 5px; color: var(--text-soft); font-size: 10px; }
.metric-icon { width: 42px; height: 42px; flex: 0 0 auto; border-radius: 13px; display: grid; place-items: center; background: #ebe7f8; color: #67569c !important; }
.metric-ring { --progress: 0; width: 47px; height: 47px; flex: 0 0 auto; border-radius: 50%; position: relative; display: grid; place-items: center; background: conic-gradient(var(--emerald) calc(var(--progress) * 1%), #e7e6e2 0); }
.metric-ring::before { content: ""; width: 35px; height: 35px; border-radius: 50%; background: white; }
.dashboard-grid { margin-top: 14px; display: grid; grid-template-columns: 1.25fr .75fr; gap: 14px; }
.panel { border: 1px solid var(--border); border-radius: 20px; padding: 23px; background: white; box-shadow: 0 8px 28px rgba(28,35,46,.035); }
.panel-heading { margin-bottom: 19px; display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.panel-heading h2 { margin-bottom: 0; font-size: 20px; }
.live-badge { border-radius: 999px; padding: 6px 9px; display: flex; align-items: center; gap: 6px; background: #e7f3ed; color: var(--emerald-dark); font-size: 9px; font-weight: 800; }
.live-badge i, .guest-chat-head small i { width: 6px; height: 6px; border-radius: 50%; background: #41aa79; }
.preview-chat { border: 1px solid var(--border); border-radius: 17px; overflow: hidden; background: #f9f8f5; }
.preview-messages { min-height: 210px; max-height: 350px; padding: 18px; display: flex; flex-direction: column; gap: 9px; overflow-y: auto; }
.preview-welcome { margin: auto; display: flex; align-items: center; justify-content: center; gap: 12px; }
.preview-welcome p { margin: 4px 0 0; color: var(--text-soft); font-size: 11px; }
.preview-message { max-width: 80%; border-radius: 14px; padding: 10px 13px; font-size: 12px; white-space: pre-wrap; }
.preview-message.is-user { align-self: flex-end; border-bottom-right-radius: 4px; background: var(--navy); color: white; }
.preview-message.is-milo { align-self: flex-start; border-bottom-left-radius: 4px; background: var(--sage); color: var(--emerald-dark); }
.suggestion-row { padding: 0 12px 10px; display: flex; flex-wrap: wrap; gap: 6px; }
.suggestion-row button { border: 1px solid var(--border); border-radius: 999px; padding: 6px 9px; background: white; color: var(--text-soft); font-size: 9px; }
.preview-composer { border-top: 1px solid var(--border); padding: 9px; display: flex; gap: 7px; background: white; }
.preview-composer input { border: 0; background: transparent; }
.preview-composer button { width: 39px; height: 39px; border: 0; border-radius: 12px; display: grid; place-items: center; background: var(--navy); color: white; }
.radar-list { display: grid; gap: 8px; }
.radar-list button { width: 100%; border: 1px solid var(--border); border-radius: 14px; padding: 13px; display: flex; align-items: center; gap: 10px; background: #fbfaf8; color: var(--navy); text-align: left; }
.radar-list button > i { width: 9px; height: 9px; border-radius: 50%; }
.radar-list button > i.urgent { background: var(--coral); box-shadow: 0 0 0 5px rgba(236,118,95,.11); }
.radar-list button > i.warn { background: #e7ae4d; box-shadow: 0 0 0 5px rgba(231,174,77,.11); }
.radar-list button > i.hint { background: #7b82ba; box-shadow: 0 0 0 5px rgba(123,130,186,.11); }
.radar-list button > i.ok { background: #49ac7e; box-shadow: 0 0 0 5px rgba(73,172,126,.11); }
.radar-list button span { flex: 1; }
.radar-list strong, .radar-list small { display: block; }
.radar-list strong { font-size: 11px; }
.radar-list small { color: var(--text-soft); font-size: 9px; }
.radar-list button:hover { border-color: rgba(40,107,91,.32); background: #f5f8f5; transform: translateY(-1px); }
.radar-intro { margin: -8px 0 16px; color: var(--text-soft); font-size: 10px; line-height: 1.55; }
.radar-foot { margin: 11px 2px 0; color: var(--text-soft); font-size: 9px; }
.gap-dialog { width: min(calc(100% - 30px), 640px); border-color: rgba(40,107,91,.2); background: #fffefa; }
.gap-dialog form { padding: 28px; }
.gap-dialog .dialog-heading h2 { max-width: 500px; margin: 5px 0 0; font-size: 24px; line-height: 1.12; }
.dialog-close { width: 34px; height: 34px; flex: 0 0 auto; border: 1px solid var(--border); border-radius: 11px; background: white; color: var(--text-soft); font-size: 20px; }
.gap-context { margin: -3px 0 2px; border-left: 3px solid var(--sage-deep); padding: 9px 12px; color: var(--text-soft); background: #f3f7f4; font-size: 11px; }
.gap-dialog textarea { min-height: 130px; resize: vertical; }
.gap-actions { margin-top: 5px; display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.calendar-panel, .memory-panel { min-height: 280px; }
.text-button { border: 0; background: transparent; color: var(--emerald); font-size: 11px; font-weight: 800; }
.soft-empty { min-height: 175px; display: flex; flex-direction: column; align-items: center; justify-content: center; color: var(--text-soft); text-align: center; }
.soft-empty.large { min-height: 320px; }
.soft-empty > span { width: 42px; height: 42px; margin-bottom: 9px; border-radius: 13px; display: grid; place-items: center; background: #f0ece4; color: var(--emerald); }
.soft-empty p { margin: 4px 0 10px; font-size: 11px; }
.stay-preview-list { display: grid; gap: 10px; }
.stay-preview-list > div { border-bottom: 1px solid var(--border); padding: 8px 0 13px; display: flex; align-items: center; gap: 10px; }
.date-tile { width: 40px; height: 44px; border-radius: 11px; display: grid; place-items: center; align-content: center; background: #f0ede7; }
.date-tile b, .date-tile small { display: block; line-height: 1; }
.date-tile b { font-size: 15px; }
.date-tile small { margin-top: 3px; color: var(--text-soft); font-size: 8px; text-transform: uppercase; }
.stay-preview-list p { flex: 1; margin: 0; }
.stay-preview-list p strong, .stay-preview-list p small { display: block; }
.stay-preview-list p strong { font-size: 11px; }
.stay-preview-list p small { color: var(--text-soft); font-size: 9px; }
[class^="state-"] { border-radius: 999px; padding: 4px 7px; font-size: 8px; font-style: normal; font-weight: 800; }
.state-active { background: #dff1e8; color: #266d54; }
.state-scheduled { background: #e5e1f5; color: #695997; }
.state-expired, .state-revoked { background: #eceae6; color: #7e7f83; }
.category-bars { display: grid; gap: 15px; }
.category-bars p { margin: 0 0 6px; display: flex; justify-content: space-between; color: var(--text-soft); font-size: 10px; }
.category-bars p b { color: var(--navy); }
.category-bars > div > i { height: 7px; border-radius: 99px; display: block; overflow: hidden; background: #eeece8; }
.category-bars > div > i span { height: 100%; border-radius: inherit; display: block; background: linear-gradient(90deg, var(--emerald), #75b59f); }

/* Guided onboarding */
.onboarding-shell { min-height: calc(100vh - 70px); background: linear-gradient(180deg, #faf9f5, #f3f0e9); }
.onboarding-shell > .onboarding-top { margin-top: -70px; }
.onboarding-top { min-height: 70px; border-bottom: 1px solid var(--border); padding: 0 30px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; background: rgba(255,255,255,.86); backdrop-filter: blur(18px); }
.onboarding-brand { border: 0; justify-self: start; background: transparent; }
.onboarding-brand .brand-mark { display: block; }
.onboarding-brand .brand-word { display: inline-flex; }
.onboarding-meta { display: flex; align-items: center; gap: 10px; font-size: 13px; }
.onboarding-meta span { border-radius: 999px; padding: 4px 8px; background: #eeeae3; color: var(--text-soft); }
.onboarding-meta small { color: var(--text-soft); font-size: 11px; }
.save-exit { border: 0; justify-self: end; background: transparent; color: var(--text-soft); font-size: 11px; font-weight: 700; }
.onboarding-progress { border-bottom: 1px solid var(--border); padding: 21px 34px 17px; background: #fdfcf9; }
.progress-track { width: min(100%, 1040px); height: 4px; margin: 0 auto 12px; border-radius: 99px; overflow: hidden; background: #ebe8e1; }
.progress-track span { height: 100%; display: block; border-radius: inherit; background: linear-gradient(90deg, var(--emerald), #71b99e); transition: width .45s ease; }
.step-dots { width: min(100%, 1080px); margin: 0 auto; display: grid; grid-template-columns: repeat(8, 1fr); }
.step-dots button { border: 0; display: grid; justify-items: center; gap: 7px; background: transparent; color: #898b90; font-size: 11px; font-weight: 680; }
.step-dots button span { width: 30px; height: 30px; border: 1px solid #d8d4cc; border-radius: 50%; display: grid; place-items: center; background: white; font-size: 10px; }
.step-dots button.is-current { color: var(--navy); font-weight: 800; }
.step-dots button.is-current span { border-color: var(--navy); background: var(--navy); color: white; box-shadow: 0 0 0 5px rgba(16,27,46,.08); }
.step-dots button.is-done span { border-color: var(--emerald); background: var(--sage); color: var(--emerald-dark); }
.onboarding-content { width: min(calc(100% - 48px), 1150px); margin: 0 auto; padding: 58px 0 90px; }
.step-layout { display: grid; grid-template-columns: .82fr 1.18fr; align-items: start; gap: clamp(45px, 8vw, 110px); animation: step-in .42s ease both; }
@keyframes step-in { from { opacity: 0; transform: translateX(14px); } }
.step-intro { position: sticky; top: 28px; }
.step-intro h1 { margin-bottom: 18px; font-size: clamp(2.15rem, 3.5vw, 3.45rem); line-height: 1.03; letter-spacing: -.045em; }
.step-intro > p:last-child { color: var(--text-soft); font-size: 16px; line-height: 1.65; }
.step-promise, .tip-card, .example-question, .safety-callout, .upload-explain { margin-top: 28px; border-radius: 18px; padding: 16px; display: flex; align-items: center; gap: 12px; background: #e6efe9; }
.step-promise > span, .tip-card > span, .example-question > span, .upload-explain > span { width: 42px; height: 42px; flex: 0 0 auto; border-radius: 13px; display: grid; place-items: center; background: white; color: var(--emerald); }
.step-promise p, .tip-card p, .example-question p, .safety-callout p, .upload-explain p { margin: 0; }
.step-promise strong, .step-promise small, .tip-card strong, .tip-card small, .example-question small, .safety-callout strong, .safety-callout small, .upload-explain strong, .upload-explain small { display: block; }
.step-promise strong, .tip-card strong, .safety-callout strong, .upload-explain strong { font-size: 11px; }
.step-promise small, .tip-card small, .example-question small, .safety-callout small, .upload-explain small { color: var(--text-soft); font-size: 9px; }
.step-card { border: 1px solid var(--border); border-radius: 28px; padding: clamp(24px, 4vw, 40px); background: white; box-shadow: var(--soft-shadow); }
.step-card textarea { min-height: 95px; }
.field-pair { display: grid; grid-template-columns: repeat(2, 1fr); gap: 13px; }
.toggle-label { min-height: 69px; margin-top: 0 !important; border: 1px solid var(--border); border-radius: 14px; padding: 13px; display: flex; align-items: center; gap: 10px; background: #fbfaf7; }
.toggle-label > input, .memory-toggle > input { position: absolute; opacity: 0; pointer-events: none; }
.toggle-label > span, .memory-toggle > span { width: 34px; height: 19px; border-radius: 99px; position: relative; background: #d7d5d0; transition: background .2s ease; }
.toggle-label > span::after, .memory-toggle > span::after { content: ""; width: 15px; height: 15px; position: absolute; top: 2px; left: 2px; border-radius: 50%; background: white; transition: transform .2s ease; box-shadow: 0 2px 5px rgba(0,0,0,.2); }
.toggle-label input:checked + span, .memory-toggle input:checked + span { background: var(--emerald); }
.toggle-label input:checked + span::after, .memory-toggle input:checked + span::after { transform: translateX(15px); }
.toggle-label p { margin: 0; }
.toggle-label p small { display: block; color: var(--text-soft); font-size: 9px; }
.floor-plan-panel { border: 1px solid rgba(40,107,91,.2); border-radius: 18px; padding: 16px; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 10px; background: #eef5f1; }
.floor-plan-panel[hidden] { display: none; }
.floor-plan-panel > div { display: flex; align-items: center; gap: 10px; }
.floor-plan-panel > div > span { width: 36px; height: 36px; flex: 0 0 auto; border-radius: 11px; display: grid; place-items: center; background: white; color: var(--emerald); }
.floor-plan-panel p { margin: 0; }
.floor-plan-panel strong, .floor-plan-panel small { display: block; }
.floor-plan-panel p strong { font-size: 10px; }
.floor-plan-panel p small, #floor-plan-selection { color: var(--text-soft); font-size: 8px; }
.floor-plan-panel input { position: absolute; opacity: 0; pointer-events: none; }
.form-stack .plan-upload-zone { min-height: 34px; margin: 0; border-radius: 999px; padding: 9px 14px; display: inline-grid; place-items: center; background: var(--navy); color: #fff; font-size: 9px; font-weight: 800; line-height: 1; cursor: pointer; }
.form-stack .plan-upload-zone:hover { background: #1d2b42; color: #fff; }
#floor-plan-selection { grid-column: 1 / -1; }
.property-type-field { display: grid; gap: 10px; }
.custom-property-type { border-left: 2px solid var(--emerald); padding-left: 10px; animation: field-reveal .22s ease both; }
.custom-property-type[hidden] { display: none; }
@keyframes field-reveal { from { opacity: 0; transform: translateY(-4px); } }
.privacy-note { display: flex; align-items: center; justify-content: center; gap: 6px; color: var(--text-soft); font-size: 9px; }
.privacy-note .ui-icon { width: 13px; color: var(--emerald); }
.wide-step { grid-template-columns: .66fr 1.34fr; }
.step-card fieldset legend, .top-label { margin-bottom: 10px; font-size: 11px; font-weight: 800; }
.choice-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; }
.choice-card { min-height: 83px; margin: 0; border: 1px solid var(--border); border-radius: 14px; position: relative; padding: 11px; display: flex; align-items: center; gap: 9px; background: #fbfaf8; cursor: pointer; }
.choice-card input { position: absolute; opacity: 0; }
.choice-card > span { width: 36px; height: 36px; flex: 0 0 auto; border-radius: 11px; display: grid; place-items: center; background: #eeeae3; color: var(--navy); font-size: 17px; }
.choice-card p { margin: 0; }
.choice-card strong, .choice-card small { display: block; }
.choice-card strong { font-size: 10px; }
.choice-card small { color: var(--text-soft); font-size: 8px; }
.choice-card > i { display: none; }
.choice-card:has(input:checked) { border-color: var(--emerald); background: #edf6f1; box-shadow: inset 0 0 0 1px var(--emerald); }
.choice-card:has(input:checked) > span { background: var(--sage); color: var(--emerald-dark); }
.choice-card:has(input:checked) > i { width: 17px; height: 17px; position: absolute; top: 7px; right: 7px; border-radius: 50%; display: grid; place-items: center; background: var(--emerald); color: white; font-size: 8px; font-style: normal; }
.space-howto { margin-top: 22px; display: grid; gap: 8px; }
.space-howto p { margin: 0; border: 1px solid var(--border); border-radius: 14px; padding: 11px; display: flex; align-items: center; gap: 10px; background: rgba(255,255,255,.68); }
.space-howto p > b { width: 27px; height: 27px; flex: 0 0 auto; border-radius: 9px; display: grid; place-items: center; background: var(--navy); color: white; font-size: 9px; }
.space-howto strong, .space-howto small { display: block; }
.space-howto strong { font-size: 10px; }
.space-howto small { color: var(--text-soft); font-size: 8px; }
.spaces-form { display: grid; gap: 18px; }
.spaces-reassurance { border-radius: 13px; padding: 11px 13px; background: #e9f3ed; color: var(--emerald-dark); font-size: 9px; font-weight: 750; }
.level-editors { display: grid; gap: 16px; }
.level-editor { border: 1px solid var(--border); border-radius: 19px; padding: 17px; background: #fcfbf8; }
.level-editor-head { margin-bottom: 16px; display: flex; align-items: center; gap: 11px; }
.level-editor-head > span { width: 33px; height: 33px; flex: 0 0 auto; border-radius: 11px; display: grid; place-items: center; background: var(--lavender); color: #5f548b; font-size: 10px; font-weight: 900; }
.level-basics { flex: 1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.level-editor-head label { flex: 1; font-size: 10px; font-weight: 800; }
.level-editor-head input, .level-editor-head select { margin-top: 5px; }
.level-editor fieldset { margin-top: 14px; }
.level-editor fieldset legend { margin-bottom: 8px; color: var(--text-soft); font-size: 9px; }
.level-editor .top-label { margin-top: 15px; display: block; }
.level-editor .top-label > small { color: var(--text-soft); font-size: 8px; }
.add-level-button { width: 100%; border: 1px dashed rgba(40,107,91,.36); border-radius: 15px; padding: 12px; background: #f3f7f4; color: var(--emerald); font-size: 10px; font-weight: 850; }
.step-actions { margin-top: 22px; display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.equipment-form { padding: 20px; }
.equipment-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 9px; }
.equipment-list details { border: 1px solid var(--border); border-radius: 15px; overflow: hidden; background: #fbfaf7; }
.equipment-list summary { padding: 13px; display: flex; align-items: center; gap: 10px; list-style: none; }
.equipment-list summary::-webkit-details-marker { display: none; }
.equipment-list summary > span { width: 34px; height: 34px; border-radius: 10px; display: grid; place-items: center; background: #eeeae3; }
.equipment-list summary strong { flex: 1; font-size: 10px; }
.equipment-list summary i { color: var(--emerald); font-size: 9px; font-style: normal; }
.equipment-list details[open] { grid-column: span 2; border-color: var(--emerald); background: #eef5f1; }
.equipment-list details label { padding: 0 13px 13px; }
.equipment-research-note { margin-top: 20px; border-radius: 16px; padding: 14px; display: flex; gap: 11px; background: #e7f1ec; }
.equipment-research-note > span { color: var(--emerald); }
.equipment-research-note p { margin: 0; }
.equipment-research-note strong, .equipment-research-note small { display: block; }
.equipment-research-note strong { font-size: 10px; }
.equipment-research-note small { margin-top: 3px; color: var(--text-soft); font-size: 8px; line-height: 1.45; }
.equipment-identity { padding: 0 13px 12px; }
.equipment-list details .equipment-identity label { padding: 0; }
.equipment-list details .equipment-identity input { margin-top: 6px; }
.safety-callout { background: #f6e9df; }
.safety-callout > .ui-icon { width: 36px; color: var(--coral); }
.rules-stack { display: grid; gap: 22px; }
.form-divider { height: 1px; position: relative; background: var(--border); text-align: center; }
.form-divider span { position: relative; top: -9px; padding: 0 9px; background: white; color: var(--text-soft); font-size: 9px; }
.wizard-upload { display: grid; gap: 10px; }
.wizard-upload input, .upload-panel input { position: absolute; opacity: 0; pointer-events: none; }
.wizard-upload label { border: 1px dashed #a9aaa7; border-radius: 15px; padding: 20px; display: grid; justify-items: center; text-align: center; cursor: pointer; }
.wizard-upload label .ui-icon { color: var(--emerald); }
.wizard-upload strong, .wizard-upload small { display: block; }
.wizard-upload strong { margin-top: 7px; font-size: 10px; }
.wizard-upload small { color: var(--text-soft); font-size: 8px; }
.review-step, .share-step { animation: step-in .42s ease both; }
.review-step > .step-intro, .share-step .step-intro { position: static; max-width: 760px; margin: 0 auto 35px; text-align: center; }
.review-score { width: max-content; max-width: 100%; margin: 0 auto 35px; display: flex; align-items: center; gap: 18px; }
.review-score p { margin: 4px 0; color: var(--text-soft); font-size: 11px; }
.review-ring { --score: 0; width: 94px; height: 94px; flex: 0 0 auto; border-radius: 50%; position: relative; display: grid; place-items: center; background: conic-gradient(var(--emerald) calc(var(--score) * 1%), #e1ded7 0); }
.review-ring::before { content: ""; width: 75px; height: 75px; position: absolute; border-radius: 50%; background: white; }
.review-ring span { position: relative; z-index: 1; text-align: center; }
.review-ring strong, .review-ring small { display: block; }
.review-ring strong { font-size: 19px; }
.review-ring small { color: var(--text-soft); font-size: 8px; }
.review-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.review-memory, .review-examples, .review-test { border: 1px solid var(--border); border-radius: 23px; padding: 23px; background: white; }
.memory-summary { display: grid; gap: 8px; }
.memory-summary details { border: 1px solid var(--border); border-radius: 13px; overflow: hidden; }
.memory-summary summary { padding: 11px; display: flex; align-items: center; gap: 9px; list-style: none; }
.memory-summary summary > span { width: 29px; height: 29px; border-radius: 9px; display: grid; place-items: center; background: #f0ece4; }
.memory-summary summary strong { flex: 1; font-size: 10px; }
.memory-summary summary b { border-radius: 99px; padding: 3px 6px; background: #eeeae3; font-size: 8px; }
.memory-summary details > div { border-top: 1px solid var(--border); padding: 6px 11px; }
.memory-summary details > div p { margin: 0; padding: 7px 0; display: flex; gap: 7px; }
.memory-summary details > div p i { color: var(--emerald); font-style: normal; }
.memory-summary details > div p strong, .memory-summary details > div p small { display: block; }
.memory-summary details > div p strong { font-size: 9px; }
.memory-summary details > div p small { max-width: 430px; overflow: hidden; color: var(--text-soft); font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.example-answers { display: grid; gap: 12px; }
.example-answers article { border-radius: 14px; padding: 13px; background: #f8f6f1; }
.sample-question { margin-bottom: 10px; color: var(--navy); font-size: 11px; font-weight: 760; }
.example-answers article > div { display: flex; gap: 8px; }
.example-answers article > div > p { margin: 0; color: var(--text-soft); font-size: 9px; }
.example-answers article > div > p small { margin-top: 5px; display: block; color: var(--emerald); font-size: 8px; }
.review-test { margin-top: 14px; display: grid; grid-template-columns: .55fr 1.45fr; align-items: center; gap: 25px; }
.review-test h2 { font-size: 24px; }
.review-actions { justify-content: center; }
.share-celebration { max-width: 760px; margin: 0 auto 38px; text-align: center; }
.celebration-orb { width: 60px; height: 60px; margin: 0 auto 16px; border-radius: 20px 20px 20px 7px; display: grid; place-items: center; background: var(--navy); color: white; font-size: 30px; font-weight: 900; box-shadow: 0 0 0 11px rgba(40,107,91,.08), 0 20px 40px rgba(16,27,46,.18); }
.share-celebration h1 { font-size: clamp(3rem, 6vw, 5.2rem); }
.share-celebration > p:last-child { color: var(--text-soft); }
.share-builder { display: grid; grid-template-columns: .85fr 1.15fr; align-items: center; gap: 40px; }
.share-phone-preview { min-height: 510px; border-radius: 28px; display: grid; place-items: center; background: linear-gradient(145deg, #d7c9f0, #f6c3a5); }
.compact-phone { width: 250px; height: 450px; border: 7px solid var(--navy); border-radius: 36px; overflow: hidden; background: #fffefa; box-shadow: var(--deep-shadow); }
.compact-phone-top { padding: 34px 18px 16px; display: flex; align-items: center; gap: 10px; }
.compact-phone-top small, .compact-phone-top strong { display: block; }
.compact-phone-top small { color: var(--text-soft); font-size: 8px; }
.compact-phone-top strong { font-size: 11px; }
.compact-phone-body { padding: 35px 18px 15px; }
.compact-phone-body > span { color: var(--text-soft); font-size: 9px; }
.compact-phone-body h3 { margin: 5px 0 20px; font-size: 22px; }
.compact-phone-body > div { display: grid; grid-template-columns: repeat(2, 1fr); gap: 6px; }
.compact-phone-body button { border: 1px solid var(--border); border-radius: 9px; padding: 8px; background: white; font-size: 8px; }
.compact-phone-body > p { margin-top: 100px; border: 1px solid var(--border); border-radius: 99px; padding: 10px; display: flex; justify-content: space-between; color: #9b9da3; font-size: 8px; }
.compact-phone-body > p b { color: var(--navy); }
.final-step-actions { justify-content: center; }
.created-link { margin-top: 12px; border: 1px solid rgba(40,107,91,.2); border-radius: 14px; padding: 11px; display: flex; align-items: center; gap: 9px; background: #e8f3ed; }
.created-link > span { width: 29px; height: 29px; border-radius: 9px; display: grid; place-items: center; background: white; color: var(--emerald); }
.created-link > div { flex: 1; min-width: 0; }
.created-link strong, .created-link code, .created-link small { display: block; }
.created-link strong { font-size: 9px; }
.created-link small { margin-top: 3px; color: var(--text-soft); font-size: 7px; }
.created-link code { overflow: hidden; color: var(--text-soft); font-size: 7px; text-overflow: ellipsis; white-space: nowrap; }
.created-link button { border: 0; background: transparent; color: var(--emerald); font-size: 9px; font-weight: 800; }

/* Knowledge, stays and questions */
.knowledge-layout, .stays-layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; align-items: start; gap: 14px; }
.knowledge-layout > aside { display: grid; gap: 14px; }
.knowledge-toolbar { margin: -5px 0 17px; display: flex; gap: 8px; }
.search-box { flex: 1; border: 1px solid var(--border); border-radius: 12px; padding-left: 12px; display: flex; align-items: center; gap: 6px; background: #faf9f6; color: var(--text-soft); }
.search-box input { border: 0; background: transparent; }
.knowledge-toolbar select { width: 190px; border-radius: 12px; background-color: #faf9f6; font-size: 10px; }
.knowledge-list { display: grid; gap: 8px; }
.knowledge-row { border: 1px solid var(--border); border-radius: 15px; padding: 14px; display: flex; gap: 11px; background: #fdfcf9; }
.knowledge-emoji { width: 38px; height: 38px; flex: 0 0 auto; border-radius: 12px; display: grid; place-items: center; background: #ece7f7; color: #665493; }
.knowledge-row > div { flex: 1; }
.knowledge-row-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.knowledge-row-head strong { font-size: 11px; }
.knowledge-row-head span { color: var(--emerald); font-size: 8px; }
.knowledge-row p { margin: 5px 0; color: var(--text-soft); font-size: 10px; white-space: pre-wrap; }
.knowledge-row small { color: #999ba1; font-size: 8px; }
.knowledge-delete { width: 30px; height: 30px; flex: 0 0 auto; border: 1px solid transparent; border-radius: 9px; background: transparent; color: #a3a0a7; font-size: 17px; line-height: 1; transition: background .18s ease, color .18s ease, border-color .18s ease; }
.knowledge-delete:hover { border-color: #ead4d0; background: #fff3f1; color: #a94040; }
.upload-panel { text-align: center; }
.upload-panel > span { width: 46px; height: 46px; margin: 0 auto 10px; border-radius: 14px; display: grid; place-items: center; background: #e4f0ea; color: var(--emerald); }
.upload-panel p { color: var(--text-soft); font-size: 10px; }
.upload-panel form { display: grid; gap: 8px; }
.upload-panel label { border: 1px dashed #aaa9a5; border-radius: 12px; padding: 11px; color: var(--emerald); cursor: pointer; }
.upload-panel label strong, .upload-panel label small { display: block; }
.upload-panel label small { margin-top: 3px; color: var(--text-soft); font-size: 8px; font-weight: 550; }
.memory-upload-status { display: grid; gap: 6px; text-align: left; }
.memory-upload-row { display: flex; align-items: center; gap: 8px; border: 1px solid var(--border); border-radius: 11px; padding: 8px; background: #fff; }
.memory-upload-icon { width: 26px; height: 26px; flex: 0 0 auto; border-radius: 8px; display: grid; place-items: center; background: #edf3f0; color: var(--emerald); font-size: 12px; font-weight: 900; }
.memory-upload-icon .ui-icon { width: 14px; height: 14px; }
.memory-upload-row > div { min-width: 0; flex: 1; }
.memory-upload-row strong, .memory-upload-row small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.memory-upload-row strong { color: var(--navy); font-size: 9px; }
.memory-upload-row small { margin-top: 2px; color: var(--text-soft); font-size: 7px; }
.memory-upload-row i { height: 3px; margin-top: 6px; display: block; overflow: hidden; border-radius: 999px; background: #ececea; }
.memory-upload-row i b { height: 100%; display: block; border-radius: inherit; background: linear-gradient(90deg, var(--emerald), #7558cd); transition: width .2s ease; }
.memory-upload-row.is-done { border-color: rgba(40, 107, 91, .28); background: #f6fbf8; }
.memory-upload-row.is-error { border-color: rgba(181, 67, 67, .28); background: #fff7f6; }
.memory-upload-row.is-error .memory-upload-icon { background: #f8e2df; color: #a94040; }
.memory-upload-row.is-staged { border-color: rgba(112,85,197,.22); background: #faf8ff; }
.memory-staged-heading { margin: 0 0 6px; display: flex; align-items: baseline; justify-content: space-between; gap: 10px; color: #667083; font-size: 8px; }
.memory-staged-heading strong { color: #283548; font-size: 9px; }
.memory-staged-remove { width: 26px; height: 26px; flex: 0 0 auto; border: 1px solid #e1dced; border-radius: 8px; background: #fff; color: #746985; font-size: 16px; line-height: 1; }
.memory-staged-remove:hover { border-color: #d8b8b2; background: #fff5f3; color: #a94040; }
.aside-empty { color: var(--text-soft); font-size: 10px; text-align: center; }
.candidate-mini-list { display: grid; gap: 7px; }
.pending-panel .panel-heading { align-items: center; }
.pending-panel .panel-heading .button { flex: 0 0 auto; }
.candidate-mini-list article { border: 1px solid var(--border); border-radius: 12px; padding: 9px; display: flex; align-items: center; gap: 8px; }
.candidate-mini-list article > span { width: 7px; height: 7px; border-radius: 50%; background: #e6ad4e; }
.candidate-mini-list article > div { flex: 1; min-width: 0; }
.candidate-mini-list strong { display: block; font-size: 9px; }
.candidate-mini-list p { margin: 2px 0 0; overflow: hidden; color: var(--text-soft); font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.candidate-mini-list button { width: 28px; height: 28px; border: 0; border-radius: 9px; background: #e2f0e9; color: var(--emerald); }
.add-dialog { width: min(calc(100% - 30px), 600px); }
.full-calendar { border: 1px solid var(--border); border-radius: 19px; padding: 16px; background: #fdfcf9; }
.calendar-head { margin-bottom: 13px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 10px; }
.calendar-head > div { display: flex; gap: 6px; }
.calendar-head > button:last-child { justify-self: end; }
.calendar-head strong { display: grid; justify-items: center; gap: 3px; font-size: 13px; text-align: center; text-transform: capitalize; }
.calendar-head strong > small { color: var(--text-soft); font-size: 7px; font-weight: 650; text-transform: none; }
.calendar-head strong > small.calendar-selection-label { border-radius: 999px; padding: 3px 7px; background: #e5f1eb; color: var(--emerald); font-weight: 800; }
.calendar-head button { min-width: 32px; height: 32px; border: 1px solid var(--border); border-radius: 9px; padding-inline: 9px; background: white; color: var(--navy); font-size: 9px; font-weight: 750; }
.calendar-days { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 5px; }
.calendar-days > small { padding: 6px; color: var(--text-soft); font-size: 8px; text-align: center; }
.calendar-day { min-width: 0; min-height: 76px; border: 1px solid #edf0f2; border-radius: 11px; padding: 7px; display: flex; flex-direction: column; align-items: stretch; gap: 5px; overflow: hidden; background: white; color: var(--navy); text-align: left; cursor: pointer; transition: border-color .16s ease, background .16s ease, box-shadow .16s ease; }
.calendar-day:hover { border-color: #91ab9f; background: #f7faf8; }
.calendar-day > b { font-size: 9px; }
.calendar-day.is-outside { opacity: .37; }
.calendar-day.is-today { box-shadow: inset 0 0 0 1px #aab5c0; }
.calendar-day.is-today > b { width: max-content; position: relative; color: var(--navy); }
.calendar-day.is-today > b::after { content: ""; width: 4px; height: 4px; position: absolute; top: 50%; left: calc(100% + 5px); border-radius: 50%; background: #8d98a5; transform: translateY(-50%); }
.calendar-day.is-in-selection { border-color: rgba(40,107,91,.14); background: linear-gradient(145deg, #edf6f1, #e7f0fb); opacity: 1; }
.calendar-day.is-selected { border: 2px solid var(--navy); padding: 6px; box-shadow: 0 8px 18px rgba(16,27,46,.12); }
.calendar-day.is-selected > b { width: 22px; height: 22px; margin: -3px 0 0 -3px; border-radius: 7px; display: grid; place-items: center; background: var(--navy); color: white; }
.calendar-day.is-selection-end:not(.is-selected) { border: 2px solid var(--emerald); padding: 6px; box-shadow: 0 8px 18px rgba(40,107,91,.1); }
.calendar-day.is-selection-end > b { width: 22px; height: 22px; margin: -3px 0 0 -3px; border-radius: 7px; display: grid; place-items: center; background: var(--emerald); color: white; }
.calendar-day.is-selected > b::after, .calendar-day.is-selection-end > b::after { display: none; }
.calendar-events { min-width: 0; display: grid; gap: 3px; }
.calendar-event { overflow: hidden; border-radius: 5px; padding: 4px 5px; color: #255b4d; font-size: 6px; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.calendar-event.state-scheduled { background: #e3dcf8; color: #655493; }
.calendar-event.state-active { background: var(--sage); color: var(--emerald-dark); }
.calendar-event.state-expired { background: #ece9e3; color: #7c7d81; }
.calendar-more { padding: 0 !important; color: var(--text-soft); font-size: 6px !important; text-align: left !important; }
.calendar-legend { display: flex; flex-wrap: wrap; gap: 10px; }
.calendar-legend span { display: flex; align-items: center; gap: 5px; color: var(--text-soft); font-size: 8px; }
.calendar-legend i { width: 8px; height: 8px; border-radius: 3px; }
.calendar-legend i.active { background: var(--sage); }
.calendar-legend i.scheduled { background: #e3dcf8; }
.calendar-agenda { margin-top: 16px; border-top: 1px solid var(--border); padding-top: 14px; }
.calendar-agenda > .eyebrow { margin-bottom: 8px; }
.calendar-agenda article { border-top: 1px solid rgba(23,32,54,.07); padding: 9px 2px; display: grid; grid-template-columns: 35px 1fr auto; align-items: center; gap: 9px; }
.calendar-agenda article:first-of-type { border-top: 0; }
.calendar-agenda .date-tile { width: 34px; height: 38px; }
.calendar-agenda article p { margin: 0; }
.calendar-agenda article strong, .calendar-agenda article small { display: block; }
.calendar-agenda article strong { font-size: 9px; }
.calendar-agenda article small { color: var(--text-soft); font-size: 7px; }
.calendar-agenda-empty { margin-top: 14px; border-top: 1px solid var(--border); padding: 16px 0 2px; color: var(--text-soft); font-size: 9px; text-align: center; }
.stay-builder-intro { margin-top: -5px; color: var(--text-soft); font-size: 9px; }
#stay-form { border-radius: 15px; transition: box-shadow .25s ease, background .25s ease; }
#stay-form.has-calendar-selection { margin-inline: -8px; padding: 8px; background: #eef6f2; box-shadow: 0 0 0 3px rgba(40,107,91,.13), 0 16px 38px rgba(40,107,91,.08); animation: calendar-form-ready .48s ease; }
@keyframes calendar-form-ready { 0% { transform: scale(.985); } 65% { transform: scale(1.008); } }
.calendar-import-shortcut { width: 100%; margin-top: 14px; border: 1px solid rgba(40,107,91,.15); border-radius: 14px; padding: 11px; display: flex; align-items: center; gap: 9px; background: #edf5f1; color: var(--navy); text-align: left; }
.calendar-import-shortcut > span { width: 33px; height: 33px; flex: 0 0 auto; border-radius: 10px; display: grid; place-items: center; background: white; color: var(--emerald); }
.calendar-import-shortcut p { flex: 1; margin: 0; }
.calendar-import-shortcut strong, .calendar-import-shortcut small { display: block; }
.calendar-import-shortcut strong { font-size: 8px; }
.calendar-import-shortcut small { margin-top: 2px; color: var(--text-soft); font-size: 7px; }
.stay-builder h2 { font-size: 22px; }
.stay-table-panel { margin-top: 14px; }
.stay-table-row { border-top: 1px solid var(--border); padding: 12px 4px; display: grid; grid-template-columns: 38px 1fr auto 40px 112px 62px; align-items: center; gap: 10px; }
.guest-avatar { width: 34px; height: 34px; border-radius: 11px; display: grid; place-items: center; background: #e7e0f5; font-size: 9px; font-weight: 800; }
.stay-table-row > div strong, .stay-table-row > div small { display: block; }
.stay-table-row > div strong { font-size: 10px; }
.stay-table-row > div small { color: var(--text-soft); font-size: 8px; }
.stay-table-row > small { color: var(--text-soft); font-size: 8px; }
.row-menu { border: 0; background: transparent; color: var(--coral); font-size: 8px; }
.stay-link-button { border: 1px solid rgba(40,107,91,.2); border-radius: 9px; padding: 7px 8px; background: #edf5f1; color: var(--emerald); font-size: 8px; font-weight: 800; }
.stay-link-button:disabled { border-color: var(--border); background: #f1f0ed; color: #9a9ca1; }
.question-inbox { display: grid; gap: 12px; }
.question-card-top { display: flex; align-items: flex-start; gap: 13px; }
.question-card-top > span { width: 42px; height: 42px; flex: 0 0 auto; border-radius: 13px; display: grid; place-items: center; background: #f6e2da; color: var(--coral); }
.question-card-top > div { flex: 1; }
.question-card-top small { color: var(--text-soft); }
.question-card-top h2 { margin: 5px 0; font-size: 19px; }
.question-card-top p { margin: 0; color: var(--text-soft); font-size: 10px; }
.question-card-top em { border-radius: 99px; padding: 5px 8px; background: #fae8e2; color: #a54f3e; font-size: 8px; font-style: normal; font-weight: 800; }
.question-card.is-resolved .question-card-top > span, .question-card.is-resolved .question-card-top em { background: #e4f1ea; color: var(--emerald); }
.question-reply { margin: 18px 0 0 55px; display: grid; gap: 12px; }
.memory-toggle { display: flex; align-items: center; gap: 9px; }
.memory-toggle p { margin: 0; }
.memory-toggle strong, .memory-toggle small { display: block; }
.memory-toggle strong { font-size: 10px; }
.memory-toggle small { color: var(--text-soft); font-size: 8px; }
.question-reply button { justify-self: start; }
.resolved-answer { margin: 15px 0 0 55px; border-radius: 13px; padding: 13px; background: #edf5f1; }
.resolved-answer strong { font-size: 9px; }
.resolved-answer p { margin: 4px 0 0; color: var(--text-soft); font-size: 10px; }
.connector-strategy { margin-bottom: 14px; border: 1px solid var(--border); border-radius: 18px; padding: 26px; background: white; }
.connector-strategy-head { margin-bottom: 22px; display: grid; grid-template-columns: 1fr minmax(280px, .7fr); align-items: end; gap: 30px; }
.connector-strategy-head h2 { margin: 4px 0 0; font-size: 25px; }
.connector-strategy-head > p { margin: 0; color: var(--text-soft); font-size: 10px; line-height: 1.6; }
.connector-levels { display: grid; grid-template-columns: repeat(4, 1fr); }
.connector-levels article { min-width: 0; border-top: 2px solid #e6e8eb; padding: 17px 16px 0 0; display: flex; gap: 10px; }
.connector-levels article.is-current { border-color: var(--emerald); }
.connector-levels article > span { width: 28px; height: 28px; flex: 0 0 auto; border-radius: 8px; display: grid; place-items: center; background: #f0f1f3; color: #7d8491; font-size: 8px; font-weight: 850; }
.connector-levels article.is-current > span { background: #e1efe8; color: var(--emerald); }
.connector-levels div { min-width: 0; }
.connector-levels small, .connector-levels strong { display: block; }
.connector-levels small { color: #9399a4; font-size: 7px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.connector-levels strong { margin-top: 3px; font-size: 10px; }
.connector-levels p { margin: 5px 0 0; color: var(--text-soft); font-size: 8px; line-height: 1.5; }
.connector-principles { margin-bottom: 14px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.connector-principles article { border: 1px solid var(--border); border-radius: 16px; padding: 15px; display: flex; align-items: center; gap: 11px; background: white; }
.connector-principles article > span { width: 33px; height: 33px; flex: 0 0 auto; border-radius: 11px; display: grid; place-items: center; background: #e8f2ed; color: var(--emerald); font-size: 10px; font-weight: 850; }
.connector-principles p { margin: 0; }
.connector-principles strong, .connector-principles small { display: block; }
.connector-principles strong { font-size: 9px; }
.connector-principles small { margin-top: 2px; color: var(--text-soft); font-size: 7px; }
.ical-feature { margin-bottom: 14px; border: 1px solid rgba(40,107,91,.16); border-radius: 23px; padding: 31px; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(280px, .9fr); align-items: center; gap: 38px; background: linear-gradient(145deg, #f8f6f1, #e1f0e9); }
.ical-logo { width: 45px; height: 45px; margin-bottom: 13px; border-radius: 15px; display: grid; place-items: center; background: var(--emerald); color: white; font-size: 18px; font-weight: 900; }
.ical-feature h2 { margin: 5px 0 11px; font-size: clamp(1.8rem, 3vw, 2.65rem); }
.ical-feature > div > p:not(.eyebrow) { max-width: 640px; color: var(--text-soft); font-size: 11px; line-height: 1.6; }
.ical-help { margin-top: 17px; display: flex; gap: 9px; }
.ical-help > span { width: 35px; height: 35px; flex: 0 0 auto; border-radius: 11px; display: grid; place-items: center; background: white; color: var(--emerald); }
.ical-help p { margin: 0; }
.ical-help strong, .ical-help small { display: block; }
.ical-help strong { font-size: 9px; }
.ical-help small { margin-top: 2px; color: var(--text-soft); font-size: 7px; }
.ical-import-form { border: 1px solid rgba(255,255,255,.85); border-radius: 18px; padding: 18px; display: grid; gap: 11px; background: rgba(255,255,255,.68); box-shadow: 0 18px 55px rgba(31,37,51,.08); }
.ical-import-form > label:first-child { display: grid; gap: 6px; color: var(--text-soft); font-size: 8px; font-weight: 780; }
.ical-import-form input[type="file"] { position: absolute; opacity: 0; pointer-events: none; }
.ical-dropzone { border: 1px dashed rgba(40,107,91,.4); border-radius: 14px; padding: 18px; display: grid; justify-items: center; gap: 5px; background: rgba(255,255,255,.55); color: var(--emerald); text-align: center; cursor: pointer; }
.ical-dropzone .ui-icon { width: 25px; height: 25px; }
.ical-dropzone strong { color: var(--navy); font-size: 9px; }
.ical-dropzone small { color: var(--text-soft); font-size: 7px; }
.ical-success { border-radius: 13px; padding: 11px; display: grid; gap: 7px; background: #e6f2ec; }
.ical-success > strong, .ical-success > small { display: block; }
.ical-success > strong { color: var(--emerald-dark); font-size: 9px; }
.ical-success > small { color: var(--text-soft); font-size: 7px; }
.imported-stay-link { border-top: 1px solid rgba(40,107,91,.14); padding-top: 7px; display: flex; align-items: center; gap: 7px; }
.imported-stay-link > div { flex: 1; min-width: 0; }
.imported-stay-link strong, .imported-stay-link small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.imported-stay-link strong { font-size: 7px; }
.imported-stay-link small { color: var(--text-soft); font-size: 6px; }
.imported-stay-link button { border: 0; background: transparent; color: var(--emerald); font-size: 7px; font-weight: 800; }
.ical-error { margin: 0; border-radius: 10px; padding: 9px; background: #fae5df; color: #9d4839; font-size: 8px; }
.integration-feature { min-height: 300px; margin-bottom: 14px; border-radius: 23px; padding: 35px; position: relative; overflow: hidden; display: grid; grid-template-columns: 1fr 1fr; gap: 35px; background: var(--navy); color: white; }
.integration-feature::before { content: ""; width: 300px; height: 300px; position: absolute; right: -40px; top: -110px; border-radius: 50%; background: var(--apricot); filter: blur(80px); opacity: .35; }
.integration-feature > div { position: relative; z-index: 1; }
.wa-logo { width: 45px; height: 45px; border-radius: 15px; display: grid; place-items: center; background: #3cbd7a; color: white; font-weight: 900; }
.integration-feature h2 { color: white; font-size: 34px; }
.integration-feature p:not(.eyebrow) { color: #bec7d7; }
.wa-conversation { align-self: center; border-radius: 20px; padding: 20px; background: rgba(255,255,255,.09); }
.wa-message { max-width: 85%; border-radius: 13px; padding: 11px; font-size: 10px; }
.wa-message.user { margin-left: auto; background: #d8f7c8; color: #183327; }
.wa-message.bot { background: white; color: var(--navy); }
.wa-message.bot b { width: 20px; height: 20px; margin-right: 5px; border-radius: 6px; display: inline-grid; place-items: center; background: var(--navy); color: white; }
.wa-conversation > small { color: #8793a7; font-size: 8px; }
.integration-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.integration-card { min-height: 180px; border: 1px solid var(--border); border-radius: 19px; padding: 20px; display: flex; flex-direction: column; background: white; }
.integration-card > span { width: 39px; height: 39px; border-radius: 12px; display: grid; place-items: center; background: #ece7f7; color: #655493; font-weight: 900; }
.integration-card h3 { margin: 14px 0 5px; }
.integration-card p { color: var(--text-soft); font-size: 10px; }
.integration-card button { margin-top: auto; border: 0; border-radius: 99px; padding: 7px 9px; align-self: flex-start; background: #eeeae4; color: #8c8d91; font-size: 8px; font-weight: 800; }
.integration-card .connector-badge.is-partial { background: #e2f0e9; color: var(--emerald); }
.roadmap-pill { width: max-content; max-width: 100%; border: 1px solid rgba(255,255,255,.14); border-radius: 99px; padding: 7px 10px; display: inline-flex; color: #d4dbe7; font-size: 8px; font-weight: 800; }

/* Connector control centre */
.foundation-badge { border: 1px solid rgba(40,107,91,.16); border-radius: 999px; padding: 8px 11px; align-self: flex-start; background: #e7f1ec; color: var(--emerald-dark); font-size: 8px; font-weight: 850; white-space: nowrap; }
.connector-flow { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; align-items: center; gap: 12px; }
.connector-flow > b { color: #abb0b8; }
.connector-flow article { min-height: 78px; border: 1px solid #e5e7e9; border-radius: 15px; padding: 14px; display: flex; align-items: center; gap: 11px; background: #fbfbfa; }
.connector-flow article > span { width: 31px; height: 31px; flex: 0 0 auto; border-radius: 10px; display: grid; place-items: center; background: var(--navy); color: white; font-size: 9px; font-weight: 900; }
.connector-flow strong, .connector-flow small { display: block; }
.connector-flow strong { font-size: 9px; }
.connector-flow small { margin-top: 3px; color: var(--text-soft); font-size: 7px; }
.connector-live { margin-bottom: 14px; border: 1px solid var(--border); border-radius: 20px; padding: 23px; background: white; }
.connector-section-head { margin-bottom: 16px; display: flex; align-items: end; justify-content: space-between; gap: 22px; }
.connector-section-head h2 { margin: 4px 0 0; font-size: 21px; }
.connector-section-head > small { max-width: 430px; color: var(--text-soft); font-size: 8px; line-height: 1.55; text-align: right; }
.connected-list { display: grid; gap: 8px; }
.connector-empty { border: 1px dashed #d9dde0; border-radius: 15px; padding: 20px; display: flex; align-items: center; gap: 12px; background: #fafaf8; }
.connector-empty > span { width: 38px; height: 38px; border-radius: 12px; display: grid; place-items: center; background: #e9eee9; color: var(--emerald); }
.connector-empty strong, .connector-empty small { display: block; }
.connector-empty strong { font-size: 9px; }
.connector-empty small { margin-top: 3px; color: var(--text-soft); font-size: 8px; }
.connected-row { border: 1px solid var(--border); border-radius: 15px; padding: 13px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 12px; }
.provider-logo { width: 39px; height: 39px; border-radius: 12px; display: grid; place-items: center; background: #e6eee9; color: var(--emerald-dark); font-size: 12px; font-weight: 900; }
.provider-hostaway { background: #e3ecfb; color: #35639b; }
.provider-guesty { background: #f1e7fc; color: #7b4e9c; }
.connected-title { display: flex; align-items: center; gap: 7px; }
.connected-title strong { font-size: 10px; }
.connected-row > div > small { display: block; margin-top: 3px; color: var(--text-soft); font-size: 7px; }
.connector-health { border-radius: 999px; padding: 4px 6px; background: #e5f2eb; color: var(--emerald-dark); font-size: 6px; font-style: normal; font-weight: 850; }
.connector-health.is-degraded { background: #fae7df; color: #a44d3b; }
.connector-health.is-paused { background: #eee; color: #777; }
.connector-inline-error { margin: 5px 0 0; color: #a44d3b; font-size: 7px; }
.sync-stats { margin: 5px 0 0; color: var(--emerald); font-size: 7px; font-weight: 750; }
.connected-actions { display: flex; gap: 6px; }
.connected-actions button { border: 1px solid var(--border); border-radius: 9px; padding: 7px 9px; background: white; color: var(--navy); font-size: 7px; font-weight: 800; }
.connected-actions button.is-danger { color: #a24b3c; }
.connector-setup-grid { margin-bottom: 14px; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.connector-setup-card { border: 1px solid var(--border); border-radius: 21px; padding: 24px; background: white; }
.connector-setup-card.is-ical { background: linear-gradient(145deg, #fbfaf6, #e9f3ed); }
.connector-setup-card.is-pms { background: linear-gradient(145deg, #fbfaf8, #efebf8); }
.setup-card-head { margin-bottom: 12px; display: flex; align-items: center; gap: 11px; }
.setup-card-head > span { width: 43px; height: 43px; border-radius: 14px; display: grid; place-items: center; background: var(--emerald); color: white; font-size: 15px; font-weight: 900; }
.is-pms .setup-card-head > span { background: #655493; }
.setup-card-head small { color: var(--text-soft); font-size: 7px; font-weight: 850; text-transform: uppercase; letter-spacing: .06em; }
.setup-card-head h2 { margin: 2px 0 0; font-size: 19px; }
.connector-setup-card > p { min-height: 48px; margin: 0 0 15px; color: var(--text-soft); font-size: 9px; line-height: 1.6; }
.connector-form { display: grid; gap: 10px; }
.connector-form label, .listing-picker label { display: grid; gap: 5px; color: #5c6471; font-size: 8px; font-weight: 780; }
.connector-form input, .connector-form select, .listing-picker select { width: 100%; border: 1px solid #dcdfe2; border-radius: 10px; padding: 10px 11px; background: rgba(255,255,255,.82); color: var(--navy); font: inherit; font-size: 9px; outline: none; }
.connector-form input:focus, .connector-form select:focus, .listing-picker select:focus { border-color: var(--emerald); box-shadow: 0 0 0 3px rgba(40,107,91,.09); }
.connector-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.credential-note { margin: -1px 0 0; display: flex; align-items: center; gap: 5px; color: var(--text-soft); font-size: 7px; }
.credential-note .ui-icon { width: 12px; color: var(--emerald); }
.connector-form-result:empty { display: none; }
.listing-picker { margin-top: 10px; border: 1px solid rgba(40,107,91,.16); border-radius: 13px; padding: 11px; display: grid; gap: 8px; background: rgba(255,255,255,.7); }
.connector-setup-card details { margin-top: 14px; border-top: 1px solid rgba(40,107,91,.12); padding-top: 10px; color: var(--text-soft); font-size: 8px; }
.connector-setup-card summary { color: var(--emerald-dark); font-weight: 800; cursor: pointer; }
.connector-setup-card details p { line-height: 1.6; }
.existing-accounts { margin-bottom: 14px; border: 1px solid var(--border); border-radius: 20px; padding: 22px; display: grid; grid-template-columns: .8fr 1.2fr; gap: 18px; background: white; }
.existing-accounts h2 { margin: 4px 0 0; font-size: 20px; }
.existing-accounts > div:nth-child(2) { display: grid; gap: 7px; }
.existing-accounts > div:nth-child(2) > button { width: 100%; border: 1px solid var(--border); border-radius: 13px; padding: 10px; display: flex; align-items: center; gap: 9px; background: #fafaf8; color: var(--navy); text-align: left; }
.existing-accounts button > span { width: 31px; height: 31px; border-radius: 9px; display: grid; place-items: center; background: #ece7f7; font-weight: 900; }
.existing-accounts button p { flex: 1; margin: 0; }
.existing-accounts button strong, .existing-accounts button small { display: block; }
.existing-accounts button strong { font-size: 8px; }
.existing-accounts button small { color: var(--text-soft); font-size: 7px; }
.existing-accounts button b { color: var(--emerald); font-size: 7px; }
.existing-accounts > #pms-reuse-result { grid-column: 2; }
.ical-manual { margin-bottom: 14px; border: 1px solid var(--border); border-radius: 19px; padding: 21px; display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 22px; background: #f8f7f4; }
.ical-manual h2 { margin: 4px 0 6px; font-size: 20px; }
.ical-manual > div > p:last-child { color: var(--text-soft); font-size: 9px; }
.ical-manual .ical-import-form { box-shadow: none; }
.connector-roadmap { border-radius: 21px; padding: 25px; background: var(--navy); color: white; }
.connector-roadmap h2 { margin: 5px 0 19px; color: white; font-size: 24px; }
.connector-roadmap > div:last-child { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.connector-roadmap article { border: 1px solid rgba(255,255,255,.1); border-radius: 14px; padding: 14px; background: rgba(255,255,255,.05); }
.connector-roadmap article > span { width: 7px; height: 7px; margin-bottom: 9px; border-radius: 50%; display: block; background: #7d8797; }
.connector-roadmap article > span.is-live { background: #65d19e; box-shadow: 0 0 0 5px rgba(101,209,158,.12); }
.connector-roadmap strong { display: block; font-size: 9px; }
.connector-roadmap article p { margin: 6px 0 0; color: #aeb7c7; font-size: 8px; line-height: 1.55; }
@media (max-width: 900px) {
  .connector-setup-grid, .ical-manual, .existing-accounts { grid-template-columns: 1fr; }
  .existing-accounts > #pms-reuse-result { grid-column: 1; }
  .connector-roadmap > div:last-child { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
  .connector-flow { grid-template-columns: 1fr; }
  .connector-flow > b { display: none; }
  .connector-section-head { align-items: flex-start; flex-direction: column; }
  .connector-section-head > small { text-align: left; }
  .connected-row { grid-template-columns: auto 1fr; }
  .connected-actions { grid-column: 1 / -1; }
  .connector-form-row { grid-template-columns: 1fr; }
}

/* Guided connector experience */
.simple-heading { margin-bottom: 20px; }
.simple-heading h1 { max-width: 720px; }
.connector-benefits { margin-bottom: 14px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.connector-benefits article { border: 1px solid var(--border); border-radius: 16px; padding: 15px; display: flex; align-items: center; gap: 11px; background: white; }
.connector-benefits article > span { width: 37px; height: 37px; flex: 0 0 auto; border-radius: 12px; display: grid; place-items: center; background: #ece7f7; color: #735aa4; }
.connector-benefits article:nth-child(2) > span { background: #e4f1ea; color: var(--emerald); }
.connector-benefits article:nth-child(3) > span { background: #fae9df; color: #af5f48; }
.connector-benefits .ui-icon { width: 17px; }
.connector-benefits strong, .connector-benefits small { display: block; }
.connector-benefits strong { font-size: 9px; }
.connector-benefits small { margin-top: 3px; color: var(--text-soft); font-size: 7px; }
.simple-live .connector-section-head { align-items: center; }
.connector-assistant { margin-bottom: 14px; border: 1px solid rgba(112,82,184,.14); border-radius: 24px; padding: 28px; background: linear-gradient(145deg, #fff, #f7f3fd); box-shadow: 0 20px 65px rgba(47,40,69,.06); }
.assistant-progress { width: min(360px, 100%); margin: 0 auto 30px; display: grid; grid-template-columns: auto 1fr auto 1fr auto; align-items: center; row-gap: 5px; }
.assistant-progress > span { width: 25px; height: 25px; border-radius: 50%; display: grid; place-items: center; background: #e7e5e9; color: #90909a; font-size: 8px; font-weight: 900; }
.assistant-progress > span.is-active { background: #7658b5; color: white; box-shadow: 0 0 0 5px rgba(118,88,181,.09); }
.assistant-progress > i { height: 2px; background: #e3e1e6; }
.assistant-progress > p { margin: 0; color: #92919a; font-size: 7px; font-weight: 800; text-align: center; }
.assistant-progress > p:nth-of-type(1) { grid-column: 1; }
.assistant-progress > p:nth-of-type(2) { grid-column: 3; }
.assistant-progress > p:nth-of-type(3) { grid-column: 5; }
.source-question { max-width: 860px; margin: 0 auto; text-align: center; }
.source-question h2 { margin: 5px 0 8px; font-size: clamp(1.7rem, 3vw, 2.5rem); }
.source-question > p:not(.eyebrow) { margin: 0 auto 23px; color: var(--text-soft); font-size: 10px; }
.source-choice-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; text-align: left; }
.source-choice-grid > button { min-height: 72px; border: 1px solid #e2ddec; border-radius: 15px; padding: 12px; display: flex; align-items: center; gap: 10px; background: rgba(255,255,255,.84); color: var(--navy); transition: transform .2s, border-color .2s, box-shadow .2s; text-align: left; }
.source-choice-grid > button:hover { transform: translateY(-2px); border-color: #a78bd5; box-shadow: 0 13px 32px rgba(81,61,122,.1); }
.source-choice-grid button p { flex: 1; margin: 0; }
.source-choice-grid strong, .source-choice-grid small { display: block; }
.source-choice-grid strong { font-size: 10px; }
.source-choice-grid small { margin-top: 3px; color: var(--text-soft); font-size: 7px; }
.source-choice-grid button > b { color: #8d74bd; }
.source-logo { width: 39px; height: 39px; flex: 0 0 auto; border-radius: 12px; display: grid; place-items: center; background: #ece7f7; color: #684d9e; font-size: 12px; font-weight: 900; }
.source-airbnb { background: #ffebe8; color: #e45b54; }
.source-booking { background: #e6edf9; color: #285899; }
.source-abritel { background: #e6eefc; color: #3561a9; }
.source-google { background: #e7f2ea; color: #3b805b; }
.source-hostaway { background: #e5edfb; color: #3868a5; }
.source-guesty { background: #efe5fa; color: #7950a1; }
.connector-other-method { margin: 15px auto 0; border: 0; background: transparent; color: #7658b5; font-size: 8px; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }
.connector-guide { max-width: 780px; margin: 0 auto; }
.guide-back { margin-bottom: 18px; border: 0; padding: 0; background: transparent; color: #7658b5; font-size: 8px; font-weight: 800; }
.guide-heading { display: flex; align-items: center; gap: 14px; }
.guide-heading .source-logo { width: 48px; height: 48px; border-radius: 15px; font-size: 15px; }
.guide-heading h2 { margin: 3px 0 4px; font-size: clamp(1.55rem, 3vw, 2.2rem); }
.guide-heading > div > p:last-child { margin: 0; color: var(--text-soft); font-size: 9px; }
.friendly-steps { margin: 22px 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; }
.friendly-steps article { border: 1px solid #e4dfec; border-radius: 14px; padding: 13px; display: flex; gap: 9px; background: rgba(255,255,255,.72); }
.friendly-steps article > span { width: 27px; height: 27px; flex: 0 0 auto; border-radius: 9px; display: grid; place-items: center; background: #7658b5; color: white; font-size: 8px; font-weight: 900; }
.friendly-steps strong, .friendly-steps small { display: block; }
.friendly-steps strong { font-size: 8px; }
.friendly-steps small { margin-top: 3px; color: var(--text-soft); font-size: 7px; line-height: 1.45; }
.friendly-link-form { border: 1px solid rgba(118,88,181,.18); border-radius: 17px; padding: 17px; display: grid; gap: 11px; background: white; }
.friendly-link-form label > span { display: block; margin-bottom: 7px; color: #5d6470; font-size: 8px; font-weight: 800; }
.friendly-link-form label > div { display: grid; grid-template-columns: 1fr auto; }
.friendly-link-form input { min-width: 0; border: 1px solid #dcd8e4; border-radius: 11px 0 0 11px; padding: 12px; color: var(--navy); font: inherit; font-size: 9px; outline: none; }
.friendly-link-form label button { border: 1px solid #dcd8e4; border-left: 0; border-radius: 0 11px 11px 0; padding: 0 16px; background: #f0ecf8; color: #694da0; font-size: 8px; font-weight: 850; }
.simple-help { margin-top: 13px; border-top: 1px solid #e5e1eb; padding-top: 11px; color: var(--text-soft); font-size: 8px; }
.simple-help summary { color: #655083; font-weight: 800; cursor: pointer; }
.simple-help p { line-height: 1.55; }
.manager-explanation { margin: 20px 0 14px; border-radius: 14px; padding: 13px; display: flex; gap: 10px; background: #edf5f1; }
.manager-explanation > span { color: var(--emerald); }
.manager-explanation .ui-icon { width: 18px; }
.manager-explanation p { margin: 0; }
.manager-explanation strong, .manager-explanation small { display: block; }
.manager-explanation strong { font-size: 9px; }
.manager-explanation small { margin-top: 3px; color: var(--text-soft); font-size: 8px; line-height: 1.5; }
.friendly-manager-form { border: 1px solid #e1dce9; border-radius: 17px; padding: 16px; background: white; }
.simple-existing > div:first-child > p:last-child { color: var(--text-soft); font-size: 8px; }
.connector-fallback { margin-bottom: 14px; border: 1px solid var(--border); border-radius: 17px; padding: 0 18px; background: #f8f7f4; }
.connector-fallback > summary { padding: 16px 0; color: var(--text-soft); font-size: 8px; font-weight: 800; cursor: pointer; }
.connector-fallback .ical-manual { margin: 0; border: 0; border-top: 1px solid var(--border); border-radius: 0; padding-inline: 0; }
.connector-reassurance { border-radius: 17px; padding: 17px; display: flex; align-items: flex-start; gap: 11px; background: #172036; color: white; }
.connector-reassurance > span { width: 34px; height: 34px; flex: 0 0 auto; border-radius: 10px; display: grid; place-items: center; background: rgba(255,255,255,.1); color: #bde5d3; }
.connector-reassurance .ui-icon { width: 17px; }
.connector-reassurance strong { font-size: 9px; }
.connector-reassurance p { margin: 4px 0 0; color: #b9c1d0; font-size: 8px; line-height: 1.55; }
.simple-connected-row .connector-health { text-transform: none; }
@media (max-width: 760px) {
  .faq-grid { grid-template-columns: 1fr; }
  .faq-section { padding-top: 82px; padding-bottom: 82px; }
  .connector-benefits, .source-choice-grid, .friendly-steps { grid-template-columns: 1fr; }
  .connector-benefits { gap: 7px; }
  .connector-assistant { padding: 22px 16px; }
}

/* Guest experience */
.guest-body { background: linear-gradient(145deg, #efe8dc, #e8e2f4 58%, #d9ece4); }
.guest-header { width: min(calc(100% - 42px), 1120px); }
.guest-header .brand-mark { display: block; }
.guest-header .brand-word { display: inline-flex; }
.secure-pill { border: 1px solid rgba(40,107,91,.16); border-radius: 99px; padding: 7px 10px; display: flex; align-items: center; gap: 6px; background: rgba(255,255,255,.5); color: var(--emerald-dark); font-size: 9px; font-weight: 760; }
.secure-pill .ui-icon { width: 13px; }
.guest-main { width: min(calc(100% - 42px), 1120px) !important; margin: 0 auto !important; padding: 30px 0 60px !important; }
.guest-welcome { margin-bottom: 26px; display: flex; justify-content: space-between; align-items: flex-end; }
.guest-welcome h1 { margin-bottom: 5px; font-size: clamp(2.6rem, 6vw, 4.8rem); }
.guest-welcome > div:first-child > p:last-child { color: var(--text-soft); }
.guest-weather { border: 1px solid rgba(255,255,255,.6); border-radius: 17px; padding: 11px 14px; display: flex; align-items: center; gap: 9px; background: rgba(255,255,255,.5); backdrop-filter: blur(13px); }
.guest-weather > span { font-size: 25px; }
.guest-weather strong, .guest-weather small { display: block; }
.guest-weather small { color: var(--text-soft); font-size: 8px; }
.guest-dashboard { display: grid; grid-template-columns: 270px 1fr; gap: 14px; }
.guest-quick { border: 1px solid rgba(255,255,255,.7); border-radius: 24px; padding: 18px; background: rgba(255,255,255,.54); backdrop-filter: blur(20px); }
.guest-quick > button { width: 100%; margin-bottom: 8px; border: 1px solid var(--border); border-radius: 14px; padding: 11px; display: flex; align-items: center; gap: 9px; background: rgba(255,255,255,.65); color: var(--navy); text-align: left; }
.guest-quick > button > span { width: 35px; height: 35px; border-radius: 11px; display: grid; place-items: center; background: #eee9df; }
.guest-quick > button > div { flex: 1; }
.guest-quick strong, .guest-quick small { display: block; }
.guest-quick strong { font-size: 10px; }
.guest-quick small { color: var(--text-soft); font-size: 8px; }
.channel-card { margin-top: 20px; border-radius: 17px; padding: 16px; background: var(--navy); color: white; }
.channel-card > span { width: 33px; height: 33px; border-radius: 10px; display: grid; place-items: center; background: rgba(255,255,255,.12); }
.channel-card strong { margin-top: 10px; display: block; font-size: 10px; }
.channel-card p { color: #aeb8c8; font-size: 9px; }
.channel-card em { border-radius: 99px; padding: 4px 7px; background: var(--apricot); color: var(--navy); font-size: 7px; font-style: normal; font-weight: 800; }
.guest-chat-panel { height: min(720px, calc(100dvh - 150px)); min-height: 540px; border: 1px solid rgba(255,255,255,.75); border-radius: 24px; overflow: hidden; display: flex; flex-direction: column; background: rgba(255,255,255,.8); box-shadow: var(--soft-shadow); backdrop-filter: blur(24px); }
.guest-chat-head { border-bottom: 1px solid var(--border); padding: 14px 18px; display: flex; align-items: center; gap: 10px; background: rgba(255,255,255,.72); }
.guest-chat-head > div { flex: 1; }
.guest-chat-head strong, .guest-chat-head small { display: block; }
.guest-chat-head strong { font-size: 11px; }
.guest-chat-head small { margin-top: 2px; display: flex; align-items: center; gap: 5px; color: var(--text-soft); font-size: 8px; }
.guest-chat-head button { border: 0; background: transparent; color: var(--text-soft); }
.guest-chat-head button:hover { color: var(--navy); }
.guest-chat-tools { flex: 0 0 auto !important; display: flex; align-items: center; gap: 3px; }
.guest-chat-tools button { width: 34px; height: 34px; border-radius: 10px; display: grid; place-items: center; }
.guest-chat-tools button:hover { background: #f2f0f7; }
.guest-chat-tools .ui-icon { width: 16px; }
.guest-messages { min-height: 0; flex: 1 1 auto; padding: 24px; display: flex; flex-direction: column; gap: 12px; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; }
.guest-chat-welcome { max-width: 380px; margin: auto; text-align: center; }
.guest-chat-welcome .milo-orb { margin: 0 auto 13px; }
.guest-chat-welcome h2 { font-size: 22px; }
.guest-chat-welcome p { color: var(--text-soft); font-size: 11px; }
.guest-message { display: flex; align-items: flex-end; gap: 7px; }
.guest-message.from-guest { align-self: flex-end; }
.guest-message > div { max-width: min(80%, 520px); }
.guest-message p { margin: 0; border-radius: 15px; padding: 11px 13px; background: var(--sage); color: var(--emerald-dark); font-size: 11px; white-space: pre-wrap; }
.guest-message.from-guest p { border-bottom-right-radius: 4px; background: var(--navy); color: white; }
.guest-message.from-milo p { border-bottom-left-radius: 4px; }
.guest-message small { margin: 4px 0 0 4px; display: block; color: var(--emerald); font-size: 8px; }
.guest-answer-share { width: 27px; height: 27px; flex: 0 0 auto; border: 1px solid var(--border); border-radius: 9px; display: grid; place-items: center; background: rgba(255,255,255,.8); color: var(--text-soft); opacity: 0; transition: opacity .18s ease, color .18s ease, transform .18s ease; }
.guest-message:hover .guest-answer-share, .guest-answer-share:focus-visible { opacity: 1; }
.guest-answer-share:hover { color: var(--navy); transform: translateY(-1px); }
.guest-answer-share .ui-icon { width: 13px; }
.guest-suggestions { padding: 0 17px 9px; display: flex; flex-wrap: wrap; gap: 6px; }
.guest-suggestions button { border: 1px solid var(--border); border-radius: 99px; padding: 6px 9px; background: white; color: var(--text-soft); font-size: 9px; }
.guest-composer { width: auto; max-width: none; margin: 0 14px 7px; border: 1px solid var(--border); border-radius: 17px; padding: 7px; display: flex; align-self: stretch; align-items: flex-end; gap: 7px; overflow: hidden; background: white; }
.guest-composer textarea { width: auto; min-width: 0; min-height: 40px; max-height: 120px; flex: 1 1 0; border: 0; padding: 10px; background: transparent; resize: none; }
.guest-composer button { width: 42px; height: 42px; flex: 0 0 auto; border: 0; border-radius: 13px; display: grid; place-items: center; background: var(--navy); color: white; }
.guest-composer button .ui-icon { width: 19px; height: 19px; }
.guest-composer .guest-dictation-button { border: 1px solid var(--border); background: #f7f5fb; color: #6f52d9; transition: background .2s ease, color .2s ease, transform .2s ease; }
.guest-composer .guest-dictation-button.is-listening { border-color: transparent; background: #6f52d9; color: white; animation: dictation-pulse 1.15s ease-in-out infinite; }
.guest-composer .guest-dictation-button .ui-icon { width: 19px; }
@keyframes dictation-pulse { 50% { transform: scale(.94); box-shadow: 0 0 0 7px rgba(111,82,217,.14); } }
.guest-trust { margin: 0 0 12px; display: flex; align-items: center; justify-content: center; gap: 5px; color: var(--text-soft); font-size: 8px; }
.guest-trust .ui-icon { width: 12px; color: var(--emerald); }
.guest-error { min-height: 60vh; display: grid; place-items: center; align-content: center; text-align: center; }
.guest-error h1 { margin-top: 20px; }

.loading-screen { min-height: 70vh; }
.loader-orb { width: 58px; height: 58px; border-radius: 19px 19px 19px 7px; display: grid; place-items: center; background: var(--navy); color: white; font-size: 29px; font-weight: 900; animation: loader-pulse 1.5s ease-in-out infinite; }
@keyframes loader-pulse { 50% { transform: scale(.92); box-shadow: 0 0 0 14px rgba(40,107,91,.1); } }
.fatal-card { width: min(calc(100% - 40px), 600px); margin: 80px auto; border: 1px solid var(--border); border-radius: 24px; padding: 35px; background: white; text-align: center; }

@media (max-width: 1050px) {
  .services-hero-grid { grid-template-columns: 1fr; gap: 10px; padding-top: 70px; }
  .services-hero-copy { max-width: 780px; margin-inline: auto; text-align: center; }
  .services-hero-copy > p:not(.eyebrow) { margin-inline: auto; }
  .services-hero-copy .hero-actions { justify-content: center; }
  .services-hero-world { min-height: 590px; }
  .services-hero-world > img { width: min(82%, 570px); }
  .service-panel { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .service-panel-copy { padding: 48px 38px; }
  .service-journey-track { grid-template-columns: repeat(2, 1fr); }
  .services-roadmap { grid-template-columns: 1fr; }
  .hero { grid-template-columns: 1fr; grid-template-rows: none; gap: 48px; padding-top: 70px; }
  .hero-copy { width: min(100%, 720px); max-width: none; margin-inline: auto; text-align: center; }
  .announcement, .hero h1, .hero-copy > p { margin-left: auto; margin-right: auto; }
  .hero-actions, .hero-proof { justify-content: center; }
  .hero-visual { width: min(100%, 760px); min-height: 610px; margin: 0 auto; }
  .villa-visual { right: 0; }
  .demo-grid, .trust-card { gap: 45px; }
  .owner-shell { grid-template-columns: 210px minmax(0,1fr); }
  .workspace-view { padding: 28px; }
  .dashboard-status { grid-template-columns: auto 1fr; }
  .dashboard-primary-actions { grid-column: 1 / -1; grid-template-columns: repeat(2, 1fr); }
  .metric-grid { grid-template-columns: repeat(2, 1fr); }
  .dashboard-kpi-strip { grid-template-columns: repeat(2, 1fr); }
  .dashboard-kpi:nth-child(2) { border-right: 0; }
  .dashboard-kpi:nth-child(-n+2) { border-bottom: 1px solid var(--border); }
  .management-grid { grid-template-columns: 1fr; }
  .management-grid button { border-right: 0; border-bottom: 1px solid var(--border); }
  .management-grid button:last-child { border-bottom: 0; }
  .connector-levels { grid-template-columns: repeat(2, 1fr); gap: 20px 0; }
  .choice-grid { grid-template-columns: repeat(2, 1fr); }
  .journey-flow { grid-template-columns: repeat(2, 1fr); }
  .connector-explainer { grid-template-columns: 1fr; }
  .connector-path { min-height: 170px; }
  .hero-answer-card { right: 8px; }
  .hero-journey-step p { margin-inline: auto; }
}

@media (max-width: 820px) {
  .site-header { width: min(calc(100% - 30px), var(--shell)); }
  .public-nav { display: none; }
  .nav-login { display: none; }
  .services-page-hero { min-height: auto; }
  .services-hero-grid { min-height: auto; padding-top: 60px; }
  .services-hero-world { min-height: 540px; }
  .service-promise-line { overflow-x: auto; justify-content: flex-start; }
  .service-promise-line span, .service-promise-line i { flex: 0 0 auto; }
  .services-explorer { padding-block: 85px; }
  .services-explorer-head { align-items: flex-start; flex-direction: column; }
  .services-stage { min-height: 0; }
  .service-panel { min-height: 0; grid-template-columns: 1fr; }
  .service-panel-visual { min-height: 560px; }
  .service-main-object { width: 78%; max-height: 480px; }
  .service-panel-copy { padding: 45px 34px; }
  .scenario-heading { grid-template-columns: 1fr; gap: 14px; }
  .scenario-lab { grid-template-columns: 1fr; }
  .scenario-controls { grid-template-columns: repeat(2, 1fr); }
  .scenario-screen { min-height: 500px; }
  .services-roadmap { padding: 38px 30px; }
  .hero { min-height: auto; grid-template-rows: none; padding-top: 55px; }
  .hero h1 { font-size: clamp(3rem, 9.5vw, 4.35rem); }
  .proof-grid { grid-template-columns: 1fr; }
  .proof-grid p, .proof-grid p:first-child { border-right: 0; border-bottom: 1px solid var(--border); padding: 18px 0; }
  .service-audience-grid, .journey-flow, .demo-grid, .trust-card, .auth-shell { grid-template-columns: 1fr; }
  .service-audience-card { min-height: 0; }
  .future-services { grid-template-columns: 1fr; gap: 20px; }
  .demo-phone-wrap { min-height: 650px; }
  .dashboard-showcase { min-height: 480px; grid-template-columns: 62px 1fr; }
  .showcase-main { padding: 30px; }
  .showcase-bottom { grid-template-columns: 1fr; }
  .showcase-list { display: none; }
  .trust-card { gap: 30px; }
  .auth-visual { display: none; }
  .auth-shell { min-height: 650px; }
  .owner-shell { grid-template-columns: 1fr; }
  .owner-sidebar { width: 250px; position: fixed; z-index: 60; top: 70px; left: 0; bottom: 0; transform: translateX(-110%); box-shadow: 20px 0 50px rgba(16,27,46,.16); transition: transform .25s ease; }
  .owner-sidebar.is-open { transform: none; }
  .mobile-menu { width: 38px; height: 38px; margin-right: 10px; border: 1px solid var(--border); border-radius: 11px; display: grid; place-items: center; background: white; }
  .dashboard-grid, .dashboard-control-grid, .knowledge-layout, .stays-layout { grid-template-columns: 1fr; }
  .connector-strategy-head, .connector-principles, .ical-feature { grid-template-columns: 1fr; }
  .step-layout, .wide-step { grid-template-columns: 1fr; gap: 30px; }
  .step-intro { position: static; }
  .review-grid, .share-builder { grid-template-columns: 1fr; }
  .review-test { grid-template-columns: 1fr; }
  .guest-dashboard { grid-template-columns: 1fr; }
  .guest-quick { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; }
  .guest-quick > .eyebrow { grid-column: span 2; }
  .guest-quick > button { margin: 0; }
  .channel-card { display: none; }
}

@media (max-width: 560px) {
  .site-header { width: calc(100% - 24px); min-height: 70px; }
  .public-header .button { min-height: 38px; padding: 8px 12px; font-size: 11px; }
  .services-main { padding-bottom: 35px !important; }
  .services-hero-grid { width: calc(100% - 28px); padding-top: 42px; }
  .services-hero-copy h1 { font-size: clamp(2.65rem, 12vw, 3.55rem); }
  .services-hero-copy > p:not(.eyebrow) { font-size: 14px; }
  .services-hero-copy .button { width: 100%; }
  .services-hero-world { min-height: 430px; }
  .services-hero-world::before { width: 330px; height: 330px; }
  .service-orbit.orbit-one { width: 390px; height: 220px; }
  .service-orbit.orbit-two { width: 300px; height: 390px; }
  .services-hero-world > img { width: 92%; }
  .service-float { padding: 8px 10px; }
  .float-capture { top: 50px; left: 0; }
  .float-verified { top: 105px; right: 0; }
  .float-live { display: none; }
  .service-promise-line { width: calc(100% - 28px); height: 65px; }
  .services-explorer-head h2 { font-size: 3.1rem; }
  .services-tabs { width: 100%; overflow-x: auto; }
  .services-tabs button { flex: 1 0 auto; padding-inline: 13px; }
  .services-stage { border-radius: 25px; }
  .service-panel-visual { min-height: 410px; }
  .service-main-object { width: 92%; max-height: 390px; }
  .service-secondary-object { width: 44%; right: 0; }
  .visual-tag, .tenant-question { font-size: 7px; }
  .tag-one, .question-one { left: 3%; }
  .service-connector-cloud { right: 3%; left: 3%; }
  .service-connector-cloud span { padding-right: 7px; }
  .service-panel-copy { padding: 34px 20px; }
  .service-panel-copy h3 { font-size: 2.65rem; }
  .service-journey-section { padding-block: 80px; }
  .service-journey-track { grid-template-columns: 1fr; }
  .service-journey-moment { min-height: 340px; }
  .service-journey-moment > div { height: 230px; }
  .service-scenario-section { padding-block: 80px; }
  .scenario-heading h2 { font-size: 3rem; }
  .scenario-controls { grid-template-columns: 1fr; }
  .scenario-screen { min-height: 520px; padding: 24px 16px; }
  .scenario-screen-top { align-items: flex-start; }
  .scenario-screen-top em { max-width: 90px; text-align: center; }
  .scenario-conversation p { max-width: 90%; }
  .scenario-data-flow { flex-wrap: wrap; }
  .scenario-data-flow i { display: none; }
  .services-roadmap { width: calc(100% - 28px); min-height: 650px; border-radius: 27px; padding: 32px 20px; }
  .roadmap-orbits { min-height: 350px; }
  .roadmap-orbits::before { width: 290px; height: 190px; }
  .roadmap-orbits::after { width: 200px; height: 300px; }
  .roadmap-orbits span:nth-child(1) { left: 3%; }
  .roadmap-orbits span:nth-child(2) { right: 0; }
  .roadmap-orbits span:nth-child(3) { left: 0; }
  .roadmap-orbits span:nth-child(4) { right: 3%; }
  .services-final-cta { margin-top: 65px; }
  .section-shell { width: calc(100% - 28px); }
  .hero { min-height: auto; grid-template-rows: none; gap: 42px; padding-top: 42px; padding-bottom: 55px; }
  .hero h1 { max-width: 9.5em; font-size: clamp(2.55rem, 11.5vw, 3.45rem); line-height: 1; }
  .hero-copy > p { font-size: 15px; }
  .hero-actions .button { width: 100%; }
  .hero-proof { display: grid; }
  .hero-visual { min-height: 500px; height: auto; }
  .hero-system { min-height: 590px; height: auto; border-radius: 0; }
  .hero-journey-copy { min-height: 104px; text-align: left; }
  .hero-journey-step p { margin-inline: 0; }
  .owner-input-stack { width: 210px; top: 62px; left: 0; }
  .owner-input-card { padding: 8px; }
  .owner-input-card:nth-child(3) { display: flex; }
  .owner-input-card:nth-child(2), .owner-input-card:nth-child(3) { transform: none; }
  .knowledge-home { inset: 170px 0 75px; }
  .knowledge-home > img { width: min(100%, 410px); max-height: 430px; }
  .knowledge-core { min-width: 235px; bottom: 50px; }
  .hero-answer-card { width: 225px; top: auto; right: 0; bottom: 63px; padding: 13px; }
  .hero-answer-card > small { margin-left: 34px; }
  .hero-system-label { top: 21px; left: 0; }
  .hero-system-label.guest-label { right: 0; bottom: 21px; }
  .hero-phone { width: 225px; height: 445px; right: 0; }
  .villa-visual { width: 115%; right: 4%; bottom: 0; }
  .cloud-one { left: -5%; }
  .cloud-two { right: -5%; bottom: 6%; }
  .cloud-three { display: none; }
  .services-section, .story-section, .owner-view-section, .trust-section { padding-block: 75px; }
  .service-audience-card { border-radius: 26px; padding: 25px 20px; }
  .service-card-head { gap: 12px; }
  .service-card-head > span { width: 44px; height: 44px; border-radius: 14px; }
  .connector-explainer { border-radius: 26px; padding: 28px 20px; gap: 28px; }
  .connector-path { min-height: 150px; grid-template-columns: 1fr 1fr auto 1fr; padding: 16px 10px; }
  .connector-path > i:last-of-type, .connector-path .connector-node:last-child { display: none; }
  .connector-node b { width: 39px; height: 39px; border-radius: 12px; }
  .connector-kanai b { width: 51px; height: 51px; border-radius: 16px 16px 16px 6px; }
  .future-services { padding: 24px 20px; }
  .section-intro h2, .demo-copy h2, .trust-card h2, .final-cta h2 { font-size: 2.8rem; }
  .journey-flow { grid-template-columns: 1fr; }
  .journey-card { min-height: 270px; padding: 25px; }
  .demo-section { padding-block: 70px; }
  .demo-phone { width: 260px; height: 520px; }
  .owner-answer-card { width: 230px; right: -5px; }
  .dashboard-showcase { min-height: 400px; grid-template-columns: 48px 1fr; padding: 9px; }
  .showcase-side { border-radius: 17px; }
  .showcase-side i { width: 25px; height: 25px; }
  .showcase-main { border-radius: 17px; padding: 20px; }
  .showcase-stats { grid-template-columns: 1fr; margin-top: 25px; }
  .showcase-stats div:nth-child(n+2) { display: none; }
  .trust-card { border-radius: 27px; padding: 27px 20px; }
  .final-cta { width: calc(100% - 28px); min-height: 470px; border-radius: 28px; }
  .site-footer { flex-wrap: wrap; padding-bottom: 30px; }
  .site-footer > div { width: 100%; margin-left: 0; }
  .auth-main { padding: 0 12px 20px !important; }
  .auth-panel { padding: 25px 18px; }
  .owner-header { padding: 0 15px; }
  .connection-status, .topbar-actions .button { display: none; }
  .owner-topbar { padding: 0 14px; }
  .workspace-view { padding: 24px 14px; }
  .workspace-heading { align-items: flex-start; flex-direction: column; }
  .owner-conversation-row { grid-template-columns: 38px minmax(0,1fr); align-items: start; }
  .conversation-avatar { width: 38px; height: 38px; }
  .owner-conversation-actions { grid-column: 1 / -1; flex-direction: row; }
  .owner-conversation-actions button { flex: 1; }
  .guest-composer { margin-inline: 8px; }
  .guest-composer textarea { min-width: 0; padding-inline: 6px; }
  .guest-composer button { width: 39px; height: 39px; }
  .dashboard-heading-actions { width: 100%; }
  .dashboard-heading-actions .button { flex: 1; padding-inline: 12px; }
  .dashboard-status { padding: 23px 18px; grid-template-columns: 1fr; gap: 20px; }
  .dashboard-score { width: 88px; height: 88px; }
  .dashboard-score::before { width: 69px; height: 69px; }
  .dashboard-status-copy h2 { font-size: 1.55rem; }
  .dashboard-primary-actions { grid-column: auto; grid-template-columns: 1fr; }
  .dashboard-kpi-strip { grid-template-columns: 1fr 1fr; }
  .dashboard-kpi { min-height: 90px; padding: 14px; }
  .dashboard-kpi:nth-child(2) { border-right: 0; }
  .dashboard-kpi:nth-child(-n+2) { border-bottom: 1px solid var(--border); }
  .dashboard-kpi strong { font-size: 20px; }
  .dashboard-action-list button { grid-template-columns: auto minmax(0, 1fr) auto; }
  .dashboard-action-list button em { display: none; }
  .dashboard-management { padding: 18px; }
  .dashboard-management-head { align-items: flex-start; flex-direction: column; }
  .dashboard-management-head > p { text-align: left; }
  .connector-levels { grid-template-columns: 1fr; }
  .metric-grid { grid-template-columns: 1fr 1fr; gap: 8px; }
  .metric-card { min-height: 95px; padding: 13px; gap: 9px; }
  .metric-card strong { font-size: 21px; }
  .metric-icon, .metric-ring { width: 38px; height: 38px; }
  .metric-ring::before { width: 29px; height: 29px; }
  .panel { padding: 17px; }
  .onboarding-top { padding: 0 14px; grid-template-columns: auto 1fr auto; }
  .onboarding-meta { justify-self: center; }
  .onboarding-meta strong, .onboarding-meta small { display: none; }
  .save-exit { font-size: 9px; }
  .onboarding-progress { padding: 12px 14px 9px; }
  .step-dots small { display: none; }
  .onboarding-content { width: calc(100% - 28px); padding-top: 34px; }
  .step-intro h1 { font-size: 2.25rem; }
  .step-card { border-radius: 21px; padding: 19px; }
  .field-pair, .choice-grid, .equipment-list { grid-template-columns: 1fr; }
  .level-basics, .floor-plan-panel { grid-template-columns: 1fr; }
  .floor-plan-panel .plan-upload-zone { text-align: center; }
  .equipment-list details[open] { grid-column: auto; }
  .step-actions { align-items: stretch; flex-direction: column-reverse; }
  .step-actions .button { width: 100%; }
  .gap-actions { align-items: stretch; flex-direction: column-reverse; }
  .gap-actions .button { width: 100%; }
  .gap-dialog form { padding: 21px; }
  .gap-dialog .dialog-heading h2 { font-size: 21px; }
  .review-score { align-items: flex-start; }
  .share-phone-preview { min-height: 500px; }
  .knowledge-toolbar { flex-direction: column; }
  .knowledge-toolbar select { width: 100%; }
  .stay-table-row { grid-template-columns: 38px 1fr auto; }
  .stay-table-row > small, .stay-table-row .row-menu { display: none; }
  .stay-table-row .stay-link-button { grid-column: 2 / -1; justify-self: start; }
  .calendar-head { grid-template-columns: 1fr auto; }
  .calendar-head > strong { grid-column: 1 / -1; grid-row: 1; }
  .calendar-head > div { grid-row: 2; }
  .calendar-head > button:last-child { grid-row: 2; }
  .calendar-day { min-height: 48px; padding: 5px; }
  .calendar-event { width: 6px; height: 6px; border-radius: 50%; padding: 0; color: transparent; }
  .calendar-events { display: flex; gap: 3px; }
  .calendar-more { display: none; }
  .calendar-legend { display: none; }
  .connector-principles { grid-template-columns: 1fr; }
  .ical-feature { padding: 23px 18px; }
  .integration-feature { grid-template-columns: 1fr; padding: 24px; }
  .wa-conversation { display: none; }
  .integration-grid { grid-template-columns: 1fr; }
  .guest-main { width: calc(100% - 22px) !important; padding-top: 15px !important; }
  .guest-welcome { align-items: flex-start; }
  .guest-weather { display: none; }
  .guest-quick { grid-template-columns: 1fr 1fr; padding: 11px; }
  .guest-quick > button { padding: 9px; }
  .guest-quick > button > div small { display: none; }
  .guest-chat-panel { height: min(680px, calc(100dvh - 92px)); min-height: 520px; }
  .guest-suggestions { overflow-x: auto; flex-wrap: nowrap; }
  .guest-suggestions button { flex: 0 0 auto; }
}

/* 2026-08 — Premium public journey, controlled onboarding prefill and refined authentication. */
html { scroll-behavior: smooth; }

.announcement {
  width: max-content;
  max-width: 100%;
  margin-bottom: 36px;
  border: 1px solid rgba(12,20,34,.22);
  border-radius: 999px;
  padding: 8px 13px;
  display: flex;
  align-items: center;
  gap: 10px;
  background: rgba(255,255,255,.46);
  box-shadow: 0 7px 20px rgba(24,35,53,.035);
  backdrop-filter: blur(12px);
}
.announcement span { padding: 0; border-radius: 0; background: transparent; color: #7b6f77; font-size: 7.5px; font-weight: 800; letter-spacing: .085em; text-transform: uppercase; white-space: nowrap; }
.announcement i { width: 3px; height: 3px; flex: 0 0 auto; border-radius: 50%; background: #b2a6ad; }
.announcement strong { color: #4e5869; font-size: 9px; font-weight: 690; white-space: nowrap; }

.scroll-reveal { opacity: 0; transform: translateY(24px); transition: opacity .72s cubic-bezier(.2,.7,.2,1) var(--reveal-delay,0ms), transform .72s cubic-bezier(.2,.7,.2,1) var(--reveal-delay,0ms); }
.scroll-reveal.is-visible { opacity: 1; transform: none; }
.journey-card, .service-journey-moment, .service-panel, .faq-item { transition-property: opacity, transform, border-color, box-shadow; }
.journey-card:hover, .service-journey-moment:hover { transform: translateY(-5px); border-color: rgba(23,32,54,.2); box-shadow: 0 24px 55px rgba(24,35,53,.09); }
.hero-glow, .services-hero-glow, .final-orb { animation: kanai-ambient-drift 10s ease-in-out infinite alternate; }
.hero-glow-two, .services-glow-two { animation-delay: -4s; animation-direction: alternate-reverse; }
.services-page-hero, .demo-section { background-size: 140% 140%; animation: kanai-background-breathe 18s ease-in-out infinite alternate; }
@keyframes kanai-ambient-drift { to { transform: translate3d(16px,12px,0) scale(1.04); } }
@keyframes kanai-background-breathe { to { background-position: 70% 30%; } }

.prefill-step-summary { margin: 0 0 20px; border: 1px solid rgba(111,82,217,.18); border-radius: 14px; padding: 12px 14px; display: flex; align-items: center; gap: 10px; background: linear-gradient(120deg,rgba(238,233,251,.8),rgba(245,250,247,.82)); color: #26344d; }
.prefill-step-summary > span { width: 34px; height: 34px; flex: 0 0 auto; border-radius: 10px; display: grid; place-items: center; background: #fff; color: #6f52d9; box-shadow: 0 5px 14px rgba(61,45,112,.08); }
.prefill-step-summary .ui-icon { width: 16px; }
.prefill-step-summary p, .prefill-step-summary strong, .prefill-step-summary small { margin: 0; display: block; }
.prefill-step-summary strong { font-size: 10px; }
.prefill-step-summary small { margin-top: 3px; color: #697487; font-size: 8px; line-height: 1.45; }
.is-source-prefilled > input, .is-source-prefilled > textarea, .is-source-prefilled .password-field input { border-color: rgba(111,82,217,.34) !important; background: linear-gradient(135deg,#fff,#fbf9ff) !important; box-shadow: 0 0 0 3px rgba(111,82,217,.055); }
.choice-card.is-source-prefilled { border-color: rgba(111,82,217,.3); background: #fbf9ff; box-shadow: 0 8px 22px rgba(80,61,141,.055); }
.prefill-origin { margin-top: 7px; display: inline-flex !important; align-items: center; gap: 5px; color: #684fc4 !important; font-size: 7.5px !important; font-weight: 760 !important; letter-spacing: 0 !important; text-transform: none !important; }
.prefill-origin .ui-icon { width: 12px; }
.onboarding-analysis-status.is-guided-path { border-color: rgba(111,82,217,.18); background: linear-gradient(115deg,rgba(244,241,252,.92),rgba(255,255,255,.78)); }
.onboarding-analysis-status.is-guided-path > span { background: #ece7fb; color: #6f52d9; }
.equipment-list details.is-adaptive-priority { border-color: rgba(111,82,217,.28); background: linear-gradient(135deg,#fff,#fbf9ff); }
.equipment-list details.is-adaptive-priority summary > strong { display: grid; gap: 2px; }
.equipment-list details.is-adaptive-priority summary > strong small { color: #6f52d9; font-size: 7px; font-weight: 760; }

@media (max-width: 700px) {
  .announcement { width: fit-content; align-items: flex-start; flex-wrap: wrap; border-radius: 14px; }
  .announcement i { margin-top: 4px; }
  .announcement strong { white-space: normal; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .scroll-reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
  .hero-glow, .services-hero-glow, .final-orb, .services-page-hero, .demo-section { animation: none !important; }
}

@media (prefers-reduced-motion: reduce) {
  .villa-visual, .hero-phone, .question-cloud, .reveal, .loader-orb, .hero-journey-controls button span { animation: none !important; }
  .hero-journey-frame, .hero-journey-step { transition: none !important; }
}

/* Laboratoire de test et analyses produit */
.test-mode-banner { margin: -16px 0 28px; border: 1px solid rgba(111,82,217,.22); border-radius: 18px; padding: 13px 16px; display: flex; align-items: center; gap: 12px; background: linear-gradient(115deg, rgba(217,207,248,.6), rgba(255,255,255,.78)); color: var(--navy); box-shadow: 0 12px 32px rgba(78,55,145,.08); }
.test-mode-banner > span { width: 36px; height: 36px; border-radius: 12px; display: grid; place-items: center; background: white; color: #6f52d9; }
.test-mode-banner > div { min-width: 0; display: grid; gap: 2px; }
.test-mode-banner small { color: var(--text-soft); }
.test-mode-banner button { margin-left: auto; border: 0; border-radius: 999px; padding: 9px 14px; background: #6f52d9; color: white; font-size: 11px; font-weight: 800; cursor: pointer; }
.lab-safe-pill { border: 1px solid rgba(40,107,91,.18); border-radius: 999px; padding: 9px 13px; display: inline-flex; align-items: center; gap: 7px; background: rgba(189,229,211,.34); color: var(--emerald-dark); font-size: 11px; font-weight: 800; white-space: nowrap; }
.lab-safe-pill .ui-icon { width: 15px; }
.lab-choice-grid { margin-bottom: 22px; display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.lab-choice { min-height: 285px; border: 1px solid var(--border); border-radius: 28px; padding: 26px; display: grid; grid-template-columns: auto 1fr; gap: 20px; background: rgba(255,255,255,.72); box-shadow: var(--soft-shadow); }
.lab-choice > span { width: 48px; height: 48px; border-radius: 16px; display: grid; place-items: center; background: var(--sage); color: var(--emerald-dark); font-weight: 900; }
.lab-choice > div { align-self: center; }
.lab-choice h2 { margin: 5px 0 10px; color: var(--navy); font-size: 25px; letter-spacing: -.04em; }
.lab-choice > div > p:last-child { color: var(--text-soft); font-size: 13px; line-height: 1.65; }
.lab-choice > button { grid-column: 1 / -1; align-self: end; justify-self: start; }
.lab-choice.is-purple { border-color: rgba(111,82,217,.28); background: linear-gradient(135deg, #7357d9, #9e72d9); color: white; }
.lab-choice.is-purple > span { background: rgba(255,255,255,.18); color: white; }
.lab-choice.is-purple .eyebrow, .lab-choice.is-purple h2, .lab-choice.is-purple > div > p:last-child { color: white; }
.lab-test-grid { display: grid; grid-template-columns: minmax(0,1.22fr) minmax(320px,.78fr); gap: 18px; }
.lab-chat-card, .lab-connector-card { min-height: 560px; }
.lab-live-dot { border-radius: 999px; padding: 6px 10px; background: rgba(189,229,211,.5); color: var(--emerald-dark); font-size: 10px; font-style: normal; font-weight: 850; }
.lab-live-dot::before { content: ""; width: 6px; height: 6px; margin-right: 6px; border-radius: 50%; display: inline-block; background: #34a678; }
.lab-prompt-list { margin: 20px 0; display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.lab-prompt-list button { border: 1px solid var(--border); border-radius: 15px; padding: 12px; display: grid; gap: 5px; background: rgba(248,246,241,.72); color: var(--navy); text-align: left; cursor: pointer; }
.lab-prompt-list button:hover { border-color: rgba(111,82,217,.35); background: white; }
.lab-prompt-list strong { font-size: 12px; line-height: 1.35; }
.lab-prompt-list small { color: var(--text-soft); font-size: 9px; line-height: 1.35; }
.lab-chat-form { display: grid; grid-template-columns: 1fr auto; gap: 9px; }
.lab-chat-form textarea { min-height: 54px; max-height: 110px; border: 1px solid var(--border); border-radius: 16px; padding: 14px; resize: vertical; }
.lab-answer { margin-top: 14px; border-radius: 18px; padding: 16px; display: grid; grid-template-columns: 36px 1fr; gap: 11px; background: #f3f0fb; color: var(--text-soft); }
.lab-answer > span { width: 36px; height: 36px; border-radius: 12px; display: grid; place-items: center; background: #6f52d9; color: white; font-weight: 900; }
.lab-answer p { margin: 0; font-size: 12px; line-height: 1.55; }
.lab-answer p strong { margin-bottom: 4px; display: block; color: var(--navy); }
.lab-answer.is-answer { background: rgba(189,229,211,.3); }
.lab-answer.is-escalate { background: rgba(255,173,130,.22); }
.lab-connector-card { display: flex; flex-direction: column; justify-content: space-between; }
.lab-connector-card h2 { margin: 6px 0 10px; color: var(--navy); font-size: 25px; letter-spacing: -.04em; }
.lab-connector-card > div > p:last-child { color: var(--text-soft); font-size: 13px; line-height: 1.6; }
.connector-test-flow { margin: 24px 0; display: grid; align-items: center; grid-template-columns: 1fr auto 1fr auto 1fr; gap: 7px; }
.connector-test-flow p { margin: 0; display: grid; justify-items: center; gap: 6px; text-align: center; }
.connector-test-flow b { width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; background: var(--lavender); color: #6042b8; }
.connector-test-flow span { color: var(--text-soft); font-size: 9px; font-weight: 750; }
.connector-test-flow > i { width: 16px; height: 1px; background: var(--border); }
.connector-test-result { margin: 10px 0 18px; border-radius: 13px; padding: 11px; background: var(--cream); color: var(--text-soft); font-size: 11px; text-align: center; }
.connector-test-result.is-success { background: rgba(189,229,211,.35); color: var(--emerald-dark); }
.connector-test-result.is-error { background: rgba(236,118,95,.12); color: #a44031; }
.text-button.is-danger { color: #b44c3b; }
.lab-empty { min-height: 240px; display: grid; place-items: center; align-content: center; gap: 10px; text-align: center; }
.lab-empty > span { width: 52px; height: 52px; border-radius: 18px; display: grid; place-items: center; background: var(--lavender); color: #6548bd; }
.lab-empty h2, .lab-empty p { margin: 0; }
.lab-empty p { max-width: 560px; color: var(--text-soft); }
.analytics-loading { min-height: 55vh; display: grid; place-items: center; align-content: center; gap: 13px; color: var(--text-soft); }
.analytics-metrics { margin-bottom: 18px; border: 1px solid var(--border); border-radius: 24px; display: grid; grid-template-columns: repeat(6,1fr); overflow: hidden; background: rgba(255,255,255,.72); box-shadow: var(--soft-shadow); }
.analytics-metrics article { min-width: 0; min-height: 120px; border-right: 1px solid var(--border); padding: 18px; display: grid; align-content: center; gap: 7px; }
.analytics-metrics article:last-child { border: 0; }
.analytics-metrics span, .analytics-metrics small { color: var(--text-soft); font-size: 9px; line-height: 1.35; }
.analytics-metrics strong { color: var(--navy); font-size: 26px; letter-spacing: -.04em; }
.analytics-main-grid { margin-bottom: 18px; display: grid; grid-template-columns: minmax(0,1.4fr) minmax(300px,.6fr); gap: 18px; }
.analytics-chart, .funnel-panel { min-height: 330px; }
.activity-bars { height: 205px; margin-top: 18px; display: flex; align-items: end; gap: 7px; }
.activity-bars > div { min-width: 7px; height: 100%; flex: 1; display: flex; flex-direction: column; justify-content: end; align-items: center; gap: 6px; }
.activity-bars i { width: 100%; min-height: 6px; border-radius: 7px 7px 2px 2px; display: block; background: linear-gradient(180deg,#8166da,#c0b3eb); }
.activity-bars small { color: var(--text-soft); font-size: 8px; }
.analytics-legend { margin-top: 12px; color: var(--text-soft); font-size: 10px; }
.analytics-legend i { width: 8px; height: 8px; margin-right: 5px; border-radius: 3px; display: inline-block; background: #8166da; }
.funnel-list { margin-top: 13px; display: grid; gap: 8px; }
.funnel-list > div { border-radius: 14px; padding: 10px 12px; display: grid; grid-template-columns: 30px 1fr; gap: 10px; background: var(--cream); }
.funnel-list > div > span { width: 30px; height: 30px; border-radius: 10px; display: grid; place-items: center; background: white; color: #6f52d9; font-weight: 850; }
.funnel-list p { margin: 0; display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.funnel-list strong { font-size: 11px; }
.funnel-list small { color: var(--emerald-dark); font-size: 14px; font-weight: 900; }
.creator-table { margin-top: 16px; overflow-x: auto; }
.creator-row { min-width: 720px; border-top: 1px solid var(--border); padding: 12px 5px; display: grid; grid-template-columns: minmax(260px,2fr) repeat(4,1fr); align-items: center; gap: 12px; font-size: 12px; }
.creator-row:first-child { border: 0; }
.creator-row > span:first-child { display: grid; gap: 3px; }
.creator-row small { color: var(--text-soft); font-size: 9px; }
.creator-head { color: var(--text-soft); font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
.analytics-privacy { margin: 15px 0; display: flex; align-items: center; gap: 7px; color: var(--text-soft); font-size: 10px; }
.analytics-privacy .ui-icon { width: 14px; color: var(--emerald); }

@media (max-width: 900px) {
  .lab-choice-grid, .lab-test-grid, .analytics-main-grid { grid-template-columns: 1fr; }
  .analytics-metrics { grid-template-columns: repeat(3,1fr); }
  .analytics-metrics article:nth-child(3) { border-right: 0; }
  .analytics-metrics article:nth-child(-n+3) { border-bottom: 1px solid var(--border); }
}

@media (max-width: 620px) {
  .test-mode-banner { align-items: flex-start; flex-wrap: wrap; }
  .test-mode-banner button { width: 100%; margin-left: 0; }
  .lab-choice { grid-template-columns: 1fr; }
  .lab-prompt-list { grid-template-columns: 1fr; }
  .lab-chat-form { grid-template-columns: 1fr; }
  .analytics-metrics { grid-template-columns: 1fr 1fr; }
  .analytics-metrics article:nth-child(odd) { border-right: 1px solid var(--border); }
  .analytics-metrics article:nth-child(even) { border-right: 0; }
  .analytics-metrics article { border-bottom: 1px solid var(--border); }
}

/* Entry choice, import-first onboarding, branded states and richer sharing */
.kanai-logo-mark { display: block; object-fit: contain; }
.milo-orb .orb-logo, .milo-orb .kanai-logo-mark { width: 72%; height: 72%; }
.loader-logo { width: 68px; height: 68px; border-radius: 21px; padding: 10px; background: rgba(255,255,255,.92); box-shadow: 0 18px 55px rgba(16,27,46,.16); animation: loader-pulse 1.5s ease-in-out infinite; }
.guest-state-logo { width: 76px; height: 76px; }
.auth-logo-badge { width: 62px; height: 62px; border-radius: 19px; display: grid; place-items: center; background: rgba(255,255,255,.94); box-shadow: 0 18px 45px rgba(0,0,0,.2); }
.auth-logo-mark { width: 46px; height: 46px; }
.auth-panel-logo { margin-bottom: 34px; display: flex; align-items: center; gap: 0; color: var(--navy); font-size: 24px; font-style: normal; font-weight: 900; letter-spacing: -.06em; }
.auth-panel-mark { width: 38px; height: 38px; margin-right: -7px; }
.auth-panel-logo span { display: flex; gap: 1px; }
.auth-panel-logo b { color: #000; }
.auth-panel-logo em { color: #7656d7; font-style: normal; }
.celebration-orb { background: white; }
.celebration-logo { width: 48px; height: 48px; }
.lab-answer-logo { width: 36px; height: 36px; border-radius: 12px; padding: 5px; background: white; }

.onboarding-entry-shell, .onboarding-import-shell { min-height: 100vh; background: radial-gradient(circle at 16% 30%, rgba(217,207,248,.45), transparent 34%), var(--cream); }
.onboarding-entry-meta { display: grid; justify-items: center; gap: 3px; text-align: center; }
.onboarding-entry-meta span { color: #775bc4; font-size: 9px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.onboarding-entry-meta strong { color: var(--navy); font-size: 12px; }
.onboarding-entry { width: min(calc(100% - 48px), 1050px); margin: 0 auto; padding: 62px 0 90px; }
.entry-intro { max-width: 760px; margin: 0 auto 38px; text-align: center; }
.entry-intro h1, .import-intro h1 { margin: 10px 0 15px; color: var(--navy); font-size: clamp(2.7rem, 6vw, 5rem); line-height: .98; letter-spacing: -.06em; text-wrap: balance; }
.entry-intro > p:last-child, .import-intro > p:last-child { color: var(--text-soft); font-size: 15px; line-height: 1.7; }
.entry-choice-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.entry-choice-card { min-height: 390px; position: relative; overflow: hidden; border: 1px solid var(--border); border-radius: 30px; padding: 30px; display: grid; grid-template-columns: 54px 1fr; align-content: start; gap: 20px; background: rgba(255,255,255,.76); color: var(--navy); box-shadow: var(--soft-shadow); text-align: left; cursor: pointer; transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease; }
.entry-choice-card:hover { transform: translateY(-5px); border-color: rgba(111,82,217,.35); box-shadow: 0 30px 75px rgba(31,37,51,.15); }
.entry-choice-card.is-import { background: linear-gradient(145deg,#172640,#29214b); color: white; }
.entry-choice-number { position: absolute; top: 22px; right: 25px; color: rgba(102,112,132,.6); font-size: 11px; font-weight: 850; }
.entry-choice-card.is-import .entry-choice-number { color: rgba(255,255,255,.42); }
.entry-choice-icon { width: 54px; height: 54px; border-radius: 17px; display: grid; place-items: center; background: var(--lavender); color: #6548bd; }
.entry-choice-card.is-import .entry-choice-icon { background: rgba(255,255,255,.13); color: #e4dafd; }
.entry-choice-card > span:last-child { align-self: stretch; display: flex; flex-direction: column; }
.entry-choice-card small { color: var(--text-soft); font-size: 10px; line-height: 1.4; }
.entry-choice-card.is-import small, .entry-choice-card.is-import p { color: #bfc7d8; }
.entry-choice-card strong { margin: 18px 0 12px; display: block; font-size: clamp(1.65rem,3vw,2.3rem); letter-spacing: -.045em; }
.entry-choice-card p { margin: 0; color: var(--text-soft); font-size: 13px; line-height: 1.65; }
.entry-choice-card em { margin-top: auto; padding-top: 32px; color: inherit; font-size: 11px; font-style: normal; font-weight: 850; }
.entry-reassurance { max-width: 710px; margin: 24px auto 0; display: flex; justify-content: center; align-items: center; gap: 11px; color: var(--text-soft); text-align: left; }
.entry-reassurance > span { width: 39px; height: 39px; flex: 0 0 auto; border-radius: 13px; display: grid; place-items: center; background: rgba(189,229,211,.48); color: var(--emerald); }
.entry-reassurance strong, .entry-reassurance small { display: block; }
.entry-reassurance strong { color: var(--navy); font-size: 11px; }
.entry-reassurance small { font-size: 9px; line-height: 1.5; }

.onboarding-import { width: min(calc(100% - 48px), 980px); margin: 0 auto; padding: 48px 0 90px; }
.import-intro { max-width: 780px; margin-bottom: 28px; }
.import-intro .text-button { margin-bottom: 28px; }
.initial-import-card { border: 1px solid var(--border); border-radius: 30px; padding: clamp(22px,4vw,38px); background: rgba(255,255,255,.82); box-shadow: var(--soft-shadow); }
.import-property-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.import-property-fields .import-address { grid-column: 1/-1; }
.initial-drop-zone { margin: 24px 0 14px; border: 1.5px dashed rgba(111,82,217,.36); border-radius: 24px; padding: 28px; background: linear-gradient(145deg,rgba(217,207,248,.24),rgba(189,229,211,.2)); text-align: center; transition: .2s ease; }
.initial-drop-zone.is-dragging { border-color: #6f52d9; background: rgba(217,207,248,.42); transform: scale(1.008); }
.initial-drop-zone input { width: 1px; height: 1px; position: absolute; overflow: hidden; opacity: 0; }
.initial-drop-zone > label { display: grid; justify-items: center; gap: 7px; cursor: pointer; }
.initial-drop-zone > label > span { width: 68px; height: 68px; border-radius: 21px; display: grid; place-items: center; background: white; box-shadow: 0 13px 38px rgba(16,27,46,.12); }
.drop-logo { width: 50px; height: 50px; }
.initial-drop-zone label strong { color: var(--navy); font-size: 17px; }
.initial-drop-zone label small { color: var(--text-soft); font-size: 10px; }
.import-format-chips { margin-top: 18px; display: flex; flex-wrap: wrap; justify-content: center; gap: 7px; }
.import-format-chips span { border: 1px solid rgba(111,82,217,.14); border-radius: 99px; padding: 6px 9px; background: rgba(255,255,255,.7); color: #6548bd; font-size: 8px; font-weight: 780; }
.initial-import-selection { margin-bottom: 18px; color: var(--text-soft); font-size: 10px; }
.initial-import-selection > strong { display: block; color: var(--navy); }
.initial-import-selection > div { margin-top: 8px; display: grid; gap: 5px; }
.initial-import-selection > div span { border-radius: 10px; padding: 8px 10px; display: flex; justify-content: space-between; gap: 10px; background: var(--cream); }
.initial-import-selection small { color: var(--text-soft); }
.import-analysis-note { margin: 18px 0; border-radius: 16px; padding: 13px; display: flex; align-items: center; gap: 10px; background: rgba(189,229,211,.25); }
.import-analysis-note > span { color: var(--emerald); }
.import-analysis-note strong, .import-analysis-note small { display: block; }
.import-analysis-note strong { color: var(--emerald-dark); font-size: 10px; }
.import-analysis-note small { color: var(--text-soft); font-size: 9px; line-height: 1.45; }
.initial-import-progress { margin-top: 18px; }
.import-progress-head { border-radius: 18px; padding: 15px; display: flex; align-items: center; gap: 11px; background: #f3f0fb; }
.progress-logo { width: 42px; height: 42px; }
.import-progress-head strong, .import-progress-head small { display: block; }
.import-progress-head small { color: var(--text-soft); font-size: 9px; }
.import-progress-list { margin-top: 9px; display: grid; gap: 6px; }
.import-progress-list p { margin: 0; border: 1px solid var(--border); border-radius: 13px; padding: 10px; display: flex; align-items: center; gap: 10px; }
.import-progress-list p > i { width: 10px; height: 10px; border: 2px solid #c7c9d0; border-radius: 50%; }
.import-progress-list p.is-running > i { border-color: #d2c8f4; border-top-color: #6f52d9; animation: spin .8s linear infinite; }
.import-progress-list p.is-done > i { border: 0; background: #43a77f; }
.import-progress-list p.is-failed > i { border: 0; background: #d86655; }
.import-progress-list strong, .import-progress-list small { display: block; }
.import-progress-list strong { font-size: 10px; }
.import-progress-list small { color: var(--text-soft); font-size: 8px; }
.import-complete { border-radius: 26px; padding: 35px; background: linear-gradient(145deg,#f4f0ff,#edf7f2); text-align: center; }
.import-complete > div:first-child { width: 82px; height: 82px; margin: 0 auto 17px; position: relative; border-radius: 25px; display: grid; place-items: center; background: white; box-shadow: var(--soft-shadow); }
.complete-logo { width: 61px; height: 61px; }
.import-complete > div:first-child > span { width: 25px; height: 25px; position: absolute; right: -4px; bottom: -3px; border-radius: 50%; display: grid; place-items: center; background: var(--emerald); color: white; }
.import-complete h2 { margin: 7px 0; font-size: 30px; }
.import-complete > p:not(.eyebrow) { color: var(--text-soft); }
.import-complete-stats { max-width: 420px; margin: 22px auto; display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.import-complete-stats span { border-radius: 15px; padding: 14px; background: rgba(255,255,255,.78); }
.import-complete-stats strong, .import-complete-stats small { display: block; }
.import-complete-stats strong { font-size: 24px; }
.import-complete-stats small { color: var(--text-soft); font-size: 8px; }
.import-complete-actions { margin-bottom: 18px; display: flex; justify-content: center; flex-wrap: wrap; gap: 8px; }
.import-complete-actions .import-dashboard-button { border-color: rgba(40,107,91,.28); color: var(--emerald-dark); }
.import-complete-actions .import-dashboard-button .ui-icon { width: 16px; }

/* Legal information */
.legal-body { min-height: 100vh; background: #f8f7f4; }
.legal-main { width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 0 45px !important; }
.legal-header { background: rgba(248,247,244,.9); backdrop-filter: blur(20px); }
.legal-hero { min-height: 330px; display: grid; align-items: end; padding-top: 85px; padding-bottom: 58px; }
.legal-hero > div { max-width: 820px; }
.legal-hero h2 { max-width: 760px; margin: 10px 0 18px; font-size: clamp(2.3rem, 4.2vw, 4rem); line-height: 1.02; letter-spacing: -.055em; text-wrap: balance; }
.legal-hero p:last-child { max-width: 670px; margin: 0; color: var(--text-soft); font-size: 15px; line-height: 1.7; }
.legal-layout { padding-top: 26px; padding-bottom: 70px; display: grid; grid-template-columns: 245px minmax(0, 1fr); align-items: start; gap: 48px; }
.legal-navigation { position: sticky; top: 96px; border: 1px solid #d4d8de; border-radius: 20px; padding: 8px; display: grid; gap: 3px; background: rgba(255,255,255,.78); box-shadow: 0 18px 50px rgba(20,30,45,.06); }
.legal-navigation a { border-radius: 13px; padding: 13px 14px; color: var(--text-soft); font-size: 11px; font-weight: 800; text-decoration: none; transition: background .18s ease, color .18s ease; }
.legal-navigation a:hover { background: #f2f3f1; color: var(--navy); }
.legal-navigation a.is-active { background: var(--navy); color: white; }
.legal-document { min-width: 0; border: 1px solid #d4d8de; border-radius: 28px; padding: clamp(28px, 5vw, 64px); background: #fff; box-shadow: 0 24px 70px rgba(20,30,45,.07); }
.legal-document > h1 { max-width: 820px; margin: 8px 0 9px; font-size: clamp(2.35rem, 4.4vw, 4.4rem); line-height: 1; letter-spacing: -.06em; }
.legal-updated { margin: 0 0 44px; color: var(--text-soft); font-size: 11px; }
.legal-document section { border-top: 1px solid #e1e3e6; padding: 30px 0 2px; }
.legal-document section + section { margin-top: 24px; }
.legal-document section h2 { margin: 0 0 14px; font-size: clamp(1.25rem, 2vw, 1.65rem); letter-spacing: -.025em; }
.legal-document section p, .legal-document section li, .legal-document dd { color: #5d687a; font-size: 12px; line-height: 1.8; }
.legal-document section p { margin: 0; }
.legal-document section p + p { margin-top: 12px; }
.legal-document section ul { margin: 0; padding-left: 20px; }
.legal-document section li + li { margin-top: 8px; }
.legal-document a { color: var(--emerald-dark); font-weight: 750; text-underline-offset: 3px; }
.legal-document dl { margin: 18px 0 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.legal-document dl > div { border: 1px solid #e2e4e8; border-radius: 13px; padding: 12px 14px; background: #fafaf9; }
.legal-document dt { margin-bottom: 3px; color: var(--navy); font-size: 9px; font-weight: 850; text-transform: uppercase; letter-spacing: .06em; }
.legal-document dd { margin: 0; }
.legal-footer { border-top: 1px solid #d8dade; }
.site-footer > div { flex-wrap: wrap; justify-content: flex-end; }
.auth-terms { margin: 12px auto 0; max-width: 390px; color: var(--text-soft); font-size: 9px; line-height: 1.55; text-align: center; }
.auth-terms a { color: var(--navy); font-weight: 750; text-underline-offset: 2px; }
.auth-terms span { margin-inline: 5px; }

@media (max-width: 820px) {
  .legal-hero { min-height: 280px; padding-top: 55px; }
  .legal-layout { grid-template-columns: 1fr; gap: 20px; }
  .legal-navigation { position: static; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .legal-navigation a { padding: 11px 8px; text-align: center; }
  .legal-document dl { grid-template-columns: 1fr; }
}

@media (max-width: 540px) {
  .legal-hero, .legal-layout, .legal-footer { width: calc(100% - 28px); }
  .legal-hero h2 { font-size: 2.35rem; }
  .legal-navigation { grid-template-columns: 1fr; }
  .legal-document { border-radius: 21px; padding: 27px 20px; }
  .legal-document > h1 { font-size: 2.45rem; }
}
.import-complete > small { display: flex; justify-content: center; align-items: center; gap: 6px; color: var(--text-soft); }

.demo-create-cta { margin-top: 16px; border: 1px solid rgba(255,255,255,.16); border-radius: 18px; padding: 11px; display: grid; grid-template-columns: 38px 1fr auto; align-items: center; gap: 10px; background: rgba(255,255,255,.09); opacity: 0; transform: translateY(8px); transition: .3s ease; }
.demo-create-cta.is-visible { opacity: 1; transform: none; }
.demo-create-cta > span { width: 38px; height: 38px; border-radius: 12px; display: grid; place-items: center; background: white; }
.demo-cta-logo { width: 29px; height: 29px; }
.demo-create-cta p { margin: 0; }
.demo-create-cta strong, .demo-create-cta small { display: block; }
.demo-create-cta strong { color: white; font-size: 10px; }
.demo-create-cta small { color: #aeb8c8; font-size: 8px; }

.created-link.created-link-expanded { align-items: stretch; flex-direction: column; padding: 14px; }
.created-link-status { display: flex; align-items: center; gap: 9px; }
.created-link-status > span { width: 32px; height: 32px; flex: 0 0 auto; border-radius: 10px; display: grid; place-items: center; background: white; color: var(--emerald); }
.created-link-expanded > code { width: 100%; margin: 8px 0; border-radius: 9px; padding: 9px; overflow: auto; background: rgba(255,255,255,.8); color: var(--emerald-dark); font-size: 9px; white-space: nowrap; }
.created-link-actions { display: flex; flex-wrap: wrap; gap: 6px; }
.created-link-actions button, .created-link-actions a { border: 0; border-radius: 9px; padding: 7px 9px; display: inline-flex; align-items: center; gap: 5px; background: white; color: var(--emerald-dark); font-size: 8px; font-weight: 800; text-decoration: none; }
.created-link-actions .ui-icon { width: 12px; height: 12px; }

.stay-pass-v2 .stay-pass-logo { width: 38px; height: 38px; }
.guest-pending-note { margin: 0 14px 8px; border-radius: 14px; padding: 10px; display: flex; align-items: center; gap: 9px; background: rgba(255,173,130,.18); }
.pending-logo { width: 30px; height: 30px; }
.guest-pending-note p { margin: 0; }
.guest-pending-note strong, .guest-pending-note small { display: block; }
.guest-pending-note strong { font-size: 9px; }
.guest-pending-note small { color: var(--text-soft); font-size: 8px; }
.guest-answer-rich { max-width: min(82%, 560px); border-radius: 15px; padding: 11px 13px; background: var(--sage); color: var(--emerald-dark); font-size: 11px; line-height: 1.55; }
.guest-message.from-guest .guest-answer-rich { background: var(--navy); color: white; }
.guest-answer-rich p { margin: 0; padding: 0; background: transparent; color: inherit; white-space: normal; }
.guest-answer-rich p + p { margin-top: 8px; }
.guest-answer-rich h3 { margin: 0 0 10px; font-size: 15px; }
.guest-answer-rich h4 { margin: 12px 0 5px; font-size: 11px; }
.guest-answer-rich strong { color: inherit; font-weight: 850; }
.guest-answer-rich ul, .guest-answer-rich ol { margin: 7px 0 0; padding-left: 19px; }
.guest-answer-rich li + li { margin-top: 6px; }
.guest-answer-rich > small { margin-top: 9px; display: flex; align-items: center; gap: 5px; color: #527467; font-size: 7px; font-weight: 780; }
.guest-answer-rich > small.is-suggestion { color: #866521; }
.guest-escalation-choice { margin-top: 11px; border-top: 1px solid rgba(40,107,91,.14); padding-top: 10px; }
.guest-escalation-choice p { margin: 0 0 8px; color: #61736d; font-size: 8px; }
.guest-escalation-choice > div { display: flex; flex-wrap: wrap; gap: 6px; }
.guest-escalation-choice button { border: 1px solid rgba(40,107,91,.2); border-radius: 9px; padding: 7px 9px; background: white; color: var(--emerald-dark); font-size: 8px; font-weight: 820; }
.guest-escalation-choice button:first-child { border-color: transparent; background: var(--emerald-dark); color: white; }
.guest-thinking-row { min-width: 220px; display: flex; align-items: center; gap: 9px; }
.guest-thinking-row i, .guest-thinking { width: 14px; height: 14px; border: 2px solid rgba(40,107,91,.2); border-top-color: var(--emerald); border-radius: 50%; display: inline-block; animation: spin .75s linear infinite; }
.guest-thinking-row span { color: #557166; font-size: 9px; }
.guest-source-gallery { margin-top: 10px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
.guest-source-gallery figure { min-width: 0; margin: 0; }
.guest-source-gallery a { position: relative; aspect-ratio: 4 / 3; border-radius: 11px; display: block; overflow: hidden; background: #dfe9e4; }
.guest-source-gallery img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .24s ease; }
.guest-source-gallery a:hover img { transform: scale(1.035); }
.guest-source-gallery a > span { position: absolute; right: 7px; bottom: 7px; width: 24px; height: 24px; border-radius: 8px; display: grid; place-items: center; background: rgba(15, 28, 45, .78); color: white; }
.guest-source-gallery .ui-icon { width: 13px; height: 13px; }
.guest-source-gallery figcaption { margin-top: 4px; overflow: hidden; color: #557166; font-size: 7px; font-weight: 750; text-overflow: ellipsis; white-space: nowrap; }
.guest-share-dialog { width: min(calc(100vw - 32px), 560px); max-height: calc(100dvh - 32px); padding: 24px; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; }
.guest-share-dialog .dialog-heading, .guest-history-dialog .dialog-heading { width: 100%; }
.guest-share-dialog .dialog-heading > div, .guest-history-dialog .dialog-heading > div { min-width: 0; }
.guest-share-dialog .dialog-heading h2, .guest-history-dialog .dialog-heading h2 { max-width: 520px; margin: 4px 0 14px; font-size: clamp(19px, 3vw, 26px); line-height: 1.12; }
.guest-share-dialog .dialog-heading .icon-button, .guest-history-dialog .dialog-heading .icon-button { flex: 0 0 auto; }
.guest-share-dialog > button:not(.icon-button) { width: 100%; margin-top: 9px; border: 1px solid var(--border); border-radius: 15px; padding: 14px; display: flex; align-items: center; gap: 11px; background: white; color: var(--navy); text-align: left; }
.guest-share-dialog > button:not(.icon-button) > .ui-icon { width: 20px; color: #6f52d9; }
.guest-share-dialog > button:not(.icon-button) > span { flex: 1; }
.guest-share-dialog > button:not(.icon-button) strong, .guest-share-dialog > button:not(.icon-button) small { display: block; }
.guest-share-dialog > button:not(.icon-button) small { margin-top: 3px; color: var(--text-soft); font-size: 9px; }
.guest-share-warning { margin: 15px 0 0; display: flex; align-items: flex-start; gap: 7px; color: var(--text-soft); font-size: 9px; line-height: 1.5; }
.guest-share-warning .ui-icon { width: 15px; flex: 0 0 auto; color: var(--emerald); }
.guest-history-dialog { width: min(calc(100vw - 32px), 720px); max-height: calc(100dvh - 32px); padding: 24px; overflow: hidden; }
.guest-history-dialog[open] { display: flex; flex-direction: column; }
.guest-history-actions { margin: 0 0 14px; display: flex; flex-wrap: wrap; gap: 7px; }
.guest-history-actions .ui-icon { width: 14px; }
.guest-history-list { min-height: 0; display: grid; gap: 8px; overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; }
.guest-history-item { width: 100%; border: 1px solid var(--border); border-radius: 15px; padding: 12px; display: grid; grid-template-columns: 36px minmax(0,1fr) auto; align-items: center; gap: 10px; background: white; color: var(--navy); text-align: left; }
.guest-history-item.is-active { border-color: rgba(111,82,217,.35); background: #f7f4ff; }
.guest-history-item > span { width: 36px; height: 36px; border-radius: 11px; display: grid; place-items: center; background: #eeebf8; color: #6f52d9; }
.guest-history-item > span .ui-icon { width: 16px; }
.guest-history-item strong, .guest-history-item small, .guest-history-item p { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.guest-history-item strong { font-size: 10px; }
.guest-history-item small { margin-top: 3px; color: var(--text-soft); font-size: 8px; }
.guest-history-item p { margin: 4px 0 0; color: var(--text-soft); font-size: 8px; }

.archive-count { border-radius: 99px; padding: 7px 10px; background: #eee9f8; color: #6245ba; font-size: 9px; font-weight: 800; }
.conversation-archive-loading { min-height: 180px; display: flex; align-items: center; justify-content: center; gap: 10px; color: var(--text-soft); }
.conversation-archive-list { display: grid; gap: 10px; }
.owner-conversation-row { display: grid; grid-template-columns: 44px minmax(0,1fr) auto; align-items: center; gap: 13px; }
.conversation-avatar { width: 44px; height: 44px; border-radius: 14px; display: grid; place-items: center; background: linear-gradient(145deg,#e7e0f8,#dceee6); color: var(--navy); font-size: 12px; font-weight: 900; }
.owner-conversation-row small, .owner-conversation-row em { color: var(--text-soft); font-size: 8px; font-style: normal; }
.owner-conversation-row h2 { margin: 4px 0; font-size: 14px; }
.owner-conversation-row p { margin: 0 0 5px; overflow: hidden; color: var(--text-soft); font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.owner-conversation-actions { display: flex; flex-direction: column; gap: 6px; }
.owner-conversation-actions button { border: 1px solid var(--border); border-radius: 9px; padding: 8px 10px; display: flex; align-items: center; justify-content: center; gap: 5px; background: white; color: var(--navy); font-size: 8px; font-weight: 800; }
.owner-conversation-actions button:first-child { border-color: transparent; background: var(--navy); color: white; }
.owner-conversation-actions .ui-icon { width: 13px; }
.owner-conversation-dialog { width: min(calc(100% - 28px), 720px); max-height: min(86dvh, 820px); }
.owner-conversation-detail { min-height: 180px; }
.owner-conversation-meta { margin-bottom: 13px; border-radius: 13px; padding: 11px; display: flex; justify-content: space-between; background: #f5f7fb; }
.owner-conversation-meta strong, .owner-conversation-meta small { font-size: 9px; }
.owner-conversation-meta small { color: var(--text-soft); }
.owner-transcript { display: grid; gap: 8px; overflow-y: auto; }
.owner-transcript-message { max-width: 88%; border: 1px solid var(--border); border-radius: 14px; padding: 11px; background: white; }
.owner-transcript-message.from-guest { margin-left: auto; border-color: var(--navy); background: var(--navy); color: white; }
.owner-transcript-message.from-owner { background: var(--sage); }
.owner-transcript-message header { margin-bottom: 6px; display: flex; justify-content: space-between; gap: 10px; }
.owner-transcript-message header strong, .owner-transcript-message header small { font-size: 8px; }
.owner-transcript-message header small { color: var(--text-soft); }
.owner-transcript-message.from-guest header small { color: #aeb8c8; }
.owner-transcript-message .guest-answer-rich { max-width: none; padding: 0; background: transparent; color: inherit; }

.property-danger-zone { margin: 18px 0 4px; border-top: 1px solid rgba(170,53,53,.13); padding: 18px 3px 0; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.property-danger-zone strong { display: block; color: #8a3030; font-size: 11px; }
.property-danger-zone p { margin: 3px 0 0; color: var(--text-soft); font-size: 9px; }
.property-danger-zone button { border: 1px solid rgba(170,53,53,.24); border-radius: 10px; padding: 8px 11px; background: transparent; color: #9f3939; font-size: 9px; font-weight: 800; }
.delete-property-dialog { width: min(calc(100% - 28px), 530px); }
.delete-property-dialog > form > p { margin: 0; border-radius: 13px; padding: 13px; background: #fff4f3; color: #743434; font-size: 10px; line-height: 1.55; }
.button-danger { border: 0; background: #9d3434; color: white; }
.button-danger:disabled { opacity: .38; cursor: not-allowed; }

.knowledge-attachment { border: 1px dashed rgba(111,82,217,.28); border-radius: 14px; padding: 12px; display: flex !important; align-items: center; gap: 10px; background: rgba(239,235,250,.48); cursor: pointer; }
.knowledge-attachment > span { width: 35px; height: 35px; flex: 0 0 auto; border-radius: 11px; display: grid; place-items: center; background: white; color: #6f52d9; }
.knowledge-attachment .ui-icon { width: 17px; }
.knowledge-attachment > div { flex: 1; }
.knowledge-attachment strong, .knowledge-attachment small { display: block; }
.knowledge-attachment strong { color: var(--navy); font-size: 10px; }
.knowledge-attachment strong em { color: var(--text-soft); font-size: 7px; font-style: normal; font-weight: 650; }
.knowledge-attachment small { margin-top: 3px; color: var(--text-soft); font-size: 8px; }
.knowledge-attachment input { width: 1px; height: 1px; position: absolute; opacity: 0; }
.knowledge-attachment-status { min-height: 14px; color: var(--emerald-dark); font-size: 8px; font-weight: 750; }

@media (max-width: 760px) {
  .onboarding-entry-meta { display: none; }
  .onboarding-entry, .onboarding-import { width: min(calc(100% - 28px), 1050px); padding-top: 35px; }
  .entry-choice-grid, .import-property-fields { grid-template-columns: 1fr; }
  .import-property-fields .import-address { grid-column: auto; }
  .entry-choice-card { min-height: 330px; padding: 23px; }
  .entry-intro h1, .import-intro h1 { font-size: 2.7rem; }
  .demo-create-cta { grid-template-columns: 35px 1fr; }
  .demo-create-cta button { grid-column: 1/-1; width: 100%; }
}

/* Restrained typography: headings remain prominent without dominating the interface. */
.seo-prerender h1 { font-size: clamp(2.55rem, 4.4vw, 3.8rem); line-height: 1.03; }
.hero h1 { max-width: 620px; font-size: clamp(2.65rem, 3.65vw, 3.8rem); line-height: 1.02; letter-spacing: -.05em; }
.section-intro h2,
.demo-copy h2,
.trust-card h2,
.final-cta h2 { font-size: clamp(2.05rem, 3.35vw, 3.5rem); line-height: 1.03; letter-spacing: -.05em; }
.section-intro h2.subtle-section-title { max-width: 760px; font-size: clamp(1.8rem, 2.65vw, 2.7rem); line-height: 1.08; letter-spacing: -.04em; }
.services-hero-copy h1 { font-size: clamp(2.55rem, 3.7vw, 3.8rem); line-height: 1.01; }
.services-explorer-head h2,
.service-journey-head h2,
.scenario-heading h2,
.services-roadmap h2 { font-size: clamp(2.15rem, 3.4vw, 3.55rem); line-height: 1.01; letter-spacing: -.052em; }
.service-panel-copy h3 { font-size: clamp(2rem, 3vw, 3.1rem); line-height: 1.01; }
.auth-visual-copy h1 { font-size: clamp(2.65rem, 3.8vw, 3.85rem); line-height: 1; }
.auth-panel h2 { font-size: clamp(1.8rem, 2.8vw, 2.6rem); }
.workspace-heading h1 { font-size: clamp(1.9rem, 3vw, 2.85rem); letter-spacing: -.05em; }
.dashboard-heading h1 { font-size: clamp(1.85rem, 2.7vw, 2.65rem); }
.step-intro h1 { font-size: clamp(1.9rem, 2.9vw, 2.85rem); line-height: 1.06; }
.share-celebration h1 { font-size: clamp(2.4rem, 4vw, 3.75rem); }
.entry-intro h1,
.import-intro h1 { font-size: clamp(2.35rem, 4.2vw, 3.7rem); line-height: 1.02; }
.guest-welcome h1 { font-size: clamp(2.2rem, 4vw, 3.35rem); }

@media (max-width: 560px) {
  .seo-prerender h1 { font-size: 2.55rem; }
  .hero h1 { max-width: 10.5em; font-size: clamp(2.3rem, 10vw, 2.8rem); line-height: 1.03; }
  .section-intro h2,
  .demo-copy h2,
  .trust-card h2,
  .final-cta h2,
  .services-explorer-head h2,
  .service-journey-head h2,
  .scenario-heading h2,
  .services-roadmap h2 { font-size: clamp(2rem, 9vw, 2.45rem); line-height: 1.04; }
  .section-intro h2.subtle-section-title { font-size: clamp(1.75rem, 7.8vw, 2.15rem); }
  .services-hero-copy h1 { font-size: clamp(2.25rem, 10vw, 2.8rem); line-height: 1.02; }
  .service-panel-copy h3 { font-size: clamp(1.95rem, 8.8vw, 2.3rem); }
  .auth-panel h2 { font-size: 2.1rem; }
  .workspace-heading h1,
  .dashboard-heading h1,
  .step-intro h1 { font-size: clamp(1.85rem, 8.5vw, 2.25rem); }
  .entry-intro h1,
  .import-intro h1 { font-size: clamp(2.1rem, 9.5vw, 2.55rem); }
  .guest-welcome h1 { font-size: clamp(2.05rem, 9vw, 2.55rem); }
}

/* Consistent visual rhythm across public, owner and guest experiences. */
.section-intro { margin-bottom: clamp(58px, 6vw, 78px); }
.section-intro > .eyebrow { margin: 0 0 clamp(20px, 2vw, 27px); }
.section-intro h2 { margin: 0 0 clamp(27px, 2.7vw, 38px); }
.section-intro h2:last-child { margin-bottom: 0; }
.section-intro > p:last-child {
  margin: 0;
  font-size: 16px;
  line-height: 1.82;
}
.explicit-intro { max-width: 920px; }
.explicit-intro > p:last-child { max-width: 800px; }

.services-hero-copy > .eyebrow,
.services-explorer-head .eyebrow,
.service-journey-head > .eyebrow,
.scenario-heading .eyebrow,
.services-roadmap .eyebrow,
.demo-copy > .eyebrow,
.trust-card .eyebrow,
.final-cta > .eyebrow { margin-bottom: 18px; }
.services-hero-copy h1 { margin-top: 0; margin-bottom: 32px; }
.services-hero-copy > p:not(.eyebrow) { margin-bottom: 32px; line-height: 1.78; }
.services-explorer-head,
.scenario-heading { margin-bottom: 54px; }
.service-journey-head { margin-bottom: 62px; }
.service-journey-head h2,
.services-roadmap h2 { margin-top: 0; margin-bottom: 25px; }
.scenario-heading h2,
.services-explorer-head h2 { margin-top: 0; }
.scenario-heading > p,
.service-journey-head > p:last-child,
.services-roadmap > div:first-child > p:last-child { margin: 0; line-height: 1.78; }
.service-panel-copy > .eyebrow { margin: 0 0 17px; }
.service-panel-copy h3 { margin: 0 0 25px; }
.service-lead { margin: 0; line-height: 1.78; }
.service-detail-flow { margin-top: 30px; }
.service-detail-flow > p { padding: 17px 0; }

.demo-copy h2,
.trust-card h2,
.final-cta h2 { margin-top: 0; margin-bottom: 27px; }
.demo-copy > p:not(.eyebrow),
.trust-card p,
.final-cta > p:not(.eyebrow) { line-height: 1.78; }
.hero-proof { margin-top: 32px; }

.workspace-heading { margin-bottom: 34px; }
.workspace-heading > div > .eyebrow,
.step-intro > .eyebrow { margin-bottom: 15px; }
.workspace-heading h1 { margin: 0 0 13px; }
.workspace-heading > div > p:last-child,
.step-intro > p:last-child { line-height: 1.72; }
.panel-heading { margin-bottom: 25px; }
.step-intro h1 { margin: 0 0 25px; }
.form-stack { gap: 21px; }
.dashboard-grid,
.dashboard-control-grid,
.knowledge-layout,
.stays-layout { gap: 18px; }
.dashboard-grid,
.dashboard-control-grid { margin-top: 18px; }
.knowledge-layout > aside { gap: 18px; }
.metric-grid { gap: 16px; }

.guest-welcome { margin-bottom: 32px; }
.guest-dashboard { gap: 18px; }
.guest-quick { padding: 21px; }
.guest-quick > .eyebrow { margin-bottom: 16px; }
.guest-quick > button { margin-bottom: 10px; padding: 13px 12px; }
.guest-messages { gap: 16px; padding: 28px; }
.guest-chat-welcome .milo-orb { margin-bottom: 19px; }
.guest-chat-welcome h2 { margin-bottom: 13px; }
.guest-chat-welcome p { margin: 0; line-height: 1.65; }
.guest-answer-rich { line-height: 1.65; }
.guest-suggestions { padding-top: 5px; padding-bottom: 12px; gap: 8px; }
.guest-composer { margin-bottom: 10px; }

.journey-flow { gap: 18px; }
.faq-grid { gap: 18px; }

@media (max-width: 760px) {
  .section-intro { margin-bottom: 48px; }
  .section-intro > .eyebrow { margin-bottom: 17px; }
  .section-intro h2 { margin-bottom: 24px; }
  .section-intro > p:last-child { font-size: 15px; line-height: 1.75; }
  .services-explorer-head,
  .scenario-heading,
  .service-journey-head { margin-bottom: 44px; }
  .dashboard-grid,
  .dashboard-control-grid,
  .knowledge-layout,
  .stays-layout,
  .guest-dashboard { gap: 14px; }
  .guest-messages { padding: 20px 17px; gap: 14px; }
}

/* Detailed first-party analytics dashboard. */
.analytics-heading { align-items: center; }
.analytics-controls { min-width: 320px; display: grid; justify-items: end; gap: 10px; }
.analytics-period { border: 1px solid var(--border); border-radius: 999px; padding: 4px; display: flex; gap: 3px; background: rgba(255,255,255,.66); }
.analytics-period button { min-width: 48px; border: 0; border-radius: 999px; padding: 9px 12px; background: transparent; color: var(--text-soft); font-size: 9px; font-weight: 820; }
.analytics-period button.is-active { background: var(--navy); color: white; box-shadow: 0 7px 18px rgba(16,27,46,.16); }
.analytics-date-picker { width: 100%; border: 1px solid var(--border); border-radius: 14px; padding: 8px 11px; display: flex; align-items: center; justify-content: space-between; gap: 12px; background: rgba(255,255,255,.82); }
.analytics-date-picker span { color: var(--text-soft); font-size: 8px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.analytics-date-picker input { border: 0; outline: 0; background: transparent; color: var(--navy); font: inherit; font-size: 10px; font-weight: 800; }
.analytics-metrics { grid-template-columns: repeat(4,1fr); }
.analytics-metrics article:nth-child(4) { border-right: 0; }
.analytics-metrics article:nth-child(-n+4) { border-bottom: 1px solid var(--border); }
.analytics-detail-grid { margin-bottom: 18px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.analytics-list-panel { min-height: 310px; }
.analytics-ranked-list { display: grid; gap: 2px; }
.analytics-ranked-list > div { min-width: 0; border-top: 1px solid var(--border); padding: 12px 0; display: grid; grid-template-columns: 28px minmax(0,1fr); align-items: center; gap: 10px; }
.analytics-ranked-list > div > span { width: 26px; height: 26px; border-radius: 8px; display: grid; place-items: center; background: #eeebf8; color: #6f52d9; font-size: 8px; font-weight: 850; }
.analytics-ranked-list p { min-width: 0; margin: 0; }
.analytics-ranked-list strong, .analytics-ranked-list small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.analytics-ranked-list strong { font-size: 10px; }
.analytics-ranked-list small { margin-top: 3px; color: var(--text-soft); font-size: 8px; }
.analytics-timeline { margin-bottom: 18px; }
.analytics-event-list { max-height: 460px; display: grid; overflow-y: auto; scrollbar-gutter: stable; }
.analytics-event-list article { min-width: 0; border-top: 1px solid var(--border); padding: 13px 0; display: grid; grid-template-columns: 9px minmax(0,1fr) auto; align-items: center; gap: 12px; }
.analytics-event-list article > i { width: 8px; height: 8px; border-radius: 50%; background: var(--emerald); box-shadow: 0 0 0 4px rgba(40,107,91,.1); }
.analytics-event-list strong, .analytics-event-list small { display: block; }
.analytics-event-list strong { font-size: 10px; }
.analytics-event-list small, .analytics-event-list time { margin-top: 3px; color: var(--text-soft); font-size: 8px; }
.analytics-hourly-bars > div { min-width: 5px; }
.analytics-hourly-bars small { min-height: 11px; font-size: 7px; }
.analytics-day-list { max-height: 245px; overflow-y: auto; }

@media (max-width: 900px) {
  .analytics-detail-grid { grid-template-columns: 1fr; }
  .analytics-heading { align-items: flex-start; }
  .analytics-controls { width: 100%; min-width: 0; justify-items: stretch; }
  .analytics-period { width: max-content; }
}

@media (max-width: 620px) {
  .analytics-period { width: 100%; }
  .analytics-period button { flex: 1; min-width: 0; padding-inline: 7px; }
  .analytics-metrics { grid-template-columns: 1fr 1fr; }
  .analytics-metrics article:nth-child(odd) { border-right: 1px solid var(--border); }
  .analytics-metrics article:nth-child(even) { border-right: 0; }
  .analytics-metrics article { border-bottom: 1px solid var(--border); }
  .analytics-event-list article { grid-template-columns: 9px minmax(0,1fr); }
  .analytics-event-list time { grid-column: 2; }
}

/* Professional owner workspace: restrained hierarchy and operational focus. */
.owner-body { --border: rgba(16,27,46,.19); background: #f5f6f7; overscroll-behavior-y: auto; }
html:has(body.owner-body) { scroll-behavior: auto; }
.owner-workspace { overflow-anchor: none; }
.owner-shell { grid-template-columns: 224px minmax(0, 1fr); }
.owner-sidebar { border-color: #e4e7eb; padding: 24px 14px 16px; background: #fff; }
.owner-sidebar nav { min-height: 0; }
.sidebar-label { margin: 0 10px 9px; color: #9aa1ab; font-size: 8px; letter-spacing: .14em; }
.sidebar-nav-separator { height: 1px; margin: 17px 10px 19px; background: #eceef1; }
.side-nav-item { min-height: 42px; margin-bottom: 2px; border-radius: 8px; padding: 9px 10px; gap: 10px; color: #596273; font-size: 11px; font-weight: 720; }
.side-nav-item .ui-icon { width: 16px; color: #7c8592; }
.side-nav-item:hover { background: #f5f6f7; }
.side-nav-item.is-active { background: #edf0f3; color: #101b2e; box-shadow: inset 3px 0 0 #162238; }
.side-nav-item.is-active .ui-icon { color: #101b2e; }
.side-nav-item b, .side-nav-item.is-active b { min-width: 19px; background: #e4e7eb; color: #4c5563; }
.sidebar-product-dot { width: 7px; height: 7px; margin-top: 4px; flex: 0 0 auto; border-radius: 50%; background: #3d866d; box-shadow: 0 0 0 4px #e8f2ee; }
.owner-topbar { min-height: 64px; border-color: #e4e7eb; padding-inline: 32px; background: rgba(255,255,255,.94); }
.workspace-view { max-width: 1260px; padding: 38px 42px 52px; }
.dashboard-heading { margin-bottom: 27px; align-items: flex-end; }
.dashboard-heading h1 { margin-bottom: 8px; font-size: clamp(1.75rem, 2.5vw, 2.35rem); letter-spacing: -.045em; }
.dashboard-heading > div > p:last-child { max-width: 580px; color: #707987; font-size: 11px; }
.dashboard-heading-actions .button { min-height: 40px; border-radius: 8px; padding: 9px 14px; font-size: 9px; box-shadow: none; }

.dashboard-overview { border: 1px solid #cbd2d9; border-radius: 12px; display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(300px, .55fr); overflow: hidden; background: #fff; box-shadow: 0 12px 34px rgba(21,31,48,.045); }
.dashboard-readiness { min-height: 260px; border-right: 1px solid #e7eaed; padding: 34px 38px; display: flex; flex-direction: column; justify-content: center; }
.dashboard-state { width: max-content; margin-bottom: 20px; display: inline-flex; align-items: center; gap: 8px; color: #7a828d; font-size: 8px; font-weight: 820; text-transform: uppercase; letter-spacing: .11em; }
.dashboard-state i { width: 7px; height: 7px; border-radius: 50%; background: #c48a45; }
.dashboard-state.is-ready { color: #34705c; }
.dashboard-state.is-ready i { background: #3d866d; }
.dashboard-readiness h2 { max-width: 650px; margin: 0 0 10px; color: #121e31; font-size: clamp(1.35rem, 2vw, 1.8rem); line-height: 1.16; letter-spacing: -.03em; }
.dashboard-readiness > p { max-width: 640px; margin: 0; color: #6f7885; font-size: 10px; line-height: 1.65; }
.dashboard-progress { width: 100%; height: 4px; margin: 30px 0 11px; overflow: hidden; background: #e9ecef; }
.dashboard-progress i { height: 100%; display: block; background: #2f715b; }
.dashboard-progress-meta { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.dashboard-progress-meta span { color: #7e8691; font-size: 8px; }
.dashboard-progress-meta span strong { color: #1b2739; font-size: 10px; }
.dashboard-progress-meta button { border: 0; padding: 0; background: transparent; color: #1f5f4c; font-size: 9px; font-weight: 800; }
.dashboard-essential-stats { display: grid; align-content: center; }
.dashboard-essential-stat { min-height: 83px; border-bottom: 1px solid #e7eaed; padding: 18px 22px; display: grid; align-content: center; gap: 6px; }
.dashboard-essential-stat:last-child { border-bottom: 0; }
.dashboard-essential-stat > div { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; }
.dashboard-essential-stat strong { color: #172337; font-size: 19px; line-height: 1; }
.dashboard-essential-stat span { color: #535d6c; font-size: 9px; font-weight: 760; text-align: right; }
.dashboard-essential-stat small { color: #9299a3; font-size: 7px; text-align: right; }
.dashboard-essential-stat.is-attention strong { color: #9b493c; }
.dashboard-essential-stat.is-ok strong { color: #34705c; }

.dashboard-professional-grid { margin-top: 18px; display: grid; grid-template-columns: minmax(0, 1.22fr) minmax(300px, .78fr); gap: 18px; }
.dashboard-professional-grid .panel { min-height: 315px; border-color: #cbd2d9; border-radius: 12px; padding: 25px 27px; box-shadow: 0 10px 28px rgba(21,31,48,.04); }
.dashboard-professional-grid .panel-heading { margin-bottom: 21px; align-items: center; }
.dashboard-professional-grid .panel-heading h2 { margin-top: 3px; font-size: 17px; }
.dashboard-professional-grid .panel-heading > div > p:last-child:not(.eyebrow) { max-width: 390px; margin: 7px 0 0; color: #8a929d; font-size: 8px; line-height: 1.5; }
.dashboard-professional-grid .panel-count { border-radius: 6px; background: #eef0f2; }
.dashboard-priorities { display: flex; flex-direction: column; min-height: 0; }
.dashboard-priorities .panel-heading { flex: 0 0 auto; }
.dashboard-priorities .dashboard-action-list {
  max-height: 258px;
  min-height: 0;
  border-top: 1px solid #e7eaed;
  padding-right: 5px;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  scrollbar-width: thin;
  scrollbar-color: #aeb7c1 transparent;
}
.dashboard-priorities .dashboard-action-list::-webkit-scrollbar { width: 7px; }
.dashboard-priorities .dashboard-action-list::-webkit-scrollbar-thumb { border-radius: 99px; background: #aeb7c1; }
.dashboard-priorities .dashboard-action-list:focus-visible { outline: 2px solid rgba(47,113,91,.24); outline-offset: 3px; }
.dashboard-action-list button { min-height: 67px; border-color: #e7eaed; padding: 14px 2px; grid-template-columns: auto minmax(0, 1fr) auto; }
.dashboard-action-list button:last-child { border-bottom: 0; }
.dashboard-action-list button:hover { background: #f7f8f9; }
.dashboard-action-list button strong { color: #293547; font-size: 10px; }
.dashboard-action-list button small { color: #858d98; font-size: 8px; line-height: 1.5; }
.dashboard-action-list button em { display: none; }
.dashboard-action-list button b { padding-right: 5px; color: #687281; font-size: 11px; }
.dashboard-clear-state { min-height: 190px; display: flex; align-items: center; justify-content: center; gap: 14px; color: #384557; }
.dashboard-clear-state > span { width: 34px; height: 34px; flex: 0 0 auto; border: 1px solid #cfe1da; border-radius: 50%; display: grid; place-items: center; color: #34705c; font-size: 11px; }
.dashboard-clear-state strong { font-size: 11px; }
.dashboard-clear-state p { margin: 5px 0 0; color: #858d98; font-size: 8px; }
.dashboard-stay-overview { min-height: 205px; display: flex; flex-direction: column; justify-content: center; }
.dashboard-stay-status { margin-bottom: 14px; display: flex; align-items: center; gap: 7px; color: #6c7581; font-size: 8px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.dashboard-stay-status i { width: 6px; height: 6px; border-radius: 50%; background: #3d866d; }
.dashboard-stay-overview > strong { color: #162238; font-size: 18px; }
.dashboard-stay-overview dl { margin: 20px 0; border-block: 1px solid #e7eaed; display: grid; grid-template-columns: 1fr 1fr; }
.dashboard-stay-overview dl > div { padding: 13px 0; }
.dashboard-stay-overview dl > div + div { border-left: 1px solid #e7eaed; padding-left: 17px; }
.dashboard-stay-overview dt { color: #9299a3; font-size: 7px; text-transform: uppercase; letter-spacing: .08em; }
.dashboard-stay-overview dd { margin: 4px 0 0; color: #354153; font-size: 9px; font-weight: 760; }
.dashboard-stay-overview > button, .dashboard-stay-empty button { width: max-content; border: 0; padding: 0; background: transparent; color: #1f5f4c; font-size: 9px; font-weight: 800; }
.dashboard-stay-empty { min-height: 205px; display: grid; place-content: center; justify-items: center; text-align: center; }
.dashboard-stay-empty p { max-width: 260px; margin: 0 0 14px; color: #7b8490; font-size: 9px; line-height: 1.6; }
.dashboard-tool-guide { margin-top: 18px; border: 1px solid #cbd2d9; border-radius: 12px; background: #fff; box-shadow: 0 10px 28px rgba(21,31,48,.035); }
.dashboard-tool-guide > summary { min-height: 67px; padding: 14px 20px; display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 13px; cursor: pointer; list-style: none; }
.dashboard-tool-guide > summary::-webkit-details-marker { display: none; }
.dashboard-tool-guide > summary > span { width: 32px; height: 32px; border-radius: 8px; display: grid; place-items: center; background: #eef1f3; color: #344153; }
.dashboard-tool-guide > summary .ui-icon { width: 15px; }
.dashboard-tool-guide > summary strong, .dashboard-tool-guide > summary small { display: block; }
.dashboard-tool-guide > summary strong { color: #273446; font-size: 10px; }
.dashboard-tool-guide > summary small { margin-top: 4px; color: #9097a1; font-size: 8px; }
.dashboard-tool-guide > summary > b { color: #7c8490; font-size: 15px; font-weight: 500; transition: transform .2s ease; }
.dashboard-tool-guide[open] > summary > b { transform: rotate(45deg); }
.dashboard-tool-guide-grid { border-top: 1px solid #e7eaed; padding: 8px 20px 18px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 28px; }
.dashboard-tool-guide-grid button { min-width: 0; border: 0; border-bottom: 1px solid #edf0f2; padding: 15px 2px; display: grid; grid-template-columns: 105px minmax(0,1fr) auto; align-items: center; gap: 14px; background: transparent; text-align: left; cursor: pointer; }
.dashboard-tool-guide-grid button:hover { background: #f8f9fa; }
.dashboard-tool-guide-grid strong { color: #2d394b; font-size: 9px; }
.dashboard-tool-guide-grid span { color: #808894; font-size: 8px; line-height: 1.5; }
.dashboard-tool-guide-grid b { color: #76808d; font-size: 10px; }
.property-settings { margin-top: 24px; border-top: 1px solid #e2e5e8; color: #8a929c; }
.property-settings > summary { width: max-content; padding: 16px 0 5px; font-size: 8px; font-weight: 760; cursor: pointer; }
.property-settings .property-danger-zone { margin-top: 7px; }

@media (max-width: 1050px) {
  .owner-shell { grid-template-columns: 210px minmax(0,1fr); }
  .workspace-view { padding-inline: 28px; }
  .dashboard-overview { grid-template-columns: 1fr; }
  .dashboard-readiness { min-height: 240px; border-right: 0; border-bottom: 1px solid #e7eaed; }
  .dashboard-essential-stats { grid-template-columns: repeat(3, 1fr); }
  .dashboard-essential-stat { min-height: 100px; border-right: 1px solid #e7eaed; border-bottom: 0; }
  .dashboard-essential-stat:last-child { border-right: 0; }
  .dashboard-essential-stat > div { align-items: flex-start; flex-direction: column; gap: 6px; }
  .dashboard-essential-stat span, .dashboard-essential-stat small { text-align: left; }
}

@media (max-width: 820px) {
  .owner-shell { grid-template-columns: 1fr; }
  .owner-sidebar { width: 235px; }
  .dashboard-professional-grid { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
  .workspace-view { padding: 25px 14px 40px; }
  .dashboard-heading { gap: 18px; }
  .dashboard-heading h1 { font-size: 1.9rem; }
  .dashboard-heading-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .dashboard-readiness { min-height: 0; padding: 27px 20px; }
  .dashboard-readiness h2 { font-size: 1.4rem; }
  .dashboard-progress-meta { align-items: flex-start; flex-direction: column; gap: 10px; }
  .dashboard-essential-stats { grid-template-columns: 1fr; }
  .dashboard-essential-stat { min-height: 77px; border-right: 0; border-bottom: 1px solid #e7eaed; }
  .dashboard-essential-stat:last-child { border-bottom: 0; }
  .dashboard-essential-stat > div { align-items: baseline; flex-direction: row; }
  .dashboard-essential-stat span, .dashboard-essential-stat small { text-align: right; }
  .dashboard-professional-grid .panel { min-height: 0; padding: 21px 18px; }
  .dashboard-tool-guide-grid { grid-template-columns: 1fr; }
  .dashboard-tool-guide-grid button { grid-template-columns: 90px minmax(0,1fr) auto; }
  .dashboard-stay-overview dl { grid-template-columns: 1fr; }
  .dashboard-stay-overview dl > div + div { border-top: 1px solid #e7eaed; border-left: 0; padding-left: 0; }
  .property-danger-zone { align-items: flex-start; flex-direction: column; }
}

/* Memory training center: owner-controlled AI actions and batch authoring. */
.memory-heading { align-items: flex-end; }
.memory-heading h1 { max-width: 760px; }
.memory-heading > div > p:last-child { max-width: 720px; }
.memory-status-strip { margin-bottom: 18px; border: 1px solid #e1e5e9; border-radius: 12px; display: grid; grid-template-columns: repeat(3,1fr); overflow: hidden; background: #fff; }
.memory-status-strip article { min-width: 0; padding: 17px 20px; display: flex; align-items: center; gap: 13px; }
.memory-status-strip article + article { border-left: 1px solid #e7eaed; }
.memory-status-strip strong { color: #152238; font-size: 22px; line-height: 1; }
.memory-status-strip span, .memory-status-strip small { display: block; }
.memory-status-strip span { color: #4e5969; font-size: 9px; font-weight: 780; }
.memory-status-strip small { margin-top: 4px; color: #9198a2; font-size: 7px; font-weight: 560; line-height: 1.4; }
.memory-command-center { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(285px,.62fr); align-items: start; gap: 18px; }
.memory-command-center .panel { border-radius: 12px; box-shadow: none; }
.memory-copilot { min-height: 660px; border-color: #d9d5e7 !important; padding: 0; overflow: hidden; position: relative; display: flex; flex-direction: column; background: #fff; box-shadow: 0 18px 46px rgba(48,43,73,.08) !important; }
.memory-copilot::before { content: ""; height: 3px; position: absolute; z-index: 3; inset: 0 0 auto; background: linear-gradient(90deg,#7055c5,#4a8b79 58%,#79a995); }
.memory-copilot-head { border-bottom: 1px solid rgba(79,73,113,.12); padding: 27px 26px 23px; position: relative; overflow: hidden; display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: start; gap: 14px; background: linear-gradient(125deg,#f0ebfb 0%,#eef2f8 48%,#e5f1eb 100%); }
.memory-copilot-head::after { content: ""; width: 260px; height: 260px; position: absolute; right: 8%; bottom: -225px; border-radius: 50%; background: rgba(112,85,197,.22); filter: blur(34px); pointer-events: none; }
.memory-copilot-head > * { position: relative; z-index: 1; }
.memory-copilot-logo { width: 43px; height: 43px; border: 1px solid rgba(24,34,53,.08); border-radius: 12px; display: grid; place-items: center; overflow: hidden; background: #fff; }
.memory-copilot-logo img, .memory-copilot-logo svg { width: 31px; height: 31px; object-fit: contain; }
.memory-copilot-head .eyebrow { color: #5e4b9b; }
.memory-copilot-head h2 { margin: 5px 0 9px; color: #172238; font-size: 21px; letter-spacing: -.025em; }
.memory-copilot-head > div > p:last-child { max-width: 630px; margin: 0; color: #6f7885; font-size: 9px; line-height: 1.6; }
.memory-copilot-head > div > p strong { color: #364356; }
.memory-live { border-radius: 999px; padding: 7px 9px; display: flex; align-items: center; gap: 6px; background: #e5f0eb; color: #34705c; font-size: 7px; font-weight: 820; white-space: nowrap; }
.memory-live i { width: 6px; height: 6px; border-radius: 50%; background: #3d866d; }
.memory-copilot-suggestions { border-bottom: 1px solid #edf0f2; padding: 11px 20px; display: flex; gap: 7px; overflow-x: auto; background: #fff; }
.memory-copilot-suggestions button { flex: 0 0 auto; border: 1px solid #dfe3e7; border-radius: 999px; padding: 7px 10px; background: #fafbfb; color: #647080; font-size: 8px; font-weight: 720; }
.memory-copilot-suggestions button:hover { border-color: #aebcb7; color: #245a49; }
.memory-copilot-messages { min-height: 340px; max-height: 500px; flex: 1 1 auto; padding: 22px 24px; display: flex; flex-direction: column; gap: 15px; overflow-y: auto; background: #fbfbfa; scrollbar-gutter: stable; }
.memory-copilot-welcome { max-width: 580px; margin: auto; display: flex; align-items: flex-start; gap: 13px; }
.memory-copilot-welcome > span { width: 37px; height: 37px; flex: 0 0 auto; border-radius: 11px; display: grid; place-items: center; background: #e8e2f7; color: #6f55b5; }
.memory-copilot-welcome strong { color: #283548; font-size: 11px; }
.memory-copilot-welcome p { margin: 6px 0 0; color: #7e8793; font-size: 9px; line-height: 1.65; }
.memory-chat-message { display: flex; align-items: flex-start; gap: 9px; }
.memory-chat-message.is-owner { justify-content: flex-end; }
.memory-chat-message.is-owner > p { max-width: 78%; margin: 0; border-radius: 14px 14px 4px 14px; padding: 11px 13px; background: #172238; color: #fff; font-size: 10px; line-height: 1.55; white-space: pre-wrap; }
.memory-chat-message.is-assistant > span { width: 29px; height: 29px; flex: 0 0 auto; border: 1px solid #e2e5e8; border-radius: 9px; display: grid; place-items: center; overflow: hidden; background: #fff; }
.memory-chat-message.is-assistant > span img, .memory-chat-message.is-assistant > span svg { width: 21px; height: 21px; object-fit: contain; }
.memory-chat-message.is-assistant > div { width: min(100%,720px); }
.memory-assistant-copy { border: 1px solid #e2e6e9; border-radius: 4px 14px 14px 14px; padding: 12px 14px; background: #fff; color: #3e4a5b; font-size: 10px; line-height: 1.65; }
.memory-assistant-copy p { margin: 0 0 8px; }
.memory-assistant-copy p:last-child { margin-bottom: 0; }
.memory-action-group { margin-top: 9px; border: 1px solid #dfe4e7; border-radius: 12px; overflow: hidden; background: #fff; }
.memory-action-group-head { padding: 10px 12px; display: flex; justify-content: space-between; gap: 12px; background: #f2f4f5; }
.memory-action-group-head strong { font-size: 9px; }
.memory-action-group-head small { color: #858e99; font-size: 7px; }
.memory-action-card { border-top: 1px solid #e8ebed; padding: 12px; display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 15px; }
.memory-action-card > div > span { margin-bottom: 5px; border-radius: 999px; padding: 3px 6px; display: inline-block; background: #e9edf0; color: #697484; font-size: 6px; font-weight: 850; text-transform: uppercase; letter-spacing: .08em; }
.memory-action-card.is-add > div > span { background: #e2f1ea; color: #32705a; }
.memory-action-card.is-update > div > span { background: #ece7f7; color: #6b54a8; }
.memory-action-card.is-delete > div > span { background: #f7e7e3; color: #9b493c; }
.memory-action-card strong { display: block; color: #303c4e; font-size: 9px; }
.memory-action-card p { margin: 4px 0 0; color: #747e8b; font-size: 8px; line-height: 1.5; }
.memory-action-card small { margin-top: 6px; display: block; color: #969ca5; font-size: 7px; }
.memory-action-card > button { border: 1px solid #d9dee2; border-radius: 8px; padding: 8px 10px; background: #fff; color: #2b5f4e; font-size: 7px; font-weight: 820; white-space: nowrap; }
.memory-action-card > button:hover { background: #edf4f1; }
.memory-action-card > button:disabled { color: #9198a2; background: #f0f1f2; }
.memory-copilot-thinking { align-self: flex-start; display: flex; align-items: center; gap: 9px; color: #7b8591; font-size: 8px; }
.memory-copilot-thinking i { width: 14px; height: 14px; border: 2px solid #d7dce0; border-top-color: #3d866d; border-radius: 50%; animation: spin .8s linear infinite; }
.memory-copilot-composer { width: auto; max-width: none; margin: 12px 18px 7px; border: 1px solid #dce1e4; border-radius: 13px; padding: 7px; display: flex; align-self: stretch; align-items: flex-end; gap: 7px; overflow: hidden; background: #fff; }
.memory-copilot-composer textarea { width: auto; min-width: 0; min-height: 45px; max-height: 120px; flex: 1 1 0; border: 0; padding: 9px; resize: vertical; background: transparent; font-size: 10px; }
.memory-copilot-file-input { width: 1px; height: 1px; position: absolute; overflow: hidden; opacity: 0; pointer-events: none; }
.memory-copilot-composer button { width: 39px; height: 39px; flex: 0 0 auto; border-radius: 10px; display: grid; place-items: center; }
.memory-copilot-composer button .ui-icon { width: 18px; height: 18px; }
.memory-copilot-composer .memory-composer-tool { border: 1px solid #e1dced; background: #f3f0fa; color: #6951ac; }
.memory-copilot-composer .memory-composer-tool:hover { border-color: #bdb2d9; background: #ebe5f7; }
.memory-copilot-composer .memory-composer-tool.is-listening { border-color: #b84d62; background: #f9e8ec; color: #a63e53; box-shadow: 0 0 0 4px rgba(184,77,98,.09); }
.memory-copilot-composer .memory-composer-tool.is-uploading { border-color: #82aa9c; background: #e8f2ee; color: #2d705a; pointer-events: none; }
.memory-composer-tool > span { width: 1px; height: 1px; position: absolute; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.memory-copilot-composer .memory-composer-send { border: 0; background: #172238; color: #fff; }
.memory-copilot-composer .memory-composer-send:hover { background: #24334b; }
.memory-copilot-upload-status { max-height: 145px; margin: 0 18px 8px; overflow-y: auto; }
.memory-copilot-trust { margin: 0 20px 16px; display: flex; align-items: center; gap: 6px; color: #8b929d; font-size: 7px; line-height: 1.45; }
.memory-copilot-trust .ui-icon { width: 12px; color: #4b7868; }
.memory-sources { display: grid; gap: 18px; }
.memory-source-panel, .memory-review-panel { border-color: #e1e5e9; }
.memory-review-panel .panel-heading > div > p:last-child { max-width: 250px; margin: 6px 0 0; color: #8a929c; font-size: 7px; line-height: 1.45; }
.memory-library { margin-top: 18px; border-radius: 12px; box-shadow: none; }
.memory-library-head { margin-bottom: 18px; display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; }
.memory-library-head h2 { margin: 4px 0 6px; font-size: 18px; }
.memory-library-head > div:first-child > p:last-child { margin: 0; color: #808995; font-size: 8px; }
.memory-library-head .knowledge-toolbar { min-width: min(100%,460px); margin: 0; }
.memory-library .knowledge-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.memory-library .soft-empty { grid-column: 1 / -1; }
.knowledge-batch-dialog { width: min(calc(100% - 28px),900px); max-height: min(900px,calc(100dvh - 28px)); padding: 0; overflow: hidden; }
.knowledge-batch-dialog > form { max-height: calc(100dvh - 28px); padding: 25px; overflow-y: auto; }
.knowledge-batch-dialog .dialog-heading p:last-child { margin: 6px 0 0; color: #7c8592; font-size: 9px; }
.knowledge-entry-list { display: grid; gap: 12px; }
.knowledge-entry-item { min-width: 0; border: 1px solid #dfe3e6; border-radius: 14px; padding: 17px; position: relative; display: grid; gap: 12px; background: #fbfbfa; }
.knowledge-entry-item legend { padding: 0 7px; color: #566171; font-size: 8px; font-weight: 840; text-transform: uppercase; letter-spacing: .08em; }
.knowledge-entry-remove { width: 27px; height: 27px; position: absolute; top: 8px; right: 10px; border: 0; border-radius: 8px; background: transparent; color: #9a5a50; font-size: 16px; }
.knowledge-entry-remove:hover { background: #f7e7e3; }
.knowledge-add-row { border: 1px dashed #b7c2bd; border-radius: 11px; padding: 12px; background: #f7faf8; color: #34705c; font-size: 9px; font-weight: 800; }
.knowledge-batch-footer { border-top: 1px solid #e5e8ea; padding-top: 16px; display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.knowledge-batch-footer p { margin: 0; display: flex; align-items: center; gap: 7px; color: #818a95; font-size: 8px; }
.knowledge-batch-footer .ui-icon { width: 14px; color: #3d7863; }
.stay-table-row { grid-template-columns: 38px minmax(0,1fr) auto 40px 112px 132px; }
.stay-row-actions { display: flex; justify-content: flex-end; gap: 4px; }
.stay-row-actions button { border: 0; border-radius: 7px; padding: 6px 7px; background: #eef0f2; color: #687281; font-size: 7px; font-weight: 760; }
.stay-row-actions button.is-delete { background: #f7e8e5; color: #9b493c; }

@media (max-width: 1080px) {
  .memory-command-center { grid-template-columns: 1fr; }
  .memory-sources { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 760px) {
  .memory-status-strip { grid-template-columns: 1fr; }
  .memory-status-strip article + article { border-top: 1px solid #e7eaed; border-left: 0; }
  .memory-copilot-head { grid-template-columns: auto minmax(0,1fr); padding: 20px 17px; }
  .memory-live { grid-column: 2; width: max-content; }
  .memory-copilot-messages { padding: 18px 14px; }
  .memory-sources { grid-template-columns: 1fr; }
  .memory-library-head { align-items: stretch; flex-direction: column; }
  .memory-library-head .knowledge-toolbar { min-width: 0; }
  .memory-library .knowledge-list { grid-template-columns: 1fr; }
  .knowledge-batch-footer { align-items: stretch; flex-direction: column; }
  .stay-table-row { grid-template-columns: 38px minmax(0,1fr) auto; }
  .stay-table-row > small { display: none; }
  .stay-table-row .stay-link-button, .stay-row-actions { grid-column: 2 / -1; justify-self: start; }
  .stay-row-actions { display: flex; }
}

@media (max-width: 560px) {
  .guest-share-dialog, .guest-history-dialog {
    width: calc(100vw - 18px);
    max-height: calc(100dvh - 18px);
    padding: 17px;
    border-radius: 17px;
  }
  .guest-share-dialog .dialog-heading h2,
  .guest-history-dialog .dialog-heading h2 { font-size: 19px; }
  .guest-share-dialog > button:not(.icon-button) { padding: 12px; }
  .guest-history-actions { display: grid; grid-template-columns: 1fr; }
  .guest-history-actions .button { width: 100%; }
}

/* Dashboard finishing pass: restrained color, clearer actions and denser typography. */
.dashboard-heading-actions { flex-wrap: wrap; justify-content: flex-end; }
.dashboard-icon-action { width: 40px; height: 40px; flex: 0 0 40px; border: 1px solid #c8d0d8; border-radius: 12px; display: grid; place-items: center; background: linear-gradient(180deg,#fff,#f7f9fa); color: #445267; box-shadow: 0 5px 14px rgba(19,30,48,.055); cursor: pointer; transition: border-color .18s ease, background .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease; }
.dashboard-icon-action .ui-icon { width: 19px; height: 19px; stroke-width: 1.75; }
.dashboard-icon-action:hover { border-color: #9eabb7; background: #fff; color: #162338; box-shadow: 0 8px 20px rgba(19,30,48,.09); transform: translateY(-1px); }
.dashboard-icon-action.is-danger { border-color: #ddc8c4; background: linear-gradient(180deg,#fff,#fcf7f6); color: #994d43; }
.dashboard-icon-action.is-danger:hover { border-color: #c9958c; background: #fff5f3; color: #843a32; }
.owner-body .panel,
.owner-body .metric-card,
.owner-body .management-grid,
.owner-body .memory-status-strip,
.owner-body .memory-library-drawer,
.owner-body .connector-strategy,
.owner-body .connector-live,
.owner-body .connector-setup-card,
.owner-body .existing-accounts,
.owner-body .full-calendar { border-color: #cbd2d9; }
.gap-attachment { min-height: 76px; border: 1px dashed #aeb9c4; border-radius: 14px; padding: 13px 15px; display: grid !important; grid-template-columns: 36px minmax(0,1fr); align-items: center; gap: 11px; position: relative; background: #f7f9fa; cursor: pointer; }
.gap-attachment > span { width: 36px; height: 36px; border-radius: 10px; display: grid; place-items: center; background: #e6efeb; color: #286b5b; }
.gap-attachment .ui-icon { width: 17px; }
.gap-attachment strong, .gap-attachment small { display: block; }
.gap-attachment strong { color: #263448; font-size: 10px; }
.gap-attachment small { margin-top: 4px; color: #7d8794; font-size: 8px; line-height: 1.45; }
.gap-attachment input { width: 1px; height: 1px; position: absolute; overflow: hidden; opacity: 0; pointer-events: none; }
.gap-file-status:empty { display: none; }
.dashboard-test-button, .memory-test-button { border: 1px solid #cfc4e8; background: linear-gradient(135deg,#f4f0fb,#eef4f1); color: #503b8f; box-shadow: 0 5px 16px rgba(77,59,133,.08) !important; }
.dashboard-test-button:hover, .memory-test-button:hover { border-color: #a999d0; background: linear-gradient(135deg,#eee7fa,#e8f1ed); transform: translateY(-1px); }
.dashboard-test-button .ui-icon, .memory-test-button .ui-icon { width: 14px; height: 14px; }
.dashboard-help-dialog { width: min(calc(100% - 28px),850px); max-height: calc(100dvh - 28px); padding: 26px; overflow-y: auto; }
.dashboard-help-dialog .dialog-heading p:last-child { max-width: 600px; margin: 7px 0 0; color: #76808d; font-size: 10px; line-height: 1.55; }
.dashboard-help-intro { margin: 18px 0 4px; border: 1px solid #dfe5e2; border-radius: 11px; padding: 14px; display: flex; align-items: center; gap: 12px; background: #f5f8f7; }
.dashboard-help-intro > span { width: 34px; height: 34px; flex: 0 0 auto; border-radius: 9px; display: grid; place-items: center; background: #e3eee9; color: #2f705b; }
.dashboard-help-intro .ui-icon { width: 16px; }
.dashboard-help-intro p, .dashboard-help-intro strong, .dashboard-help-intro small { display: block; margin: 0; }
.dashboard-help-intro strong { color: #273446; font-size: 11px; }
.dashboard-help-intro small { margin-top: 3px; color: #7a8490; font-size: 9px; line-height: 1.45; }
.dashboard-help-grid { margin-bottom: 18px; border-top: 0; padding-inline: 0; }
.dashboard-help-grid strong { font-size: 10px; }
.dashboard-help-grid span { font-size: 9px; }

.owner-body .side-nav-item { font-size: 11px; }
.owner-body .side-nav-item .ui-icon { width: 16px; height: 16px; flex: 0 0 16px; }
.owner-body .workspace-heading > div > p:last-child { font-size: 11px; line-height: 1.6; }
.owner-body .panel-heading > div > p:last-child:not(.eyebrow) { font-size: 9px; }
.owner-body .dashboard-essential-stat span { font-size: 10px; }
.owner-body .dashboard-essential-stat small { font-size: 8px; line-height: 1.45; }
.owner-body .dashboard-action-list button strong { font-size: 11px; }
.owner-body .dashboard-action-list button small { font-size: 9px; }
.owner-body .dashboard-stay-overview dt { font-size: 8px; }
.owner-body .dashboard-stay-overview dd, .owner-body .dashboard-stay-status, .owner-body .dashboard-stay-overview > button, .owner-body .dashboard-stay-empty button { font-size: 10px; }
.owner-body .button .ui-icon, .owner-body button .ui-icon { flex: 0 0 auto; vertical-align: middle; }

@media (hover:hover) {
  .dashboard-overview, .dashboard-professional-grid .panel, .memory-command-center .panel, .memory-library, .question-card, .stays-layout .panel, .stay-table-panel { transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
  .dashboard-overview:hover, .dashboard-professional-grid .panel:hover, .memory-library:hover, .question-card:hover, .stays-layout .panel:hover, .stay-table-panel:hover { border-color: #cfd7dc; box-shadow: 0 11px 30px rgba(29,38,52,.055); transform: translateY(-1px); }
  .memory-copilot:hover { border-color: #c8bfdf !important; box-shadow: 0 21px 50px rgba(48,43,73,.11) !important; }
}

/* The owner test uses the same visual language and proportions as the private guest link. */
.preview-dialog { width: min(calc(100% - 24px),1120px); max-height: calc(100dvh - 24px); padding: 20px; overflow-y: auto; border-color: #d9dee3; background: #f5f4f1; }
.preview-dialog-head { margin-bottom: 14px; }
.preview-dialog-head h2 { margin: 4px 0 5px; font-size: 20px; }
.preview-dialog-head p:last-child { margin: 0; color: #77818d; font-size: 9px; }
.owner-preview-property { margin-bottom: 12px; border: 1px solid #dde2e5; border-radius: 12px; padding: 11px 14px; display: flex; align-items: center; justify-content: space-between; gap: 16px; background: #fff; }
.owner-preview-property strong, .owner-preview-property small { display: block; }
.owner-preview-property strong { color: #1c293d; font-size: 13px; }
.owner-preview-property small { margin-top: 3px; color: #7f8995; font-size: 8px; }
.owner-preview-property > span { display: flex; align-items: center; gap: 7px; color: #546170; font-size: 8px; font-weight: 800; }
.owner-preview-property-logo { width: 28px; height: 28px; object-fit: contain; }
.owner-preview-dashboard { min-height: 0; grid-template-columns: 225px minmax(0,1fr); gap: 12px; }
.owner-preview-quick { border-radius: 14px; padding: 18px; }
.owner-preview-chat-panel { height: min(620px,calc(100dvh - 220px)); min-height: 500px; border-radius: 14px; box-shadow: none; }
.owner-preview-chat-panel .guest-messages { min-height: 0; }
.owner-preview-chat-panel .guest-composer {
  width: calc(100% - 28px);
  box-sizing: border-box;
  display: grid;
  grid-template-columns: minmax(0,1fr) 42px;
  align-items: end;
}
.owner-preview-chat-panel .guest-composer textarea {
  width: 100%;
  box-sizing: border-box;
  outline: 0;
  box-shadow: none;
}
.owner-preview-chat-panel .guest-composer textarea:focus { outline: 0; box-shadow: none; }
.owner-preview-chat-panel .guest-composer:focus-within {
  border-color: #91b6a9;
  box-shadow: 0 0 0 3px rgba(47,113,91,.10);
}
.guest-answer-rich > small.is-suggestion { color: #8b6559; }

/* Memory page actions and a compact drawer for large verified memories. */
.memory-heading-actions { display: flex; align-items: center; justify-content: flex-end; gap: 9px; flex-wrap: wrap; }
.memory-test-button { min-height: 38px; border-radius: 9px; padding: 8px 12px; font-size: 9px; }
.memory-library-drawer { padding: 0; overflow: hidden; }
.memory-library-summary { min-height: 92px; padding: 20px 23px; display: flex; align-items: center; justify-content: space-between; gap: 24px; list-style: none; cursor: pointer; background: #fff; }
.memory-library-summary::-webkit-details-marker { display: none; }
.memory-library-summary h2 { margin: 4px 0 6px; font-size: 18px; }
.memory-library-summary p:last-child { margin: 0; color: #7f8995; font-size: 9px; }
.memory-library-summary > span { min-width: 165px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 10px; color: #6d7785; }
.memory-library-summary > span strong { color: #172338; font-size: 20px; }
.memory-library-summary > span small { font-size: 8px; font-weight: 760; }
.memory-library-summary > span b { font-size: 15px; font-weight: 500; transition: transform .2s ease; }
.memory-library-drawer[open] .memory-library-summary > span b { transform: rotate(180deg); }
.memory-library-body { border-top: 1px solid #e6e9eb; padding: 18px 23px 23px; }
.memory-library-body .knowledge-toolbar { margin: 0 0 16px; }
.memory-library-body .knowledge-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }

.memory-source-library { margin-top: 18px; padding: 0; overflow: hidden; border-color: #d9dfe3; border-radius: 12px; box-shadow: none; }
.memory-source-summary { min-height: 92px; padding: 20px 23px; display: flex; align-items: center; justify-content: space-between; gap: 24px; list-style: none; cursor: pointer; background: linear-gradient(120deg,#fff 0%,#fafcfb 100%); }
.memory-source-summary::-webkit-details-marker { display: none; }
.memory-source-summary h2 { margin: 4px 0 6px; font-size: 18px; }
.memory-source-summary p:last-child { margin: 0; color: #7f8995; font-size: 9px; }
.memory-source-summary > span { min-width: 135px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 10px; color: #6d7785; }
.memory-source-summary > span strong { color: #172338; font-size: 20px; }
.memory-source-summary > span small { font-size: 8px; font-weight: 760; }
.memory-source-summary > span b { font-size: 15px; font-weight: 500; transition: transform .2s ease; }
.memory-source-library[open] .memory-source-summary > span b { transform: rotate(180deg); }
.source-inventory-list { border-top: 1px solid #e2e7e9; padding: 8px 23px 17px; display: grid; }
.source-inventory-row { min-width: 0; border-bottom: 1px solid #e8ebed; padding: 13px 2px; display: grid; grid-template-columns: 38px minmax(0,1fr) auto auto; align-items: center; gap: 13px; }
.source-inventory-row:last-child { border-bottom: 0; }
.source-inventory-icon { width: 36px; height: 36px; border-radius: 10px; display: grid; place-items: center; background: #eef3f1; color: #326e5b; }
.source-inventory-icon .ui-icon { width: 17px; }
.source-inventory-row > div { min-width: 0; }
.source-inventory-row > div strong { display: block; overflow: hidden; color: #1b283d; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.source-inventory-row > div small { display: block; margin-top: 4px; color: #838c98; font-size: 8px; }
.source-inventory-row > div p { margin: 5px 0 0; overflow: hidden; color: #737d8b; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.source-inventory-row > em { border-radius: 999px; padding: 5px 8px; background: #edf1ef; color: #426c5e; font-size: 7px; font-style: normal; font-weight: 800; white-space: nowrap; }
.source-inventory-row > em.source-status-failed { background: #f8e9e6; color: #9b4e42; }
.source-inventory-row > em.source-status-processing, .source-inventory-row > em.source-status-queued { background: #f6efe1; color: #8a6427; }
.source-inventory-actions { display: flex; align-items: center; justify-content: flex-end; gap: 7px; }
.source-inventory-actions > b { color: #647080; font-size: 8px; font-weight: 720; white-space: nowrap; }
.source-inventory-actions > button { border: 1px solid #d8c8c4; border-radius: 8px; padding: 6px 8px; background: #fff8f6; color: #93483d; font-size: 7px; font-weight: 800; }
.source-inventory-actions > button:hover { border-color: #b9857b; background: #fff; }
.source-inventory-empty { padding: 24px 2px 12px; display: flex; align-items: center; gap: 13px; color: #78828f; }
.source-inventory-empty > span { width: 40px; height: 40px; border-radius: 11px; display: grid; place-items: center; background: #f0f3f2; color: #557669; }
.source-inventory-empty strong { color: #263448; font-size: 10px; }
.source-inventory-empty p { margin: 4px 0 0; font-size: 8px; }

/* A quieter, more operational property-creation entry page. */
.onboarding-entry-shell { background: #f4f5f6; }
.onboarding-entry { padding-block: 44px 60px; }
.entry-intro { max-width: 820px; }
.entry-intro h1 { max-width: 760px; font-size: clamp(2rem,3.4vw,2.9rem); line-height: 1.08; }
.entry-intro > p:last-child { max-width: 710px; font-size: 12px; line-height: 1.65; }
.entry-choice-grid { gap: 14px; }
.entry-choice-card { min-height: 305px; border-radius: 15px; padding: 25px; grid-template-columns: 47px 1fr; gap: 17px; background: #fff; box-shadow: 0 10px 30px rgba(27,36,50,.045); }
.entry-choice-card:hover { transform: translateY(-2px); box-shadow: 0 15px 38px rgba(27,36,50,.075); }
.entry-choice-card.is-import { border-color: #d9d3e7; background: linear-gradient(140deg,#fff 0%,#f5f2fa 100%); color: var(--navy); }
.entry-choice-number, .entry-choice-card.is-import .entry-choice-number { color: #8a929d; }
.entry-choice-icon { width: 47px; height: 47px; border-radius: 11px; }
.entry-choice-card.is-import .entry-choice-icon { background: #e9e3f6; color: #6049a7; }
.entry-choice-card small, .entry-choice-card.is-import small, .entry-choice-card.is-import p { color: #727d8b; }
.entry-choice-card strong { margin: 14px 0 10px; font-size: 21px; line-height: 1.15; letter-spacing: -.025em; }
.entry-choice-card p { font-size: 11px; line-height: 1.65; }
.entry-choice-card em { padding-top: 22px; font-size: 9px; }
.entry-choice-benefits { margin-top: 16px; display: flex !important; flex-wrap: wrap; gap: 6px; }
.entry-choice-benefits i { border: 1px solid #e0e4e7; border-radius: 999px; padding: 5px 7px; background: rgba(255,255,255,.72); color: #687382; font-size: 7px; font-style: normal; font-weight: 760; }

@media (max-width: 820px) {
  .owner-preview-dashboard { grid-template-columns: 1fr; }
  .owner-preview-quick { display: none; }
  .owner-preview-chat-panel { height: min(620px,calc(100dvh - 185px)); }
}

@media (max-width: 760px) {
  .memory-heading { align-items: stretch; }
  .memory-heading-actions { justify-content: flex-start; }
  .memory-library-summary { align-items: flex-start; flex-direction: column; gap: 13px; }
  .memory-library-summary > span { width: 100%; min-width: 0; }
  .memory-library-body .knowledge-list { grid-template-columns: 1fr; }
  .memory-source-summary { align-items: flex-start; flex-direction: column; gap: 13px; }
  .memory-source-summary > span { width: 100%; min-width: 0; }
  .source-inventory-row { grid-template-columns: 38px minmax(0,1fr) auto; }
  .source-inventory-actions { grid-column: 2 / -1; justify-content: flex-start; }
}

@media (max-width: 560px) {
  .dashboard-heading-actions { grid-template-columns: 40px 40px 1fr; }
  .dashboard-heading-actions .dashboard-test-button { grid-column: 1 / -1; }
  .preview-dialog { width: calc(100vw - 12px); max-height: calc(100dvh - 12px); padding: 12px; }
  .preview-dialog-head h2 { font-size: 17px; }
  .owner-preview-property { display: none; }
  .owner-preview-chat-panel { height: calc(100dvh - 120px); min-height: 430px; }
  .entry-choice-card { min-height: 0; }
}

/* Readability pass: keep the layouts compact while making operational copy easier to scan. */
.auth-logo-badge { margin-bottom: 18px; transform: translateY(-4px); }
.auth-panel-logo { margin-bottom: 40px; }
.auth-panel-mark { margin-right: -2px; transform: translateY(-3px); }

.owner-body .workspace-view p { font-size: 11px; }
.owner-body .workspace-view small { font-size: 9px; line-height: 1.45; }
.owner-body .workspace-view label { font-size: 11px; }
.owner-body .workspace-view input,
.owner-body .workspace-view select,
.owner-body .workspace-view textarea { font-size: 11px; }
.owner-body .workspace-view .eyebrow { font-size: 9px; }
.owner-body .workspace-view .button,
.owner-body .workspace-view .text-button { font-size: 10px; }

/* KanAI signature capture: desktop handoff and guided mobile walkthrough. */
.entry-choice-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.entry-choice-card.is-walkthrough { border-color: #b8cfc7; background: linear-gradient(145deg,#fbfefd,#eef6f3); }
.entry-choice-card.is-walkthrough .entry-choice-icon { background: #dfeee9; color: #246e5b; }
.walkthrough-handoff-shell { min-height: 100vh; background: radial-gradient(circle at 85% 20%,rgba(198,231,220,.58),transparent 30%),#f4f5f6; }
.walkthrough-handoff { width: min(calc(100% - 48px),1120px); margin: 0 auto; padding: 44px 0 80px; }
.walkthrough-intro { max-width: 820px; margin-bottom: 34px; }
.walkthrough-intro h1 { max-width: 780px; margin: 12px 0 18px; color: var(--navy); font-size: clamp(2.2rem,4vw,3.8rem); line-height: 1.02; letter-spacing: -.055em; }
.walkthrough-intro > p:last-child { max-width: 720px; color: var(--text-soft); font-size: 13px; line-height: 1.7; }
.walkthrough-desktop-grid { display: grid; grid-template-columns: 1.08fr .92fr; gap: 18px; align-items: stretch; }
.walkthrough-start-card,.walkthrough-connection-card { border: 1px solid #ccd3d6; border-radius: 22px; padding: 30px; background: rgba(255,255,255,.9); box-shadow: 0 18px 48px rgba(20,31,45,.07); }
.walkthrough-start-card { display: grid; grid-template-columns: 75px 1fr; align-content: start; gap: 24px; }
.walkthrough-start-card > form { grid-column: 1 / -1; }
.walkthrough-start-icon { width: 70px; height: 70px; position: relative; border-radius: 20px; display: grid; place-items: center; background: #e5f0ec; color: #286f5e; }
.walkthrough-start-icon > .ui-icon { width: 34px; height: 34px; }
.walkthrough-start-icon i { width: 28px; height: 28px; position: absolute; right: -8px; bottom: -7px; border: 3px solid white; border-radius: 10px; display: grid; place-items: center; background: #6e52d9; color: white; }
.walkthrough-start-icon i .ui-icon { width: 14px; }
.walkthrough-start-card h2,.walkthrough-connection-card h2 { margin: 6px 0 9px; color: var(--navy); font-size: 24px; letter-spacing: -.035em; }
.walkthrough-start-card > div:nth-child(2) > p:last-child,.walkthrough-connection-card > p { margin: 0; color: var(--text-soft); font-size: 11px; line-height: 1.65; }
.walkthrough-start-form { display: grid; gap: 13px; }
.walkthrough-start-form label { display: grid; gap: 6px; color: var(--navy); font-size: 10px; font-weight: 800; }
.walkthrough-start-form input { min-height: 48px; border: 1px solid #d4d9dd; border-radius: 12px; padding: 0 14px; background: #fff; color: var(--navy); font: inherit; }
.walkthrough-property-ready { border: 1px solid #cce0d9; border-radius: 14px; padding: 13px; display: flex; align-items: center; gap: 11px; background: #f3f9f7; }
.walkthrough-property-ready > span { width: 35px; height: 35px; border-radius: 10px; display: grid; place-items: center; background: #dbeee7; color: #27705d; }
.walkthrough-property-ready p { margin: 0; display: grid; gap: 3px; }
.walkthrough-property-ready small { color: var(--text-soft); }
.walkthrough-sequence-list { margin-top: 18px; display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.walkthrough-sequence-list p { margin: 0; border: 1px solid #e0e4e6; border-radius: 11px; padding: 9px; display: flex; align-items: center; gap: 9px; background: #fafbfb; }
.walkthrough-sequence-list b { color: #6e52d9; font-size: 8px; }
.walkthrough-sequence-list span { display: grid; gap: 2px; }
.walkthrough-sequence-list strong { color: var(--navy); font-size: 9px; }
.walkthrough-sequence-list small { color: var(--text-soft); font-size: 7px; }
.walkthrough-analysis-proof { margin-top: 17px; border-radius: 13px; padding: 13px; display: flex; gap: 10px; background: #17243a; color: white; }
.walkthrough-analysis-proof > span { width: 34px; height: 34px; flex: 0 0 auto; border-radius: 10px; display: grid; place-items: center; background: rgba(255,255,255,.1); color: #c8b8f3; }
.walkthrough-analysis-proof p { margin: 0; display: grid; gap: 4px; }
.walkthrough-analysis-proof strong { font-size: 10px; }
.walkthrough-analysis-proof small { color: #bcc6d5; font-size: 8px; line-height: 1.5; }
.walkthrough-connection-card.is-ready { text-align: center; }
.walkthrough-qr { width: 210px; height: 210px; margin: 20px auto 12px; border: 1px solid #dce0e3; border-radius: 20px; padding: 13px; display: grid; place-items: center; background: white; }
.walkthrough-qr img { width: 100%; height: 100%; }
.walkthrough-copy-link { margin: 0 auto 18px; border: 0; display: inline-flex; align-items: center; gap: 7px; background: none; color: #2b6658; font-size: 9px; font-weight: 850; cursor: pointer; }
.walkthrough-copy-link .ui-icon { width: 14px; }
.walkthrough-live-status { border: 1px solid #d7dfdc; border-radius: 13px; padding: 13px; display: flex; align-items: center; gap: 11px; background: #f7faf9; text-align: left; }
.walkthrough-live-status > i { width: 9px; height: 9px; border-radius: 50%; background: #3ba778; box-shadow: 0 0 0 6px rgba(59,167,120,.12); }
.walkthrough-live-status p { margin: 0; display: grid; gap: 3px; }
.walkthrough-live-status strong { font-size: 10px; }
.walkthrough-live-status small,.walkthrough-expiry { color: var(--text-soft); font-size: 8px; }
.walkthrough-expiry { margin: 10px 0 15px; display: block; }

.capture-body { min-height: 100dvh; background: #f4f5f5; }
.capture-main { min-height: 100dvh; }
.capture-loading,.capture-error,.capture-complete { min-height: 100dvh; width: min(calc(100% - 34px),560px); margin: 0 auto; padding: 60px 0; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.capture-loading-logo,.capture-error-logo,.capture-complete-logo { width: 76px; height: 76px; border-radius: 22px; padding: 10px; background: white; box-shadow: 0 16px 42px rgba(21,31,44,.1); }
.capture-loading > span { width: 42px; height: 4px; margin: 25px 0 17px; border-radius: 99px; overflow: hidden; background: #dfe4e3; }
.capture-loading > span::after { content: ""; width: 50%; height: 100%; display: block; border-radius: inherit; background: #6e52d9; animation: capture-loading 1s ease-in-out infinite alternate; }
@keyframes capture-loading { to { transform: translateX(100%); } }
.capture-loading strong { color: var(--navy); font-size: 18px; }
.capture-loading small { margin-top: 6px; color: var(--text-soft); }
.capture-error h1,.capture-complete h1 { margin: 14px 0; color: var(--navy); font-size: clamp(2rem,9vw,3.2rem); letter-spacing: -.055em; }
.capture-error > p:not(.eyebrow),.capture-complete > p:not(.eyebrow) { color: var(--text-soft); line-height: 1.65; }
.mobile-capture-shell { width: min(100%,640px); margin: 0 auto; min-height: 100dvh; background: #f8f8f7; box-shadow: 0 0 70px rgba(20,29,40,.09); }
.mobile-capture-head { min-height: 72px; border-bottom: 1px solid #dfe3e3; padding: 13px 18px; display: flex; align-items: center; justify-content: space-between; gap: 12px; background: rgba(255,255,255,.96); }
.mobile-capture-head > div { display: flex; align-items: center; gap: 10px; }
.mobile-capture-head .brand { gap: 0; }
.mobile-capture-head .brand-mark { width: 32px; height: 32px; }
.mobile-capture-head .brand-word { font-size: 18px; }
.mobile-capture-head > div > span { border-left: 1px solid #dfe3e3; padding-left: 10px; color: #607083; font-size: 9px; font-weight: 800; }
.mobile-capture-head > small { max-width: 130px; overflow: hidden; color: #677485; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.mobile-capture-progress { padding: 18px; background: white; }
.mobile-capture-progress > div:first-child { display: flex; justify-content: space-between; color: #26354a; font-size: 10px; }
.mobile-capture-progress > i { height: 5px; margin: 9px 0 13px; border-radius: 99px; display: block; overflow: hidden; background: #e7eaea; }
.mobile-capture-progress > i span { height: 100%; display: block; border-radius: inherit; background: linear-gradient(90deg,#286f5e,#6e52d9); transition: width .3s ease; }
.capture-step-dots { display: flex; justify-content: space-between; }
.capture-step-dots span { width: 24px; height: 24px; border: 1px solid #d8dddf; border-radius: 50%; display: grid; place-items: center; color: #84909d; font-size: 8px; font-weight: 850; }
.capture-step-dots span.is-current { border-color: #17243a; background: #17243a; color: white; box-shadow: 0 0 0 4px rgba(23,36,58,.08); }
.capture-step-dots span.is-done { border-color: #3a8b73; background: #e1f0ea; color: #23705a; }
.capture-resume-note { display: flex; align-items: center; gap: 8px; margin: 14px 0 0; color: #246e5f; font-size: 10px; line-height: 1.45; }
.capture-resume-note .ui-icon { width: 15px; height: 15px; flex: 0 0 auto; }
.mobile-capture-card { margin: 12px; border: 1px solid #d5dadd; border-radius: 22px; padding: 22px 18px 20px; background: white; box-shadow: 0 15px 45px rgba(20,31,45,.055); }
.mobile-capture-kicker { display: flex; align-items: center; justify-content: space-between; }
.mobile-capture-kicker > span { width: 46px; height: 46px; border-radius: 14px; display: grid; place-items: center; background: #e3f0ec; color: #26715c; }
.mobile-capture-kicker > p { margin: 0; display: grid; justify-items: end; gap: 3px; }
.mobile-capture-kicker small { color: #27715e; font-size: 8px; font-weight: 850; text-transform: uppercase; letter-spacing: .08em; }
.mobile-capture-kicker strong { color: #6c7786; font-size: 9px; }
.mobile-capture-card h1 { margin: 21px 0 18px; max-width: 470px; color: var(--navy); font-size: clamp(1.75rem,8vw,2.55rem); line-height: 1.05; letter-spacing: -.05em; }
.capture-guidance { display: grid; gap: 8px; }
.capture-guidance article { border: 1px solid #e0e4e5; border-radius: 14px; padding: 12px; display: grid; grid-template-columns: 31px 1fr; gap: 10px; align-items: start; background: #fafbfb; }
.capture-guidance article > b { width: 31px; height: 31px; border-radius: 9px; display: grid; place-items: center; background: #eef0f1; color: #506074; font-size: 9px; }
.capture-guidance article.is-voice { border-color: #cec3ec; background: #f7f4fc; }
.capture-guidance article.is-voice > b { background: #e8e0f8; color: #684bc0; }
.capture-guidance article.is-voice .ui-icon { width: 15px; }
.capture-guidance p { margin: 0; display: grid; gap: 4px; }
.capture-guidance strong { color: var(--navy); font-size: 11px; }
.capture-guidance span { color: #667487; font-size: 9px; line-height: 1.55; }
.capture-live-tip { margin: 13px 0; border-radius: 14px; padding: 13px; display: flex; gap: 10px; background: #17243a; color: white; }
.capture-live-tip > i { width: 8px; height: 8px; flex: 0 0 auto; margin-top: 4px; border-radius: 50%; background: #65d3ad; box-shadow: 0 0 0 5px rgba(101,211,173,.12); }
.capture-live-tip p { margin: 0; display: grid; gap: 4px; }
.capture-live-tip strong { font-size: 10px; }
.capture-live-tip span { color: #c2ccda; font-size: 8px; line-height: 1.55; }
.capture-file-zone input { position: absolute; opacity: 0; pointer-events: none; }
.capture-file-zone > label { min-height: 88px; border: 1px dashed #7e8b96; border-radius: 15px; padding: 14px; display: flex; align-items: center; justify-content: center; gap: 12px; background: #f7f9f8; color: #203248; cursor: pointer; }
.capture-file-zone > label > .ui-icon { width: 25px; color: #2c745f; }
.capture-file-zone > label span { display: grid; gap: 4px; }
.capture-file-zone > label strong { font-size: 12px; }
.capture-file-zone > label small { color: #6d7988; font-size: 8px; }
#capture-video-preview { margin-top: 8px; border: 1px solid #cfe0da; border-radius: 13px; padding: 10px; display: grid; grid-template-columns: 32px 1fr auto; align-items: center; gap: 9px; background: #f2f8f6; }
#capture-video-preview > span { width: 32px; height: 32px; border-radius: 9px; display: grid; place-items: center; background: #dceee8; color: #2d755f; }
#capture-video-preview p { min-width: 0; margin: 0; display: grid; gap: 3px; }
#capture-video-preview strong { overflow: hidden; color: #263448; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
#capture-video-preview small { color: #687586; font-size: 7px; }
#capture-video-preview label { color: #654ab7; font-size: 8px; font-weight: 850; cursor: pointer; }
#capture-upload-button { margin-top: 13px; }
.capture-upload-progress { margin-top: 12px; }
.capture-upload-progress > div { height: 5px; border-radius: 99px; overflow: hidden; background: #e1e5e5; }
.capture-upload-progress span { width: 3%; height: 100%; display: block; border-radius: inherit; background: linear-gradient(90deg,#2d7864,#7055d8); transition: width .2s ease; }
.capture-upload-progress p { margin: 7px 0 0; color: #667486; font-size: 8px; line-height: 1.5; }
.capture-upload-progress.is-error p { color: #a2473c; }
.capture-privacy { margin-top: 13px; display: flex; align-items: center; justify-content: center; gap: 6px; color: #718091; font-size: 7px; line-height: 1.45; text-align: center; }
.capture-privacy .ui-icon { width: 12px; flex: 0 0 auto; color: #2f7965; }
.capture-complete > div { position: relative; }
.capture-complete > div > span { width: 34px; height: 34px; position: absolute; right: -10px; bottom: -7px; border: 4px solid #f4f5f5; border-radius: 50%; display: grid; place-items: center; background: #2d7b65; color: white; }
.capture-complete-summary { width: 100%; margin: 24px 0; border: 1px solid #d7dcde; border-radius: 18px; display: grid; grid-template-columns: repeat(3,1fr); overflow: hidden; background: white; }
.capture-complete-summary span { min-height: 100px; border-right: 1px solid #e0e4e5; padding: 15px 8px; display: grid; place-items: center; align-content: center; gap: 7px; }
.capture-complete-summary span:last-child { border-right: 0; }
.capture-complete-summary b { color: #26364a; font-size: 22px; }
.capture-complete-summary b .ui-icon { width: 24px; color: #2c7661; }
.capture-complete-summary small { color: #6c7888; font-size: 7px; }
.capture-final-analysis > p:not(.eyebrow) { max-width: 650px; }
.capture-final-analysis .button { width: min(100%,520px); margin: 24px auto 0; }

/* The interactive guest demo is a contained product canvas, not a full-width band. */
.demo-section { width: min(calc(100% - 48px),1440px); margin: 92px auto; border-radius: 38px; padding-block: 82px; box-shadow: 0 34px 90px rgba(12,22,40,.16); }
.demo-section > .section-shell { width: min(calc(100% - 72px),1280px); }

.walkthrough-signature { margin-top: 96px; border: 1px solid #cfd6d6; border-radius: 32px; padding: 54px; display: grid; grid-template-columns: .9fr 1.1fr; gap: 45px; align-items: center; overflow: hidden; background: linear-gradient(145deg,#fafcfb,#f1f5f3); box-shadow: 0 24px 65px rgba(22,36,48,.075); }
.walkthrough-signature-copy h2 { max-width: 610px; margin: 12px 0 18px; color: var(--navy); font-size: clamp(2rem,3.4vw,3.3rem); line-height: 1.04; letter-spacing: -.052em; }
.walkthrough-signature-copy > p:last-of-type { max-width: 570px; color: var(--text-soft); font-size: 13px; line-height: 1.7; }
.signature-flow { margin-top: 27px; display: flex; align-items: center; gap: 9px; }
.signature-flow span { display: grid; gap: 4px; }
.signature-flow b { color: #2e735f; font-size: 9px; }
.signature-flow small { color: #26374b; font-size: 8px; font-weight: 800; }
.signature-flow i { color: #a2abb4; font-style: normal; }
.walkthrough-signature-visual { min-height: 390px; position: relative; border-radius: 26px; background: radial-gradient(circle at 55% 45%,#dbece6,transparent 50%),linear-gradient(145deg,#17243a,#26334a); }
.signature-desktop,.signature-phone,.signature-memory { position: absolute; border: 1px solid rgba(255,255,255,.7); background: rgba(255,255,255,.94); box-shadow: 0 18px 50px rgba(6,14,27,.2); }
.signature-desktop { top: 48px; left: 34px; width: 210px; border-radius: 17px; padding: 15px; display: grid; grid-template-columns: 38px 1fr 58px; align-items: center; gap: 9px; }
.signature-desktop > span { width: 38px; height: 38px; border-radius: 11px; display: grid; place-items: center; background: #e5f0ec; color: #286f5e; }
.signature-desktop p,.signature-memory p { margin: 0; display: grid; gap: 3px; }
.signature-desktop strong,.signature-memory strong { color: #203047; font-size: 9px; }
.signature-desktop small,.signature-memory small { color: #6e7a89; font-size: 7px; }
.signature-qr-mini { display: grid; grid-template-columns: repeat(3,1fr); gap: 3px; }
.signature-qr-mini i { aspect-ratio: 1; background: #17243a; }
.signature-phone { top: 90px; right: 36px; width: 205px; height: 250px; border: 6px solid #0f1b2d; border-radius: 30px; padding: 18px; display: grid; align-content: center; gap: 16px; background: linear-gradient(rgba(12,26,42,.15),rgba(12,26,42,.65)),linear-gradient(135deg,#a8c9bc,#e6d4c3); color: white; }
.signature-camera { width: 48px; height: 48px; border-radius: 50%; display: grid; place-items: center; background: rgba(255,255,255,.2); backdrop-filter: blur(8px); }
.signature-phone > div { display: grid; gap: 5px; }
.signature-phone small { font-size: 7px; text-transform: uppercase; letter-spacing: .08em; }
.signature-phone strong { font-size: 13px; }
.signature-phone p { margin: 5px 0 0; font-size: 8px; }
.signature-phone p i { width: 7px; height: 7px; border-radius: 50%; display: inline-block; background: #ff7668; }
.signature-memory { left: 75px; bottom: 43px; width: 250px; border-radius: 16px; padding: 14px; display: flex; align-items: center; gap: 10px; }
.signature-memory > span { width: 38px; height: 38px; flex: 0 0 auto; border-radius: 11px; display: grid; place-items: center; background: #e9e2f7; color: #684bc0; }

@media (max-width: 980px) {
  .entry-choice-grid { grid-template-columns: 1fr; }
  .walkthrough-desktop-grid,.walkthrough-signature { grid-template-columns: 1fr; }
  .walkthrough-signature-visual { min-height: 380px; }
}

@media (max-width: 600px) {
  .walkthrough-handoff { width: min(calc(100% - 26px),1120px); padding-top: 28px; }
  .walkthrough-start-card,.walkthrough-connection-card { border-radius: 18px; padding: 20px; }
  .walkthrough-start-card { grid-template-columns: 55px 1fr; gap: 15px; }
  .walkthrough-start-icon { width: 54px; height: 54px; border-radius: 16px; }
  .walkthrough-sequence-list { grid-template-columns: 1fr; }
  .demo-section { width: calc(100% - 20px); margin: 42px auto; border-radius: 26px; padding-block: 55px; }
  .demo-section > .section-shell { width: calc(100% - 30px); }
  .walkthrough-signature { width: calc(100% - 24px); margin-top: 55px; border-radius: 24px; padding: 25px 18px; }
  .walkthrough-signature-visual { min-height: 420px; }
  .signature-desktop { top: 30px; left: 18px; right: 18px; width: auto; }
  .signature-phone { top: 128px; right: 18px; }
  .signature-memory { left: 18px; bottom: 28px; width: min(250px,calc(100% - 36px)); }
  .signature-flow { flex-wrap: wrap; }
}
.owner-body .panel-heading h2 { font-size: 18px; }
.owner-body .knowledge-row-head strong,
.owner-body .stay-table-row > div strong,
.owner-body .question-card-top h2 { font-size: 12px; }
.owner-body .knowledge-row p,
.owner-body .question-card-top p,
.owner-body .resolved-answer p { font-size: 11px; }
.owner-body .knowledge-row small,
.owner-body .stay-table-row > div small,
.owner-body .stay-table-row > small,
.owner-body .memory-toggle small { font-size: 9px; }
.owner-body .calendar-day > b,
.owner-body .calendar-head button { font-size: 10px; }
.owner-body .calendar-event { font-size: 8px; }
.owner-body .calendar-legend span,
.owner-body .stay-builder-intro,
.owner-body .calendar-import-shortcut small { font-size: 9px; }
.owner-body .calendar-import-shortcut strong { font-size: 10px; }
.owner-body .stay-link-button,
.owner-body .stay-row-actions button { font-size: 9px; }

.memory-copilot-head .eyebrow { font-size: 10px; }
.memory-copilot-head h2 { font-size: 22px; }
.memory-copilot-head > div > p:last-child { font-size: 11px; line-height: 1.65; }
.memory-live { font-size: 9px; }
.memory-copilot-suggestions button { font-size: 10px; }
.memory-copilot-welcome strong { font-size: 13px; }
.memory-copilot-welcome p { font-size: 11px; }
.memory-chat-message.is-owner > p,
.memory-assistant-copy { font-size: 11px; }
.memory-action-group-head strong { font-size: 11px; }
.memory-action-group-head small { font-size: 9px; }
.memory-action-card > div > span { font-size: 8px; }
.memory-action-card strong { font-size: 11px; }
.memory-action-card p { font-size: 10px; }
.memory-action-card small { font-size: 9px; }
.memory-action-card > button { font-size: 9px; }
.memory-copilot-thinking { font-size: 10px; }
.memory-copilot-composer textarea { font-size: 11px; }
.memory-copilot-trust { font-size: 9px; }
.memory-status-strip span { font-size: 10px; }
.memory-status-strip small { font-size: 9px; }
.memory-review-panel .panel-heading > div > p:last-child { font-size: 9px; }
.memory-library-summary p:last-child,
.memory-library-summary > span small { font-size: 9px; }
.knowledge-entry-item legend,
.knowledge-batch-footer p { font-size: 9px; }

@media (max-width: 760px) {
  .auth-logo-badge { margin-bottom: 14px; transform: translateY(-2px); }
  .auth-panel-logo { margin-bottom: 30px; }
}

/* Premium service imagery and a product-faithful public demonstration. */
.services-hero-world > img { width: 80%; max-width: 535px; }
.service-main-object { width: 76%; max-width: 495px; max-height: 495px; }
.service-journey-moment img { width: 84%; height: 84%; }

.demo-grid { grid-template-columns: minmax(380px,.78fr) minmax(610px,1.22fr); gap: 54px; }
.demo-copy > p:not(.eyebrow) { font-size: 14px; }
.demo-capabilities { max-width: 560px; margin: 24px 0 4px; display: flex; flex-wrap: wrap; gap: 7px; }
.demo-capabilities span { border: 1px solid rgba(255,255,255,.13); border-radius: 999px; padding: 7px 9px; display: inline-flex; align-items: center; gap: 6px; background: rgba(255,255,255,.055); color: #cbd4e1; font-size: 8px; font-weight: 760; }
.demo-capabilities .ui-icon { width: 13px; color: #c8b8f3; }
.demo-phone-wrap { min-height: 625px; place-items: center; }
.demo-phone-wrap::before { width: 570px; height: 500px; background: radial-gradient(circle at 48% 44%, rgba(111,82,217,.36), rgba(40,107,91,.2) 52%, transparent 73%); opacity: .75; }
.demo-product-preview { width: min(100%,720px); min-height: 585px; position: relative; z-index: 2; border: 1px solid rgba(255,255,255,.2); border-radius: 24px; overflow: hidden; background: #fbfbfc; color: #132036; box-shadow: 0 34px 90px rgba(3,9,20,.34); }
.demo-preview-head { min-height: 68px; border-bottom: 1px solid #dde2e8; padding: 11px 14px; display: flex; align-items: center; gap: 10px; background: rgba(255,255,255,.96); }
.demo-preview-logo { width: 40px; height: 40px; flex: 0 0 auto; border: 1px solid #e1e4e8; border-radius: 12px; display: grid; place-items: center; background: white; }
.demo-preview-mark { width: 31px; height: 31px; }
.demo-preview-head > div:nth-of-type(1) { min-width: 0; flex: 1; }
.demo-preview-head strong, .demo-preview-head small { display: block; }
.demo-preview-head strong { font-size: 11px; }
.demo-preview-head small { margin-top: 3px; color: #728096; font-size: 7px; }
.demo-preview-head small i { width: 6px; height: 6px; margin-right: 4px; border-radius: 50%; display: inline-block; background: #42a87e; }
.demo-preview-tools { display: flex; gap: 5px; }
.demo-preview-tools button { width: 34px; height: 34px; border: 1px solid #dfe4e9; border-radius: 10px; display: grid; place-items: center; background: #fff; color: #56647a; }
.demo-preview-tools button:hover { border-color: #9facc0; color: #15233a; }
.demo-preview-tools .ui-icon { width: 15px; }
.demo-preview-body { min-height: 515px; display: grid; grid-template-columns: 170px minmax(0,1fr); }
.demo-preview-guide { border-right: 1px solid #e1e5e9; padding: 16px 10px; display: flex; flex-direction: column; gap: 7px; background: #f4f3f6; }
.demo-preview-guide > small { margin: 0 6px 4px; color: #2b705d; font-size: 7px; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.demo-preview-guide > button { width: 100%; border: 1px solid #e0e4e8; border-radius: 12px; padding: 9px; display: grid; grid-template-columns: 25px 1fr; align-items: center; gap: 8px; background: rgba(255,255,255,.74); color: #17243a; text-align: left; }
.demo-preview-guide > button:hover, .demo-preview-guide > button.is-active { border-color: #c5ccd5; background: white; box-shadow: 0 5px 16px rgba(25,36,52,.055); }
.demo-preview-guide .ui-icon { width: 15px; color: #596b81; }
.demo-preview-guide span, .demo-preview-guide strong, .demo-preview-guide em { display: block; }
.demo-preview-guide strong { font-size: 8px; }
.demo-preview-guide em { margin-top: 2px; color: #8490a1; font-size: 6px; font-style: normal; }
.demo-preview-access { margin-top: auto; border-radius: 12px; padding: 11px; background: #16243b; color: white; }
.demo-preview-access strong, .demo-preview-access small { display: block; }
.demo-preview-access strong { font-size: 8px; }
.demo-preview-access small { margin-top: 4px; color: #aeb8c8; font-size: 6px; line-height: 1.45; }
.demo-preview-chat { min-width: 0; padding: 18px 18px 12px; display: flex; flex-direction: column; background: #fbfbfc; }
.demo-preview-chat .demo-conversation { min-height: 315px; margin: 0; overflow-y: auto; }
.demo-preview-user { max-width: 70%; margin-left: auto; border-radius: 14px 14px 4px 14px; padding: 10px 12px; background: #14233a; color: white; font-size: 9px; line-height: 1.5; }
.demo-preview-answer { max-width: 92%; margin-top: 14px; display: grid; grid-template-columns: 30px minmax(0,1fr); align-items: start; gap: 8px; }
.demo-answer-logo { width: 30px; height: 30px; border: 1px solid #e1e5e8; border-radius: 9px; display: grid; place-items: center; background: white; }
.demo-answer-mark { width: 24px; height: 24px; }
#demo-answer-bubble { border-radius: 4px 14px 14px; padding: 11px; display: flex; align-items: flex-start; gap: 6px; background: #dceee7; color: #1c5548; font-size: 9px; line-height: 1.6; white-space: pre-line; }
#demo-answer-bubble .answer-check { width: 16px; height: 16px; flex: 0 0 16px; font-size: 8px; }
#demo-media-card { width: 150px; margin: 8px 0 0; border: 1px solid #dce2e7; border-radius: 10px; overflow: hidden; background: white; }
#demo-media-card[hidden] { display: none; }
#demo-media-card img { width: 100%; height: 78px; display: block; object-fit: contain; background: #f1f2f5; }
#demo-media-card figcaption { padding: 6px 7px; color: #697588; font-size: 6px; }
#demo-source-line { margin-top: 6px; display: block; color: #738092; font-size: 6px; }
.demo-preview-suggestions { margin-top: auto; display: flex; gap: 5px; overflow-x: auto; }
.demo-preview-suggestions button { flex: 0 0 auto; border: 1px solid #dce1e6; border-radius: 999px; padding: 6px 8px; background: white; color: #5d697c; font-size: 7px; }
.demo-preview-composer { min-height: 51px; margin-top: 8px; border: 1px solid #cfd6dd; border-radius: 13px; padding: 6px 7px 6px 11px; display: flex; align-items: center; gap: 6px; background: white; color: #9aa2ad; }
.demo-preview-composer > span { min-width: 0; flex: 1; font-size: 8px; }
.demo-preview-composer button, .demo-preview-composer b { width: 34px; height: 34px; flex: 0 0 auto; border: 0; border-radius: 9px; display: grid; place-items: center; }
.demo-preview-composer button { background: #f0ebfa; color: #6f52d9; }
.demo-preview-composer b { background: #14233a; color: white; }
.demo-preview-composer .ui-icon { width: 15px; }
.demo-preview-policy { margin-top: 8px; display: flex; justify-content: center; align-items: center; gap: 5px; color: #8290a2; font-size: 6px; }
.demo-preview-policy .ui-icon { width: 11px; color: #2d7963; }
.demo-feature-note { position: absolute; z-index: 6; top: 78px; right: 14px; left: 184px; border: 1px solid #cfd6df; border-radius: 12px; padding: 10px 12px; background: rgba(255,255,255,.96); color: #344258; box-shadow: 0 14px 34px rgba(18,29,46,.14); font-size: 8px; line-height: 1.5; opacity: 0; transform: translateY(-5px); transition: .18s ease; }
.demo-feature-note.is-visible { opacity: 1; transform: none; }
.demo-phone-wrap .owner-answer-card { right: -8px; bottom: 28px; }

.import-property-fields .import-instructions { grid-column: 1 / -1; }
.import-instructions textarea { min-height: 112px; resize: vertical; line-height: 1.55; }
.import-instructions > span { margin-top: 6px; display: block; color: var(--text-soft); font-size: 8px; font-weight: 500; line-height: 1.5; }

.dashboard-heading-copy { min-width: 0; flex: 1; }
.dashboard-title-row { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.dashboard-title-row h1 { margin: 0; }
.dashboard-property-actions { display: flex; align-items: center; gap: 6px; }
.dashboard-property-actions .dashboard-icon-action { width: 36px; height: 36px; flex-basis: 36px; border-radius: 10px; }
.dashboard-property-actions .dashboard-icon-action .ui-icon { width: 17px; height: 17px; }

@media (max-width: 1050px) {
  .demo-grid { grid-template-columns: 1fr; }
  .demo-copy { max-width: 720px; }
  .demo-phone-wrap { width: min(100%,760px); margin-inline: auto; }
  .services-hero-world > img { width: min(76%,535px); }
}

@media (max-width: 820px) {
  .service-main-object { width: 73%; max-height: 455px; }
}

@media (max-width: 560px) {
  .services-hero-world > img { width: 84%; }
  .service-main-object { width: 84%; max-height: 360px; }
  .service-journey-moment img { width: 78%; height: 78%; }
  .demo-phone-wrap { min-height: 550px; }
  .demo-product-preview { min-height: 520px; border-radius: 18px; }
  .demo-preview-body { min-height: 450px; grid-template-columns: 1fr; }
  .demo-preview-guide { display: none; }
  .demo-preview-chat { padding: 14px 12px 10px; }
  .demo-preview-chat .demo-conversation { min-height: 285px; }
  .demo-preview-user { max-width: 84%; }
  .demo-feature-note { left: 12px; top: 74px; }
  .demo-phone-wrap .owner-answer-card { display: none; }
  .dashboard-heading-actions { grid-template-columns: 1fr 1fr; }
  .dashboard-heading-actions .dashboard-test-button { grid-column: auto; }
  .dashboard-property-actions .dashboard-icon-action { width: 34px; height: 34px; flex-basis: 34px; }
  .import-property-fields .import-instructions { grid-column: auto; }
}

/* Owner navigation: open by default, compact on demand. */
.owner-shell { transition: grid-template-columns .24s ease; }
.owner-sidebar { min-width: 0; position: relative; transition: padding .24s ease, width .24s ease, box-shadow .24s ease; }
.owner-sidebar > nav { padding-top: 24px; }
.sidebar-collapse-control { width: 30px; height: 30px; position: absolute; top: 12px; right: 10px; z-index: 2; border: 1px solid #dce2e6; border-radius: 9px; display: grid; place-items: center; background: rgba(255,255,255,.94); color: #627082; box-shadow: 0 4px 13px rgba(20,34,54,.06); cursor: pointer; transition: border-color .18s ease, color .18s ease, background .18s ease, transform .24s ease; }
.sidebar-collapse-control:hover { border-color: #aeb9c2; background: #fff; color: #17243a; }
.sidebar-collapse-control .ui-icon { width: 14px; height: 14px; transform: rotate(180deg); transition: transform .24s ease; }
.sidebar-help-separator { margin-top: 17px; margin-bottom: 10px; }
.sidebar-help-action { margin-bottom: 0; color: #26364d; }
.sidebar-help-action .ui-icon { color: #516077; }
.onboarding-context-back { width: 100%; margin-bottom: 20px; }

@media (min-width: 821px) {
  .owner-shell.is-sidebar-collapsed { grid-template-columns: 72px minmax(0, 1fr); }
  .owner-shell.is-sidebar-collapsed .owner-sidebar { padding-inline: 10px; }
  .owner-shell.is-sidebar-collapsed .sidebar-label,
  .owner-shell.is-sidebar-collapsed .side-nav-item > span { display: none; }
  .owner-shell.is-sidebar-collapsed .sidebar-nav-separator { margin-inline: 5px; }
  .owner-shell.is-sidebar-collapsed .side-nav-item { position: relative; justify-content: center; padding-inline: 7px; }
  .owner-shell.is-sidebar-collapsed .side-nav-item b { min-width: 16px; position: absolute; top: 3px; right: 1px; padding: 1px 4px; font-size: 7px; }
  .owner-shell.is-sidebar-collapsed .sidebar-collapse-control { right: 50%; transform: translateX(50%); }
  .owner-shell.is-sidebar-collapsed .sidebar-collapse-control .ui-icon { transform: none; }
}

@media (max-width: 820px) {
  .sidebar-collapse-control { display: none; }
  .owner-sidebar { width: 235px; min-height: 0; position: fixed; top: 70px; left: 0; bottom: 0; z-index: 60; overflow-y: auto; }
  .owner-header-status small { display: none; }
  .owner-header-status strong { font-size: 9px; }
}

/* Demo: each verified answer is paired with its exact owner-provided visual. */
#demo-media-card { width: 178px; border-color: #cfd8df; box-shadow: 0 7px 18px rgba(20,34,54,.07); }
#demo-media-card img { height: 104px; padding: 4px; object-fit: contain; background: linear-gradient(145deg,#f8f8f6,#eef1f3); }
#demo-media-card figcaption { border-top: 1px solid #e7eaed; padding: 7px 8px; color: #3f6f62; font-size: 7px; font-weight: 760; }

/* The questionnaire keeps working while plans and media are analysed. */
.onboarding-analysis-status { width: min(calc(100% - 48px),1150px); margin: 16px auto 0; border: 1px solid #d7ddd9; border-radius: 12px; padding: 11px 14px; display: flex; align-items: center; gap: 11px; background: rgba(255,255,255,.72); color: #193f36; }
.onboarding-analysis-status > span { width: 31px; height: 31px; flex: 0 0 auto; border-radius: 9px; display: grid; place-items: center; background: #e4f0eb; color: #27715d; }
.onboarding-analysis-status .ui-icon { width: 15px; }
.onboarding-analysis-status p { margin: 0; }
.onboarding-analysis-status strong, .onboarding-analysis-status small { display: block; }
.onboarding-analysis-status strong { font-size: 10px; }
.onboarding-analysis-status small { margin-top: 3px; color: #6b7680; font-size: 8px; line-height: 1.45; }
.onboarding-analysis-status + .onboarding-content { padding-top: 36px; }

/* Stay history: compact by default but fully expandable. */
#stay-table-root { margin-top: 18px; }
.stay-table-panel { margin-top: 0; padding: 0; overflow: hidden; }
.stay-table-panel > summary { list-style: none; padding: 19px 22px; display: flex; align-items: center; justify-content: space-between; gap: 18px; cursor: pointer; background: #fff; }
.stay-table-panel > summary::-webkit-details-marker { display: none; }
.stay-table-panel > summary p, .stay-table-panel > summary h2, .stay-table-panel > summary small { margin: 0; }
.stay-table-panel > summary h2 { margin-top: 3px; font-size: 18px; }
.stay-table-panel > summary small { margin-top: 4px; display: block; color: #7c8592; font-size: 8px; }
.stay-table-toggle { display: inline-flex; align-items: center; gap: 7px; color: #687485; font-size: 8px; font-weight: 750; }
.stay-table-toggle .ui-icon { width: 14px; transform: rotate(90deg); transition: transform .2s ease; }
.stay-table-panel:not([open]) .stay-table-toggle .ui-icon { transform: rotate(0deg); }
.stay-table-content { border-top: 1px solid #e2e6e9; padding: 4px 22px 18px; }
.stay-access-dialog { width: min(calc(100vw - 28px),560px); border: 1px solid #d6dde1; border-radius: 22px; padding: 24px; background: #fffefa; color: var(--navy); box-shadow: 0 28px 80px rgba(15,27,43,.22); }
.stay-access-dialog::backdrop { background: rgba(15,25,37,.38); backdrop-filter: blur(4px); }
.stay-access-dialog .dialog-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.stay-access-dialog .dialog-heading > div { min-width: 0; }
.stay-access-dialog .dialog-heading h2 { margin: 4px 0 0; font-size: 22px; line-height: 1.16; }
.stay-access-dialog .dialog-heading p:last-child { max-width: 430px; margin: 8px 0 0; color: #6f7a89; font-size: 10px; line-height: 1.55; }
.stay-access-dialog .icon-button { width: 34px; height: 34px; flex: 0 0 auto; border: 1px solid #d9dee2; border-radius: 10px; display: grid; place-items: center; background: #fff; color: #27364b; font-size: 20px; }
.stay-access-recipient { margin-top: 20px; border: 1px solid #e0e5e7; border-radius: 14px; padding: 12px; display: flex; align-items: center; gap: 11px; background: #f8f9f8; }
.stay-access-recipient > span { width: 38px; height: 38px; flex: 0 0 auto; border-radius: 11px; display: grid; place-items: center; background: #e9e3f7; color: #403664; font-size: 10px; font-weight: 840; }
.stay-access-recipient p { margin: 0; }
.stay-access-recipient strong, .stay-access-recipient small { display: block; }
.stay-access-recipient strong { font-size: 11px; }
.stay-access-recipient small { margin-top: 3px; color: #748090; font-size: 8px; }
.stay-access-dialog code { margin-top: 12px; border: 1px solid #dce2e5; border-radius: 12px; padding: 12px 13px; display: block; overflow-wrap: anywhere; background: #f2f5f4; color: #245d4d; font-family: inherit; font-size: 9px; line-height: 1.5; }
.stay-access-dialog-actions { margin-top: 13px; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
.stay-access-dialog-actions .button { min-width: 0; min-height: 42px; padding: 9px 10px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; text-align: center; text-decoration: none; font-size: 9px; }
.stay-access-dialog-actions .ui-icon { width: 15px; height: 15px; }
.stay-access-note { margin: 15px 1px 0; display: flex; align-items: flex-start; gap: 7px; color: #6e7988; font-size: 8px; line-height: 1.5; }
.stay-access-note .ui-icon { width: 14px; height: 14px; flex: 0 0 auto; color: #2b745e; }

@media (max-width: 560px) {
  #demo-media-card { width: 160px; }
  #demo-media-card img { height: 92px; }
  .onboarding-analysis-status { width: calc(100% - 28px); margin-top: 10px; }
  .stay-table-panel > summary { padding: 16px; }
  .stay-table-content { padding-inline: 14px; overflow-x: auto; }
  .stay-access-dialog { padding: 18px; border-radius: 18px; }
  .stay-access-dialog .dialog-heading h2 { font-size: 19px; }
  .stay-access-dialog-actions { grid-template-columns: 1fr; }
}

/* Password visibility control: the original authentication layout is preserved. */
.password-field { position: relative; display: block; }
.password-field input { width: 100%; padding-right: 52px !important; }
.password-field button { width: 34px; height: 34px; position: absolute; right: 9px; top: calc(50% + 3px); border: 0; border-radius: 9px; display: grid; place-items: center; transform: translateY(-50%); background: transparent; color: #6d7480; cursor: pointer; }
.password-field button:hover { background: #ece9e2; color: var(--navy); }
.password-field button .ui-icon { width: 17px; height: 17px; }
