/* Copyright (c) 2026 PC Medics AI. Proprietary demo source. All rights reserved. */
:root{--ink:#183b3a;--ink2:#294d49;--muted:#71827a;--paper:#f5f2eb;--white:#fffefa;--sage:#dce5db;--clay:#b9795b;--line:#e0e3dc;--gold:#c9a56e;font-family:Inter,'Segoe UI',Arial,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none;text-rendering:optimizeLegibility}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink)}button,a,input{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}
.demo-ribbon{height:27px;display:flex;align-items:center;justify-content:center;gap:9px;background:#183b3a;color:#e7eee7;font-size:9px;letter-spacing:.14em;font-weight:700}.ribbon-dot,.hint-dot{width:6px;height:6px;border-radius:50%;background:#9dc8a8;display:inline-block;box-shadow:0 0 0 3px #9dc8a826}.ribbon-divider{color:#87a39a}
.site-shell{overflow:hidden}.site-header{height:82px;padding:0 clamp(22px,6vw,92px);display:flex;align-items:center;justify-content:space-between;background:var(--white);position:relative;z-index:5;border-bottom:1px solid #e7e8e0}.wordmark{display:flex;align-items:center;gap:12px;min-width:240px}.wordmark-symbol{width:34px;height:34px;border:1px solid #b7c8bb;border-radius:50%;display:flex;align-items:center;justify-content:center;gap:2px;transform:rotate(-12deg)}.wordmark-symbol i{display:block;width:5px;height:13px;border:1px solid #5f8378;border-radius:100% 0 100% 0;transform:rotate(28deg)}.wordmark-symbol i:nth-child(2){height:18px}.wordmark strong{display:block;letter-spacing:.17em;font-size:12px;font-weight:700}.wordmark small{display:block;color:#87968a;font-size:8px;letter-spacing:.19em;margin-top:5px}.main-nav{display:flex;align-items:center;gap:34px;color:#687971;font-size:11px}.main-nav a:hover,.quiet-link:hover{color:var(--clay)}.header-actions{display:flex;align-items:center;gap:23px}.quiet-link{border:0;background:none;color:#536960;font-size:10px;font-weight:700}.header-cta{background:var(--ink);border:1px solid var(--ink);color:white;padding:12px 17px;border-radius:3px;font-size:10px;letter-spacing:.02em;transition:.2s}.header-cta span{padding-left:12px;color:#c5d4c9}.header-cta:hover{background:#315b55;transform:translateY(-1px)}
.hero{min-height:590px;height:min(70vw,690px);max-height:740px;position:relative;display:flex;align-items:center;padding:60px clamp(24px,10.5vw,160px);color:white;background:#294a47;isolation:isolate}.hero-image{position:absolute;z-index:-3;inset:0;background-image:url('./assets/tideline-hero.jpg');background-position:center 49%;background-size:cover;transform:scale(1.015)}.hero-shade{position:absolute;z-index:-2;inset:0;background:linear-gradient(90deg,rgba(16,40,39,.72) 0%,rgba(16,40,39,.43) 48%,rgba(16,40,39,.08) 100%),linear-gradient(0deg,rgba(9,28,29,.32),transparent 45%)}.hero-content{max-width:700px;margin-top:-3px}.overline,.section-kicker{font-size:9px;font-weight:700;letter-spacing:.19em;color:#81958a}.light-overline{color:#e1e9dd}.overline span{display:inline-block;width:28px;height:1px;background:#d8c8a7;vertical-align:middle;margin-right:10px}.hero h1,.closing-inner h2,.owner-welcome h1{font-family:'Playfair Display',Georgia,serif;font-size:clamp(43px,6.3vw,82px);font-weight:500;line-height:1.06;letter-spacing:-.035em;margin:25px 0 18px}.hero h1 em,.closing-inner h2 em,.owner-welcome h1 em{color:#e8d8ba;font-weight:500}.hero-intro{max-width:475px;color:#f0eee6d9;font-size:13px;line-height:1.85;margin:0}.hero-actions{display:flex;gap:11px;align-items:center;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:center;gap:28px;border:1px solid transparent;padding:14px 19px;border-radius:2px;font-size:10px;font-weight:700;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-light{background:#f7f3e9;color:#24443f}.button-light:hover{background:#fff}.button-glass{background:#ffffff13;border-color:#ffffff89;color:#fff;backdrop-filter:blur(8px)}.button-glass:hover{background:#ffffff28}.button span{font-size:14px}.sparkle{font-size:16px;color:#e8d8ba}.hero-caption{position:absolute;bottom:25px;left:clamp(24px,10.5vw,160px);right:clamp(24px,10.5vw,160px);display:flex;justify-content:space-between;color:#ffffffb3;font-size:8px;letter-spacing:.16em}.hero-side-note{position:absolute;right:21px;top:50%;writing-mode:vertical-rl;transform:rotate(180deg) translateY(50%);font-size:7px;letter-spacing:.2em;color:#ffffffa3}.hero-side-note span{padding:7px 0;color:#e8d8ba}
.section-wrap{max-width:1190px;margin:0 auto;padding-left:34px;padding-right:34px}.intro-section{padding-top:104px;padding-bottom:96px}.intro-grid{display:grid;grid-template-columns:1fr .8fr;gap:12%;align-items:end;margin-top:22px}.intro-grid h2,.stay-heading h2,.discover-copy h2{font-family:'Playfair Display',Georgia,serif;font-weight:500;font-size:clamp(36px,4.6vw,56px);line-height:1.13;letter-spacing:-.025em;margin:0}.intro-grid h2 em,.stay-heading h2 em,.discover-copy h2 em{font-weight:500;color:#9b7259}.intro-copy{max-width:470px;padding-bottom:6px}.intro-copy p{color:#758279;font-size:12px;line-height:1.9}.intro-copy .lead{font-family:'Playfair Display',Georgia,serif;color:#38534b;font-size:18px;line-height:1.55;margin-top:0}.text-link{display:inline-flex;gap:18px;align-items:center;color:#9b7157;font-size:10px;font-weight:700;margin-top:14px;border:0;background:none;padding:0}.text-link span{font-size:14px}.feature-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:64px;padding:23px 0;display:grid;grid-template-columns:repeat(3,1fr)}.feature-strip>div{display:grid;grid-template-columns:38px 1fr;align-items:center;column-gap:11px;padding:0 24px;border-right:1px solid var(--line)}.feature-strip>div:first-child{padding-left:0}.feature-strip>div:last-child{border:0}.feature-icon{grid-row:span 2;width:34px;height:34px;border:1px solid #c8d4ca;border-radius:50%;display:grid;place-items:center;color:#789283;font-size:17px}.feature-strip strong{font-size:10px}.feature-strip small{color:#89958c;font-size:9px;margin-top:4px}
.stay-section{background:#eaece5;padding:88px 0 92px}.stay-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:32px}.stay-heading h2{margin-top:14px}.stay-heading>p{max-width:350px;color:#758279;font-size:11px;line-height:1.8;margin:0 0 4px}.stay-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.stay-card{background:#f8f7f2;border:1px solid #e2e5dd}.stay-art{height:230px;position:relative;overflow:hidden;background:#d1ded3}.art-label{position:absolute;left:18px;top:17px;z-index:2;color:#496358;font-size:8px;letter-spacing:.17em;font-weight:700}.art-suite{background:linear-gradient(135deg,#c5d7cf,#e8e6d8 48%,#8ca99d)}.art-sun{position:absolute;width:100px;height:100px;border-radius:50%;background:#f6e4bb;right:47px;top:38px;box-shadow:0 0 0 22px #f6e4bb32}.art-horizon{position:absolute;left:-10%;right:-10%;height:82px;bottom:0;background:#76988a;transform:rotate(-7deg);border-radius:50% 50% 0 0}.art-bed{position:absolute;width:68%;height:65px;bottom:15px;left:16%;background:#f7f3e9;border-radius:12px 12px 0 0;box-shadow:0 -14px 0 -7px #e1e8db,0 8px 20px #294d4920}.art-bed:before{content:"";position:absolute;width:43%;height:23px;top:-21px;left:7%;border-radius:8px;background:#fffdf4}.art-bed i{position:absolute;right:14%;top:15px;width:24%;height:42px;background:#d9bba0;border-radius:5px 5px 0 0}.art-terrace{background:linear-gradient(150deg,#d8e0d1 0%,#bccdbd 52%,#829b8d 100%)}.art-leaf{position:absolute;width:90px;height:190px;bottom:-35px;background:repeating-linear-gradient(18deg,transparent 0 10px,#416e5a 11px 13px,transparent 14px 23px);border-radius:100% 0 100% 0;transform:rotate(25deg);opacity:.7}.leaf-one{left:18px}.leaf-two{right:30px;transform:rotate(-15deg) scale(.8);opacity:.5}.art-table{position:absolute;bottom:36px;left:36%;width:31%;height:45px;background:#b17b5a;border-radius:50%;box-shadow:0 44px 0 -20px #765c48}.art-coast{background:linear-gradient(180deg,#d2ddd2 0%,#e7e0cd 50%,#8ca7a0 51%,#527d78 100%)}.art-coast-sun{position:absolute;right:55px;top:48px;width:70px;height:70px;border-radius:50%;background:#dfb98f}.art-wave{position:absolute;left:-10%;width:125%;height:100px;border-radius:50%;background:#739a91;bottom:-50px;transform:rotate(-8deg)}.wave-two{background:#416f6d;bottom:-80px;transform:rotate(7deg)}.stay-card-copy{display:flex;align-items:flex-start;justify-content:space-between;padding:19px 18px 21px}.stay-card-copy h3{font-family:'Playfair Display',Georgia,serif;font-weight:500;font-size:18px;margin:0 0 7px}.stay-card-copy p{margin:0;color:#849087;font-size:10px;line-height:1.55}.card-arrow{color:#a47e61;font-size:17px}
.discover-section{padding-top:93px;padding-bottom:93px}.discover-panel{display:grid;grid-template-columns:.85fr 1.15fr;background:#f9f7f1;min-height:360px;border:1px solid #e5e6df}.discover-copy{padding:55px 48px}.discover-copy h2{font-size:43px;margin:18px 0}.discover-copy p{max-width:310px;color:#7b877f;font-size:11px;line-height:1.8}.button-link{margin-top:18px}.discover-art{position:relative;overflow:hidden;background:linear-gradient(165deg,#d6e0d4 0%,#e7d9be 48%,#b6c9bd 49%,#799f98 100%)}.coast-sun{position:absolute;right:18%;top:17%;width:110px;height:110px;border-radius:50%;background:#f0d7ad;box-shadow:0 0 0 28px #f0d7ad40}.coast-cliff{position:absolute;inset:35% -10% 0 -10%;background:#9eaa8c;clip-path:polygon(0 46%,19% 17%,32% 36%,49% 5%,65% 32%,83% 12%,100% 45%,100% 100%,0 100%)}.coast-sea{position:absolute;inset:61% 0 0;background:linear-gradient(180deg,#69958b,#355f62)}.coast-foam{position:absolute;left:-10%;right:-10%;height:40px;top:62%;border-top:2px solid #edf1df;border-radius:50%;transform:rotate(-4deg)}
.closing-section{background:#1b403d;color:white;text-align:center;padding:79px 0 84px;position:relative;overflow:hidden}.closing-section:before,.closing-section:after{content:"";position:absolute;width:300px;height:300px;border:1px solid #ffffff10;border-radius:50%;top:-185px}.closing-section:before{left:-100px}.closing-section:after{right:-100px}.closing-inner{position:relative;z-index:1}.closing-inner h2{font-size:clamp(40px,5vw,63px);margin:18px 0}.closing-inner p{color:#cfdbd3;font-size:11px;line-height:1.8;margin:0 auto 25px;max-width:400px}.closing-inner .button{margin:auto}
.site-footer{min-height:110px;background:#f9f7f1;padding:24px clamp(24px,6vw,90px);display:flex;align-items:center;justify-content:space-between;gap:28px}.footer-wordmark{min-width:auto}.footer-note{font-size:9px;color:#8a958d;line-height:1.7}.footer-brand{text-align:right;font-size:8px;letter-spacing:.16em;color:#87938a;line-height:1.8}.footer-brand strong{color:#395a50;font-size:10px}
.concierge-launcher-wrap{position:fixed;z-index:30;right:27px;bottom:25px;display:flex;align-items:center;gap:13px}.launcher-hint{background:#fffefa;border:1px solid #e5e5dd;box-shadow:0 7px 28px #173b3517;border-radius:30px;padding:10px 14px;display:flex;align-items:center;gap:9px;font-size:10px;color:#52675c;transition:opacity .2s,transform .2s}.concierge-launcher{width:58px;height:58px;border:0;border-radius:50%;background:#1d4540;color:#fff;box-shadow:0 10px 30px #1d45404a;display:grid;place-items:center;transition:transform .2s,background .2s}.concierge-launcher:hover{transform:translateY(-3px);background:#2b5d55}.launcher-sparkle{font-size:25px}.launcher-close{display:none;font-size:25px}.concierge-launcher[aria-expanded="true"] .launcher-sparkle{display:none}.concierge-launcher[aria-expanded="true"] .launcher-close{display:block}
.concierge-panel{position:fixed;z-index:29;right:27px;bottom:96px;width:min(390px,calc(100vw - 28px));height:min(590px,calc(100vh - 130px));background:#fffefa;border:1px solid #e1e5dc;box-shadow:0 20px 70px #153d362e;border-radius:11px;display:flex;flex-direction:column;overflow:hidden;opacity:0;transform:translateY(12px) scale(.985);pointer-events:none;transition:opacity .22s,transform .22s}.concierge-panel.open{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}.chat-header{height:73px;flex:none;background:#1c403c;color:white;padding:0 17px;display:flex;align-items:center;gap:12px}.chat-brand-icon{width:34px;height:34px;border:1px solid #8da99c66;border-radius:50%;display:grid;place-items:center;color:#e5d7b8;font-size:18px}.chat-header-copy{display:flex;flex-direction:column;gap:5px;flex:1}.chat-header-copy strong{font-size:11px}.chat-header-copy span{font-size:9px;color:#c6d4ca}.chat-header-copy span i,.sample-status i{display:inline-block;width:6px;height:6px;background:#9dc8a8;border-radius:50%;margin-right:5px}.chat-close{width:29px;height:29px;border:0;background:#ffffff19;color:white;border-radius:50%;font-size:18px}.chat-demo-note{padding:9px 17px;background:#f1f2eb;border-bottom:1px solid #e5e7de;color:#8a968c;font-size:8px;letter-spacing:.13em;font-weight:700}.chat-demo-note span{padding:0 4px;color:#b58a68}.chat-messages{flex:1;overflow:auto;padding:17px 14px;display:flex;flex-direction:column;gap:14px;background:linear-gradient(#fffefa,#faf9f4)}.chat-row{display:flex;align-items:flex-start;gap:8px;max-width:92%}.user-row{align-self:flex-end;flex-direction:row-reverse}.chat-avatar{width:25px;height:25px;border-radius:50%;background:#e7eee5;color:#49685a;display:grid;place-items:center;font-size:12px;flex:none}.chat-bubble{background:#f0f2eb;border-radius:2px 10px 10px 10px;padding:10px 12px;color:#496057}.user-row .chat-bubble{background:#234b45;color:#fff;border-radius:10px 2px 10px 10px}.chat-time{font-size:7px;letter-spacing:.1em;color:#87958a;font-weight:700}.user-row .chat-time{color:#c7d9d0}.chat-bubble p{margin:5px 0 0;font-size:10px;line-height:1.65}.chat-suggestions{display:flex;gap:6px;flex-wrap:wrap;padding:0 14px 11px;background:#fffefa}.chat-suggestions button{border:1px solid #d6e1d6;color:#5a7767;background:#fffefa;border-radius:30px;padding:7px 9px;font-size:8px}.chat-suggestions button:hover{background:#edf2eb}.chat-compose{padding:11px 13px;border-top:1px solid #e6e8e0;display:flex;gap:8px;background:#fffefa}.chat-compose input{min-width:0;flex:1;border:1px solid #e0e5dd;border-radius:4px;padding:11px 12px;font-size:10px;background:#fafaf6;color:#27443d;outline:none}.chat-compose input:focus{border-color:#789b87}.chat-compose button{width:38px;border:0;border-radius:4px;background:#214842;color:white;font-size:17px}.chat-disclaimer{padding:0 13px 11px;text-align:center;color:#98a198;font-size:7px;background:#fffefa}
.owner-shell{min-height:100vh;background:#f0f1eb}.owner-header{height:78px;padding:0 clamp(22px,6vw,92px);background:#fffefa;border-bottom:1px solid #e0e5dd;display:flex;align-items:center;justify-content:space-between}.owner-wordmark{min-width:auto}.owner-header-right{display:flex;gap:20px;align-items:center}.sample-status{font-size:8px;letter-spacing:.12em;color:#71877b;font-weight:700}.owner-return{border:1px solid #d8e0d6;color:#526d60;background:transparent;padding:10px 13px;font-size:9px;border-radius:3px}.owner-main{max-width:1190px;margin:auto;padding:58px 34px 70px}.owner-welcome{display:flex;justify-content:space-between;align-items:end;margin-bottom:29px}.owner-welcome h1{font-size:52px;color:#1b403c;margin:16px 0}.owner-welcome h1 em{color:#a77a5d}.owner-welcome p{font-size:11px;color:#7a8a81;margin:0}.owner-date{text-align:right;font-size:8px;letter-spacing:.14em;line-height:2;color:#819086}.owner-date strong{color:#44675b}.owner-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-bottom:18px}.owner-stats article{background:#fffefa;border:1px solid #e1e5dd;padding:19px 20px;display:flex;flex-direction:column;gap:8px}.owner-stats article span{font-size:8px;letter-spacing:.12em;font-weight:700;color:#819086}.owner-stats article strong{font-family:'Playfair Display',Georgia,serif;font-size:35px;font-weight:500;color:#1f4842}.owner-stats article small{font-size:9px;color:#97a198}.owner-content-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:15px}.owner-card{background:#fffefa;border:1px solid #e1e5dd;padding:24px}.owner-card-heading{display:flex;align-items:start;justify-content:space-between;margin-bottom:14px}.owner-card h2{font-family:'Playfair Display',Georgia,serif;font-weight:500;font-size:24px;margin:11px 0 6px}.owner-card-heading p,.insight-card>p{font-size:10px;color:#87938b;line-height:1.7;margin:0}.inbox-count{border:1px solid #e3d3b9;background:#f8f2e8;color:#9a7951;border-radius:30px;font-size:8px;letter-spacing:.1em;padding:7px 10px}.inbox-row{display:flex;align-items:center;gap:11px;padding:15px 0;border-top:1px solid #edf0e9}.inbox-avatar{width:34px;height:34px;border-radius:50%;background:#e7ece4;color:#557262;display:grid;place-items:center;font-size:9px;font-weight:700;flex:none}.avatar-sage{background:#e1e9e3}.avatar-rose{background:#f0e7df;color:#946f59}.inbox-row-copy{flex:1;min-width:0}.inbox-row-copy strong{font-size:10px}.inbox-row-copy p{font-size:9px;color:#5e7469;margin:4px 0}.inbox-row-copy small{font-size:8px;color:#9ba69d}.inbox-tag{font-size:7px;letter-spacing:.06em;padding:6px 7px;border-radius:2px;white-space:nowrap}.inbox-tag.amber{background:#f8f0e3;color:#96774d}.inbox-tag.blue{background:#e8efed;color:#5c8178}.insight-card{background:#1e443f;color:white}.insight-card .section-kicker{color:#aec7b8}.insight-card h2{font-size:29px;line-height:1.2}.insight-card h2 em{font-style:italic;color:#e2c9a8}.insight-card>p{color:#c2d1c8}.insight-list{display:flex;flex-direction:column;gap:14px;margin:22px 0}.insight-list>div{display:flex;gap:10px;align-items:flex-start}.insight-check{width:19px;height:19px;border:1px solid #8fb29e;border-radius:50%;display:grid;place-items:center;color:#d8e5d9;font-size:10px;flex:none}.insight-list strong,.insight-list small{display:block}.insight-list strong{font-size:9px;color:#f2f4ed}.insight-list small{font-size:8px;color:#b7c9bf;margin-top:4px;line-height:1.4}.owner-primary{width:100%;border:1px solid #d9c6a8;background:#e8d8bd;color:#1c423d;padding:12px;font-size:9px;font-weight:700}.owner-footnote{margin-top:18px;text-align:center;color:#9ba49d;font-size:8px;line-height:1.7}
.toast{position:fixed;z-index:60;left:50%;bottom:24px;transform:translate(-50%,15px);background:#1d403c;color:white;padding:11px 16px;border-radius:4px;font-size:10px;opacity:0;pointer-events:none;transition:.25s;box-shadow:0 8px 25px #173b3525}.toast.show{opacity:1;transform:translate(-50%,0)}
:where(button,a,input):focus-visible{outline:3px solid #9bbda9;outline-offset:3px}
@media(max-width:900px){.main-nav{gap:17px}.wordmark{min-width:auto}.header-actions{gap:12px}.quiet-link{display:none}.intro-grid{gap:7%}.owner-content-grid{grid-template-columns:1fr}.discover-panel{grid-template-columns:.9fr 1.1fr}.hero{min-height:560px}}
@media(max-width:650px){.demo-ribbon{font-size:7px;letter-spacing:.09em}.site-header{height:69px;padding:0 17px}.wordmark-symbol{width:30px;height:30px}.wordmark strong{font-size:10px}.wordmark small{font-size:7px}.main-nav{display:none}.header-cta{padding:11px 12px;font-size:9px}.hero{height:650px;min-height:590px;padding:35px 25px;align-items:center}.hero-image{background-position:55% center}.hero-shade{background:linear-gradient(90deg,#142e2dc9,#142e2d5c 80%),linear-gradient(0deg,#0e29294d,transparent)}.hero h1{font-size:clamp(42px,12vw,60px)}.hero-intro{font-size:12px;max-width:330px}.hero-actions{align-items:flex-start;flex-direction:column}.hero-caption{left:25px;right:25px;bottom:20px;font-size:7px}.hero-side-note{display:none}.section-wrap{padding-left:23px;padding-right:23px}.intro-section{padding-top:73px;padding-bottom:68px}.intro-grid{grid-template-columns:1fr;gap:22px}.intro-grid h2{font-size:43px}.intro-copy .lead{font-size:17px}.feature-strip{margin-top:40px;grid-template-columns:1fr;gap:0;padding:9px 0}.feature-strip>div,.feature-strip>div:first-child{padding:12px 0;border-right:0;border-bottom:1px solid var(--line)}.feature-strip>div:last-child{border:0}.stay-section{padding:66px 0}.stay-heading{display:block}.stay-heading h2{font-size:40px}.stay-heading>p{margin-top:17px}.stay-grid{grid-template-columns:1fr;gap:13px}.stay-art{height:210px}.discover-section{padding-top:65px;padding-bottom:65px}.discover-panel{grid-template-columns:1fr}.discover-copy{padding:35px 26px}.discover-art{min-height:230px}.closing-section{padding:65px 0}.closing-inner h2{font-size:46px}.site-footer{padding:23px;align-items:flex-start;flex-direction:column;gap:17px}.footer-brand{text-align:left}.concierge-launcher-wrap{right:16px;bottom:17px;gap:8px}.concierge-launcher{width:53px;height:53px}.launcher-hint{font-size:9px;padding:9px 11px}.concierge-panel{right:12px;bottom:80px;height:min(570px,calc(100vh - 105px));width:calc(100vw - 24px)}.owner-header{padding:0 16px}.owner-header-right{gap:8px}.sample-status{display:none}.owner-main{padding:38px 17px 50px}.owner-welcome{align-items:flex-start}.owner-welcome h1{font-size:42px}.owner-date{font-size:7px}.owner-stats{grid-template-columns:1fr;gap:8px}.owner-stats article{padding:13px 16px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:3px}.owner-stats article span{grid-column:1}.owner-stats article strong{grid-column:2;grid-row:1/3}.owner-stats article small{grid-column:1}.owner-card{padding:18px}.owner-card-heading{gap:8px}.inbox-row{gap:8px}.inbox-tag{font-size:6px;padding:5px}.owner-return{font-size:8px;padding:9px}.owner-wordmark small{font-size:6px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}

.inbox-review{flex:none;border:1px solid #dbe3d9;background:#f7f8f2;color:#557365;border-radius:3px;padding:8px 10px;font-size:8px;font-weight:700;transition:background .2s,border-color .2s}
.inbox-review:hover{background:#eaf0e8;border-color:#b7cbb9}
.inbox-item-note{flex:none;color:#9aa59a;font-size:7px;letter-spacing:.03em;white-space:nowrap}
.handover-preview-detail{margin-top:15px;padding:17px;background:#f3f4ed;border:1px solid #e1e6dd}
.handover-preview-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.handover-preview-heading h3{font-family:'Playfair Display',Georgia,serif;font-weight:500;font-size:19px;margin:8px 0 0}
.handover-preview-message{font-size:10px;line-height:1.7;color:#5d7367;background:#fffefa;border-left:2px solid #b78d6b;padding:11px 12px;margin:13px 0}
.handover-note-field{display:flex;flex-direction:column;gap:7px;font-size:8px;letter-spacing:.08em;color:#718278;font-weight:700}
.handover-note-field textarea{width:100%;resize:vertical;min-height:65px;border:1px solid #dce3db;background:#fffefa;color:#284740;border-radius:3px;padding:10px;font:10px 'DM Sans',Arial,sans-serif;letter-spacing:0}
.handover-preview-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:13px}
.handover-preview-actions button{border:1px solid #315b52;background:#214941;color:white;border-radius:3px;padding:9px 12px;font-size:8px;font-weight:700}
.handover-preview-actions button:hover{background:#315f55}
.handover-preview-feedback{font-size:8px;line-height:1.6;color:#86948a;margin:11px 0 0}
@media(max-width:650px){.inbox-review{padding:7px 8px;font-size:7px}.inbox-item-note{font-size:6px}.handover-preview-detail{padding:13px}.handover-preview-heading h3{font-size:17px}}


/* Local functional prototype additions */
.footer-ip{flex-basis:100%;border-top:1px solid rgba(255,255,255,.13);padding:11px 0 0;margin-top:6px;color:rgba(255,255,255,.62);font-size:8px;line-height:1.6;letter-spacing:.025em}
.inbox-empty{padding:20px 14px;color:#829187;font-size:10px;line-height:1.7;background:#f8f8f3;border:1px dashed #dce3db}
.inbox-error{color:#995b48;border-color:#e7c8bb;background:#fff8f4}
.inbox-row{grid-template-columns:38px minmax(0,1fr) auto auto}
.inbox-review{cursor:pointer}
.inbox-tag{white-space:nowrap}
.handover-thread{display:flex;flex-direction:column;gap:8px;margin-top:13px;max-height:260px;overflow:auto}
.handover-thread-message{max-width:94%;padding:10px 12px;background:#fffefa;border:1px solid #e4e8df;border-radius:3px}
.handover-thread-message.guest{align-self:flex-start;border-left:3px solid #a9b5a8}
.handover-thread-message.reply{align-self:flex-end;border-right:3px solid #c9a66b;background:#fffaf0}
.handover-thread-message strong{display:block;color:#89968d;font-size:7px;letter-spacing:.09em;margin-bottom:5px}
.handover-thread-message p{font-size:10px;line-height:1.6;color:#38554a;margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
.chat-booking-capture{padding:13px 15px 12px;background:#f7f7f1;border-top:1px solid #e0e5dc;max-height:42vh;overflow:auto}
.booking-capture-title{font-family:'Playfair Display',Georgia,serif;font-size:18px;color:#25483f;margin-bottom:10px}
.booking-capture-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.booking-capture-grid label{display:flex;flex-direction:column;gap:5px;color:#728077;font-size:8px;letter-spacing:.04em;font-weight:700}
.booking-capture-grid input,.booking-capture-grid select{width:100%;min-width:0;height:34px;border:1px solid #dce3db;background:#fffefa;color:#27483e;border-radius:3px;padding:6px 8px;font:10px 'DM Sans',Arial,sans-serif}
.booking-capture-actions{display:flex;gap:8px;margin-top:11px}
.booking-capture-actions button{border:1px solid #315b52;background:#214941;color:white;border-radius:3px;padding:9px 12px;font-size:8px;font-weight:700;cursor:pointer}
.booking-capture-actions button[type="button"]{background:transparent;color:#718278;border-color:#cfd8cf}
.chat-booking-capture>p{font-size:8px;line-height:1.5;color:#89958c;margin:8px 0 0}
.chat-booking-capture[hidden]{display:none!important}
.chat-compose input:disabled{opacity:.65}
.footer-note{max-width:360px}
@media(max-width:720px){
  .inbox-row{grid-template-columns:32px minmax(0,1fr) auto;gap:8px}
  .inbox-review{grid-column:2/4;justify-self:start}
  .inbox-item-note{grid-column:3}
  .booking-capture-grid{gap:7px}
  .booking-capture-grid input,.booking-capture-grid select{font-size:9px}
  .footer-ip{font-size:7px}
}
@media(max-width:420px){
  .chat-booking-capture{padding:11px 12px}
  .booking-capture-title{font-size:16px}
  .booking-capture-actions button{padding:8px 10px;font-size:7px}
}
/* PC Medics operations view: clearer hierarchy, calmer surfaces and stronger states. */
.owner-shell {
  --ops-bg: #081320;
  --ops-surface: #102034;
  --ops-surface-soft: #162b42;
  --ops-surface-raised: #1c354f;
  --ops-line: rgba(137, 170, 202, .24);
  --ops-line-strong: rgba(137, 170, 202, .4);
  --ops-text: #f2f7fc;
  --ops-muted: #afc0d2;
  --ops-blue: #82c6ff;
  --ops-cyan: #8bdee6;
  min-height: 100vh;
  color: var(--ops-text);
  background:
    radial-gradient(ellipse at 84% -18%, rgba(49, 128, 194, .2), transparent 36rem),
    radial-gradient(ellipse at 5% 50%, rgba(35, 103, 121, .11), transparent 31rem),
    linear-gradient(145deg, #081320, #0b1928 58%, #0c1c2c);
}
.owner-header {
  min-height: 78px;
  height: auto;
  background: rgba(9, 23, 38, .92);
  border-bottom-color: var(--ops-line);
  box-shadow: 0 12px 34px rgba(0, 0, 0, .14);
}
.owner-header .wordmark { color: var(--ops-text); }
.owner-header .wordmark-symbol { border-color: rgba(130, 198, 255, .45); }
.owner-header .wordmark-symbol i { border-color: var(--ops-blue); }
.owner-header .wordmark small { color: var(--ops-muted); }
.owner-header-right { gap: 14px; }
.sample-status { color: var(--ops-muted); font-size: 9px; }
.sample-status i { background: #77dfb4; box-shadow: 0 0 0 3px rgba(119, 223, 180, .12); }
.owner-return {
  border-color: var(--ops-line-strong);
  border-radius: 10px;
  color: #c9d9e9;
  background: rgba(22, 43, 66, .74);
  padding: 10px 14px;
  transition: background .16s ease, border-color .16s ease, transform .16s ease;
}
.owner-return:hover {
  transform: translateY(-1px);
  border-color: rgba(130, 198, 255, .65);
  background: #1a3854;
}
.owner-main { max-width: 1360px; padding: clamp(34px, 5vw, 58px) clamp(18px, 3vw, 38px) 64px; }
.owner-welcome { align-items: center; gap: 28px; margin-bottom: 28px; }
.owner-welcome .section-kicker { color: var(--ops-blue); }
.owner-welcome h1 {
  color: var(--ops-text);
  font-size: clamp(42px, 5vw, 62px);
  line-height: 1.04;
  margin: 13px 0 15px;
}
.owner-welcome h1 em { color: var(--ops-blue); }
.owner-welcome p { max-width: 620px; color: var(--ops-muted); font-size: 13px; line-height: 1.65; }
.owner-date {
  min-width: 218px;
  padding: 14px 17px;
  text-align: left;
  color: var(--ops-muted);
  line-height: 1.7;
  border: 1px solid var(--ops-line);
  border-left: 2px solid var(--ops-cyan);
  border-radius: 13px;
  background: rgba(15, 34, 53, .78);
}
.owner-date strong { color: var(--ops-cyan); }
.owner-stats { gap: 14px; margin-bottom: 20px; }
.owner-stats article {
  min-width: 0;
  padding: 19px 21px;
  gap: 9px;
  border-color: var(--ops-line);
  border-radius: 16px;
  background: linear-gradient(145deg, rgba(19, 40, 62, .96), rgba(12, 27, 44, .96));
  box-shadow: 0 15px 38px rgba(0, 0, 0, .16), inset 0 1px rgba(255, 255, 255, .04);
}
.owner-stats article span { color: #b4c4d5; font-size: 9px; line-height: 1.45; }
.owner-stats article strong { color: var(--ops-blue); font-size: 40px; line-height: 1; }
.owner-stats article small { color: #a4b6c9; font-size: 11px; }
.owner-content-grid { grid-template-columns: minmax(0, 1.12fr) minmax(300px, .88fr); gap: 20px; }
.owner-card {
  min-width: 0;
  padding: 25px;
  border-color: var(--ops-line);
  border-radius: 20px;
  background: linear-gradient(155deg, rgba(18, 38, 60, .98), rgba(10, 24, 40, .98));
  box-shadow: 0 20px 54px rgba(0, 0, 0, .18), inset 0 1px rgba(255, 255, 255, .04);
}
.owner-card .section-kicker { color: var(--ops-blue); }
.owner-card h2 { color: var(--ops-text); font-size: 27px; }
.owner-card-heading { gap: 14px; margin-bottom: 19px; }
.owner-card-heading p, .insight-card > p { color: var(--ops-muted); font-size: 12px; line-height: 1.6; }
.inbox-count {
  flex: none;
  border-color: rgba(130, 198, 255, .34);
  border-radius: 999px;
  color: #bfe2ff;
  background: rgba(58, 132, 190, .14);
  font-size: 9px;
}
.inbox-row {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 11px;
  margin: 0 0 9px;
  padding: 12px;
  border: 1px solid var(--ops-line);
  border-radius: 13px;
  background: rgba(7, 19, 32, .55);
  transition: background .16s ease, border-color .16s ease;
}
.inbox-row:hover { border-color: var(--ops-line-strong); background: rgba(24, 49, 73, .78); }
.inbox-avatar {
  width: 36px;
  height: 36px;
  color: var(--ops-cyan);
  border: 1px solid rgba(139, 222, 230, .22);
  background: rgba(48, 112, 133, .22);
}
.inbox-row-copy strong { color: var(--ops-text); font-size: 12px; }
.inbox-row-copy p { color: #c4d3e2; font-size: 11px; line-height: 1.5; }
.inbox-row-copy small { color: #9fb2c6; font-size: 10px; }
.inbox-tag { border-radius: 999px; padding: 6px 9px; font-size: 8px; font-weight: 750; letter-spacing: .06em; }
.inbox-tag.amber { color: #f2d49d; background: rgba(191, 139, 58, .16); border: 1px solid rgba(239, 189, 104, .32); }
.inbox-tag.blue { color: #aee6d1; background: rgba(68, 157, 130, .16); border: 1px solid rgba(111, 211, 176, .3); }
.inbox-review {
  border-color: rgba(130, 198, 255, .38);
  border-radius: 9px;
  color: #c5e4ff;
  background: rgba(48, 117, 172, .16);
  padding: 8px 11px;
  font-size: 9px;
}
.inbox-review:hover { border-color: var(--ops-blue); background: rgba(48, 117, 172, .3); }
.inbox-empty {
  padding: 24px 18px;
  border-color: var(--ops-line-strong);
  border-radius: 13px;
  color: var(--ops-muted);
  background: rgba(7, 19, 32, .48);
  font-size: 12px;
}
.inbox-error { color: #ffc1b7; border-color: rgba(241, 140, 144, .4); background: rgba(100, 38, 43, .24); }
.handover-preview-detail {
  padding: 19px;
  border-color: var(--ops-line-strong);
  border-radius: 15px;
  background: linear-gradient(145deg, rgba(8, 21, 36, .98), rgba(16, 35, 54, .96));
}
.handover-preview-heading h3 { color: var(--ops-text); font-size: 20px; }
.handover-preview-message {
  border-left: 3px solid var(--ops-cyan);
  border-radius: 0 10px 10px 0;
  color: #d2dfeb;
  background: rgba(28, 52, 75, .72);
  font-size: 12px;
}
.handover-thread { scrollbar-color: #476986 transparent; scrollbar-width: thin; }
.handover-thread-message {
  max-width: 96%;
  padding: 12px 13px;
  border-color: var(--ops-line);
  border-radius: 11px;
  background: rgba(21, 42, 63, .92);
}
.handover-thread-message.guest { border-left: 3px solid #91a8bd; }
.handover-thread-message.reply { border-right: 3px solid var(--ops-cyan); background: rgba(22, 54, 76, .94); }
.handover-thread-message strong { color: #a9c0d5; font-size: 8px; }
.handover-thread-message p { color: #e2ebf4; font-size: 11px; line-height: 1.6; }
.handover-note-field { color: #d3e0eb; font-size: 11px; }
.handover-note-field textarea {
  color: var(--ops-text);
  border-color: var(--ops-line-strong);
  border-radius: 10px;
  background: rgba(6, 17, 29, .8);
}
.handover-preview-actions { gap: 8px; }
.handover-preview-actions button {
  border-color: rgba(130, 198, 255, .36);
  border-radius: 9px;
  padding: 10px 13px;
  color: #d5e9fa;
  background: #1b3956;
  font-size: 9px;
  transition: background .16s ease, border-color .16s ease, transform .16s ease;
}
.handover-preview-actions button:hover { transform: translateY(-1px); border-color: var(--ops-blue); background: #265276; }
.handover-preview-actions button:disabled { opacity: .5; cursor: wait; }
.handover-preview-feedback { color: var(--ops-muted); font-size: 10px; line-height: 1.6; }
.insight-card {
  border-color: rgba(109, 170, 213, .32);
  background:
    radial-gradient(ellipse at 100% 0%, rgba(53, 132, 193, .2), transparent 19rem),
    linear-gradient(155deg, #132b43, #0d2034 72%);
}
.insight-card .section-kicker { color: var(--ops-cyan); }
.insight-card h2 { color: var(--ops-text); font-size: clamp(27px, 2.3vw, 34px); }
.insight-card h2 em { color: var(--ops-blue); }
.insight-card > p { color: #c3d2e0; }
.insight-list { gap: 16px; margin: 24px 0; }
.insight-check { border-color: rgba(139, 222, 230, .6); color: var(--ops-cyan); background: rgba(53, 132, 152, .14); }
.insight-list strong { color: #f2f7fc; font-size: 11px; }
.insight-list small { color: #b5c8d9; font-size: 10px; }
.owner-primary {
  border: 1px solid rgba(132, 198, 255, .5);
  border-radius: 10px;
  color: #071523;
  background: linear-gradient(105deg, #83c7ff, #8bdee6);
  padding: 13px 15px;
  font-size: 10px;
  transition: filter .16s ease, transform .16s ease;
}
.owner-primary:hover { filter: brightness(1.06); transform: translateY(-1px); }
.owner-footnote {
  margin-top: 20px;
  padding: 14px 18px;
  border: 1px solid var(--ops-line);
  border-radius: 12px;
  color: #afc0d2;
  background: rgba(13, 29, 46, .56);
  font-size: 10px;
}
.owner-shell :where(button, a, input, textarea):focus-visible {
  outline: 3px solid var(--ops-cyan);
  outline-offset: 3px;
  box-shadow: 0 0 0 5px rgba(8, 19, 32, .9);
}
@media (max-width: 980px) {
  .owner-main { padding: 38px 22px 52px; }
  .owner-content-grid { grid-template-columns: 1fr; }
  .owner-welcome { align-items: flex-start; }
}
@media (max-width: 620px) {
  .owner-header { padding: 12px 16px; }
  .owner-header-right { gap: 8px; }
  .owner-main { padding: 30px 14px 42px; }
  .owner-welcome { flex-direction: column; gap: 18px; margin-bottom: 21px; }
  .owner-welcome h1 { font-size: 41px; }
  .owner-date { min-width: 0; }
  .owner-stats { gap: 8px; }
  .owner-stats article { padding: 13px 16px; }
  .owner-card { padding: 18px; }
  .owner-card-heading { flex-wrap: wrap; }
  .inbox-row { grid-template-columns: 32px minmax(0, 1fr) auto; gap: 8px; padding: 11px; }
  .inbox-review { grid-column: 2 / 4; justify-self: start; }
  .inbox-tag { font-size: 7px; }
  .handover-preview-detail { padding: 14px; }
  .handover-preview-actions button { padding: 9px 10px; }
  .owner-footnote { padding: 12px; }
}

.owner-inbox {
  max-height: 540px;
  overflow: auto;
  padding: 2px 5px 3px 1px;
  scrollbar-color: #476986 transparent;
  scrollbar-width: thin;
}
body:has(#owner-view:not([hidden])) .concierge-launcher-wrap { display: none; }
@media (max-width: 980px) {
  .owner-inbox { max-height: 480px; }
}
@media (max-width: 620px) {
  .owner-inbox { max-height: 410px; }
}

/* Guest-facing Tideline House page, matched to the approved coastal reference. */
#guest-site {
  --tideline-navy: #062546;
  --tideline-deep: #041d39;
  --tideline-blue: #0d3765;
  --tideline-gold: #f5c951;
  --tideline-copy: #122d50;
  --tideline-muted: #667a92;
  background: #fff;
  color: var(--tideline-copy);
  font-family: Inter, "Segoe UI", Arial, sans-serif;
}
#guest-site .site-header {
  height: 58px;
  padding: 0 clamp(22px, 4.6vw, 68px);
  gap: 22px;
  background: linear-gradient(100deg, #061f3d, #0a2d55 62%, #072446);
  border-bottom: 1px solid rgba(255,255,255,.12);
  color: #fff;
}
#guest-site .wordmark { flex: 0 0 auto; min-width: 250px; gap: 9px; color: #fff; }
#guest-site .site-wordmark-mark { width: 62px; height: 38px; fill: none; stroke: var(--tideline-gold); stroke-width: 2.3; stroke-linecap: round; stroke-linejoin: round; flex: none; }
#guest-site .site-wordmark-mark .mark-highlight { stroke: #fff0b9; stroke-width: 2.8; }
#guest-site .wordmark strong { color: #f6f7fa; font-family: Georgia, serif; font-size: 15px; font-weight: 500; letter-spacing: .16em; }
#guest-site .wordmark small { color: #e9c65f; font-size: 8px; letter-spacing: .12em; margin-top: 3px; }
#guest-site .wordmark small i { font-style: normal; }
#guest-site .main-nav { align-self: stretch; justify-content: center; gap: clamp(15px, 2.5vw, 38px); color: #f1f4f8; font-size: 12px; white-space: nowrap; }
#guest-site .main-nav a { display: inline-flex; align-items: center; height: 100%; position: relative; transition: color .18s ease; }
#guest-site .main-nav a:hover, #guest-site .main-nav a.active { color: #fff; }
#guest-site .main-nav a.active::after { content: ""; position: absolute; left: 0; right: 0; bottom: 10px; height: 2px; background: var(--tideline-gold); }
#guest-site .header-actions { flex: none; margin-left: auto; gap: 0; }
#guest-site .header-cta { display: inline-flex; align-items: center; justify-content: center; gap: 9px; padding: 11px 20px; border: 1px solid #f8da83; border-radius: 30px; background: linear-gradient(180deg, #ffe58c, #f3c147); box-shadow: 0 4px 14px rgba(0,0,0,.16); color: #172c45; font-size: 12px; font-weight: 750; white-space: nowrap; }
#guest-site .header-cta:hover { transform: translateY(-1px); background: #ffe89a; }
.availability-calendar { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

#guest-site .hero {
  height: min(36.5vw, 465px);
  min-height: 442px;
  max-height: 510px;
  display: block;
  padding: 0;
  background: #123f68;
  overflow: hidden;
}
#guest-site .hero-image { background-image: url('./assets/tideline-hero.jpg'); background-position: center 50%; transform: scale(1.01); }
#guest-site .hero-shade {
  background: linear-gradient(90deg, rgba(3,25,48,.03) 0%, rgba(4,28,55,.08) 46%, rgba(3,27,55,.57) 100%), linear-gradient(0deg, rgba(3,21,44,.55) 0%, transparent 33%);
}
#guest-site .hero-content {
  position: absolute;
  top: 34px;
  right: clamp(24px, 5.2vw, 78px);
  width: min(42%, 570px);
  max-width: none;
  margin: 0;
  color: #fff;
}
#guest-site .welcome-label { margin: 0 0 7px; color: #f4f6f9; font-size: 12px; font-weight: 700; letter-spacing: .42em; }
#guest-site .hero h1 { margin: 0; color: #fff; font-family: Georgia, "Times New Roman", serif; font-size: clamp(43px, 5.15vw, 66px); font-weight: 600; line-height: 1.03; letter-spacing: -.025em; text-shadow: 0 2px 20px rgba(0,0,0,.2); }
#guest-site .hero-subtitle { margin: 2px 0 0; color: #f1f4f8; font-family: Georgia, "Times New Roman", serif; font-size: clamp(17px, 1.7vw, 23px); }
#guest-site .gold-rule { display: block; width: 61px; height: 3px; margin: 12px 0 10px; background: var(--tideline-gold); }
#guest-site .hero-intro { max-width: 460px; margin: 0; color: #f6f7fa; font-size: 15px; line-height: 1.48; text-shadow: 0 1px 8px rgba(0,0,0,.3); }
#guest-site .hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 15px; }
#guest-site .button { min-height: 40px; padding: 10px 18px; gap: 13px; border-radius: 24px; font-size: 12px; }
#guest-site .button-light { background: linear-gradient(180deg, #ffe78f, #f4c147); color: #152c47; box-shadow: 0 4px 15px rgba(0,0,0,.18); }
#guest-site .button-light:hover { background: #ffecaa; }
#guest-site .button-glass { border: 1px solid rgba(255,255,255,.9); background: rgba(2,25,52,.18); color: #fff; backdrop-filter: blur(4px); }
#guest-site .button-glass:hover { background: rgba(255,255,255,.15); }
.button-bed { font-size: 18px; line-height: 1; }
.play-symbol { width: 19px; height: 19px; display: inline-grid; place-items: center; border-radius: 50%; background: #fff; color: #123762; font-size: 9px; }

#guest-site .availability-bar {
  position: absolute;
  z-index: 2;
  left: clamp(18px, 7.4vw, 108px);
  bottom: 15px;
  width: min(66%, 850px);
  min-height: 74px;
  display: grid;
  grid-template-columns: 1.35fr 1fr 1fr 1.05fr 1.35fr;
  align-items: center;
  gap: 8px;
  padding: 9px 11px 9px 19px;
  border: 1px solid rgba(255,255,255,.38);
  border-radius: 15px;
  background: rgba(5,29,57,.88);
  box-shadow: 0 8px 26px rgba(0,0,0,.25);
  backdrop-filter: blur(10px);
}
.availability-title { display: flex; flex-direction: column; gap: 3px; color: #fff; }
.availability-title strong { font-family: Georgia, "Times New Roman", serif; font-size: 18px; font-weight: 500; }
.availability-title span { color: #e6edf5; font-size: 10px; white-space: nowrap; }
.availability-field { min-width: 0; min-height: 40px; display: flex; align-items: center; gap: 8px; padding: 5px 8px; border: 1px solid #e1e7ed; border-radius: 9px; background: #fff; color: var(--tideline-copy); }
.availability-field .field-icon { color: #193e67; font-size: 17px; line-height: 1; }
.availability-field .field-icon-svg { width: 17px; height: 17px; flex: none; fill: none; stroke: #193e67; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.availability-field>span:nth-child(2) { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.availability-field strong { font-size: 9px; line-height: 1; }
.availability-field input, .availability-field select { width: 100%; min-width: 0; height: 16px; padding: 0; border: 0; outline: 0; background: transparent; color: #738092; font-family: inherit; font-size: 9px; }
.availability-field input::-webkit-calendar-picker-indicator { margin: 0; opacity: .65; }
.availability-field .select-chevron { margin-left: auto; color: #375a7b; font-size: 17px; line-height: 1; }
.availability-submit { min-height: 40px; display: flex; align-items: center; justify-content: center; gap: 9px; padding: 0 12px; border: 1px solid #f6d166; border-radius: 24px; background: linear-gradient(180deg, #ffdf77, #f1bc35); color: #1a2e48; font-size: 10px; font-weight: 800; white-space: nowrap; }
.availability-submit:hover { filter: brightness(1.05); }

#guest-site .perks-strip { min-height: 52px; display: grid; grid-template-columns: repeat(6, 1fr); align-items: center; padding: 0 clamp(25px, 5.5vw, 82px); background: linear-gradient(100deg, #062547, #0a315e 55%, #062344); color: #fff; }
.perk-item { min-height: 35px; display: flex; align-items: center; justify-content: center; gap: 9px; padding: 0 9px; border-right: 1px solid rgba(211,227,242,.22); }
.perk-item:first-child { padding-left: 0; }
.perk-item:last-child { border: 0; padding-right: 0; }
.perk-item svg { width: 30px; height: 30px; flex: none; fill: none; stroke: #f4cb53; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.perk-item strong { display: block; color: #f7f8fa; font-size: 10px; line-height: 1.2; font-weight: 650; }

#guest-site .stay-section { padding: 12px 0 12px; background: #fff; }
#guest-site .section-wrap { max-width: 1360px; padding-left: clamp(18px, 3.4vw, 44px); padding-right: clamp(18px, 3.4vw, 44px); }
#guest-site .stay-heading { display: flex; align-items: center; justify-content: center; gap: 18px; margin: 0 0 14px; text-align: center; }
#guest-site .stay-heading h2 { margin: 0; color: #092747; font-family: Georgia, "Times New Roman", serif; font-size: clamp(27px, 3vw, 38px); font-weight: 600; line-height: 1.08; letter-spacing: -.025em; }
#guest-site .stay-heading p { margin: 4px 0 0; color: #477198; font-size: 14px; }
.heading-rule { width: clamp(35px, 8vw, 125px); height: 2px; background: #e9bd45; }
#guest-site .stay-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; scroll-margin-top: 14px; }
#guest-site .stay-card { height: clamp(145px, 13vw, 172px); position: relative; display: block; overflow: hidden; border: 1px solid #d9e0e7; border-radius: 11px; background: #163858; box-shadow: 0 2px 7px rgba(12,44,76,.13); }
#guest-site .stay-card img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; transform: scale(1.16); transform-origin: center bottom; transition: transform .35s ease; }
#guest-site .stay-card:hover img { transform: scale(1.22); }
.stay-card-shade { position: absolute; inset: 35% 0 0; background: linear-gradient(0deg, rgba(2,14,29,.92), rgba(2,14,29,0)); }
#guest-site .stay-card-copy { position: absolute; right: 10px; bottom: 11px; left: 15px; display: flex; align-items: end; justify-content: space-between; gap: 8px; padding: 0; color: #fff; }
#guest-site .stay-card-copy strong { display: block; margin: 0 0 4px; color: #fff; font-family: Georgia, "Times New Roman", serif; font-size: 14px; font-weight: 600; line-height: 1.12; }
#guest-site .stay-card-copy small { display: block; color: #f4f6f8; font-size: 9px; line-height: 1.25; }
#guest-site .card-arrow { width: 24px; height: 24px; display: grid; place-items: center; flex: none; border: 1px solid rgba(255,255,255,.8); border-radius: 50%; color: #fff; font-size: 14px; line-height: 1; }

#guest-site .discover-section { height: 180px; min-height: 180px; display: grid; grid-template-columns: 1.18fr 1fr; padding: 0; background: var(--tideline-navy); }
.discover-image { height: 180px; min-height: 180px; overflow: hidden; }
.discover-image img { display: block; width: 100%; height: 100%; min-height: 0; object-fit: cover; object-position: center 52%; }
#guest-site .discover-copy { height: 180px; min-height: 180px; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 12px clamp(24px, 5vw, 76px); background: linear-gradient(115deg, #0b315d, #061f3e); color: #fff; }
.discover-kicker { margin: 0 0 2px; color: #e9c653; font-size: 9px; font-weight: 700; letter-spacing: .18em; }
#guest-site .discover-copy h2 { margin: 0; color: #fff; font-family: Georgia, "Times New Roman", serif; font-size: clamp(29px, 3.3vw, 42px); font-weight: 600; line-height: 1.05; }
#guest-site .discover-copy .gold-rule { margin: 8px 0; }
#guest-site .discover-copy p:not(.discover-kicker) { max-width: 510px; margin: 0; color: #e4ebf2; font-size: 12px; line-height: 1.45; }
#guest-site .discover-button { min-height: 35px; margin-top: 10px; padding: 8px 16px; gap: 12px; border: 0; font-size: 10px; }

#guest-site .site-footer { display: block; min-height: 0; padding: 0; background: #062344; color: #fff; }
.footer-main { min-height: 104px; display: grid; grid-template-columns: 1.3fr .75fr 1.55fr .9fr 1.05fr 1.2fr .95fr; align-items: center; gap: 0; padding: 13px clamp(20px, 4vw, 60px); }
#guest-site .footer-wordmark { min-width: 0; gap: 8px; padding-right: 18px; }
#guest-site .footer-wordmark .site-wordmark-mark { width: 62px; }
#guest-site .footer-wordmark strong { font-size: 13px; }
#guest-site .footer-wordmark small { font-size: 7px; }
.footer-links { min-height: 50px; display: flex; flex-direction: column; gap: 4px; padding: 0 15px; border-left: 1px solid rgba(221,232,242,.22); }
.footer-links strong { margin-bottom: 2px; color: #fff; font-size: 9px; }
.footer-links a, .footer-links button { width: fit-content; padding: 0; border: 0; background: none; color: #d5e0eb; font-size: 9px; line-height: 1.18; text-align: left; }
.footer-links a:hover, .footer-links button:hover { color: #f4cc59; }
.footer-links .footer-feature-link { display: block; width: 100%; }
.footer-link-note, .footer-custom-note { display: block; margin-top: 2px; color: #aebfd0; font-size: 7px; font-weight: 400; line-height: 1.35; }
.footer-guest-info, .footer-contact-links { gap: 6px; }
.footer-custom-note { max-width: 30ch; }
.footer-powered { min-height: 72px; display: grid; grid-template-columns: 52px minmax(0,1fr); align-items: center; gap: 9px; padding: 0 14px; border-left: 1px solid rgba(221,232,242,.22); }
.footer-powered .pcmedikz-logo { width: 52px; height: 52px; object-fit: cover; border-radius: 50%; background: #fff; box-shadow: 0 0 0 2px rgba(173,218,246,.28); }
.footer-powered-copy { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.footer-powered-copy>span { color: #d8e2eb; font-size: 7px; letter-spacing: .08em; }
.footer-powered-copy>strong { color: #fff; font-family: Georgia, "Times New Roman", serif; font-size: 17px; font-weight: 600; line-height: 1.15; }
.footer-powered-copy>small { color: #d5e0eb; font-size: 8px; }
.prototype-badge { position: relative; min-height: 46px; display: grid; grid-template-columns: 30px 1fr; grid-template-rows: 1fr 1fr; align-items: center; padding: 5px 9px; border: 1px solid #e6c655; border-radius: 11px; background: rgba(3,20,41,.3); color: #f3d66d; text-align: left; }
.prototype-badge>span { grid-row: span 2; font-size: 23px; }
.prototype-badge strong { font-size: 11px; line-height: 1; }
.prototype-badge small { color: #e0e8f1; font-size: 8px; line-height: 1; }
.prototype-badge:hover { background: rgba(232,193,71,.12); }
.footer-legal { min-height: 52px; display: flex; align-items: center; gap: 19px; padding: 8px clamp(20px, 4vw, 60px); border-top: 1px solid rgba(224,236,246,.2); background: #041e3b; color: #e2eaf2; }
.footer-legal>span { flex: none; font-size: 9px; }
.footer-legal p { flex: 1; margin: 0; color: #d0dce7; font-size: 8px; line-height: 1.4; }
.footer-legal>small { flex: none; padding: 5px 11px; border: 1px solid rgba(223,235,246,.55); border-radius: 20px; color: #e6edf4; font-size: 8px; }

.concierge-launcher-wrap { top: 338px; right: 16px; bottom: auto; display: block; width: min(318px, calc(100vw - 32px)); }
.concierge-launcher { width: 100%; min-height: 150px; display: grid; grid-template-columns: 56px minmax(0,1fr); align-items: center; gap: 11px; padding: 13px 15px 14px 12px; border: 1px solid #c8d7e5; border-radius: 15px; background: #f7fbff; box-shadow: 0 12px 35px rgba(3,26,54,.28); color: #112e50; text-align: left; }
.concierge-launcher:hover { transform: translateY(-2px); background: #fff; }
.concierge-bot { width: 58px; height: 58px; display: block; align-self: start; margin-top: 8px; border-radius: 50%; filter: drop-shadow(0 4px 5px rgba(6,39,75,.2)); }
.concierge-bot svg { display: block; width: 100%; height: 100%; }
.concierge-preview-copy { display: flex; flex-direction: column; align-self: stretch; gap: 7px; }
.concierge-status-line { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.concierge-status-line strong { color: #132f52; font-size: 15px; }
.concierge-status-line>span { display: flex; align-items: center; gap: 5px; color: #39855d; font-size: 9px; font-weight: 700; }
.concierge-status-line i { width: 8px; height: 8px; border-radius: 50%; background: #34b56b; }
.concierge-welcome { color: #2a3d55; font-size: 10px; line-height: 1.4; }
.concierge-chat-cta { min-height: 32px; display: flex; align-items: center; justify-content: center; gap: 9px; margin-top: auto; border-radius: 20px; background: linear-gradient(90deg, #0e457e, #11619c); color: #fff; font-size: 10px; font-weight: 750; }
.concierge-chat-cta b { font-size: 14px; font-weight: 500; }
.launcher-close { display: none; }
body:has(.concierge-panel.open) .concierge-launcher-wrap { display: none; }
.concierge-panel { right: 18px; bottom: 18px; width: min(405px, calc(100vw - 28px)); height: min(610px, calc(100vh - 36px)); border: 1px solid #ceddeb; border-radius: 16px; box-shadow: 0 18px 58px rgba(3,26,54,.3); }
.chat-header { background: linear-gradient(100deg, #062546, #0b3c6c); }
.chat-brand-icon { color: #f0c947; }
.chat-header-copy strong { font-size: 13px; }
.chat-header-copy span { font-size: 10px; }
.chat-demo-note { padding: 10px 17px; font-size: 8px; }
.chat-avatar { width: 29px; height: 29px; font-size: 13px; }
.chat-time { font-size: 8px; }
.chat-bubble p { font-size: 12px; line-height: 1.55; }
.chat-suggestions button { padding: 8px 10px; font-size: 9px; }
.chat-compose input { padding: 11px 12px; font-size: 12px; }
.chat-disclaimer { padding: 0 13px 12px; font-size: 8px; line-height: 1.4; }
.chat-compose button { background: #0e477e; }
.chat-compose input:focus { border-color: #4886b4; }

@media (max-width: 1180px) {
  #guest-site .site-header { padding-left: 22px; padding-right: 22px; gap: 14px; }
  #guest-site .wordmark { min-width: 210px; }
  #guest-site .main-nav { gap: 15px; font-size: 11px; }
  #guest-site .header-cta { padding: 10px 13px; font-size: 10px; }
  .footer-main { grid-template-columns: 1.25fr .72fr 1.5fr .88fr 1fr 1.15fr .9fr; padding-left: 24px; padding-right: 24px; }
  #guest-site .footer-wordmark .site-wordmark-mark { width: 50px; }
  #guest-site .footer-wordmark strong { font-size: 11px; }
}
@media (min-width: 981px) and (max-width: 1080px) {
  .footer-main { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px 0; padding-top: 18px; padding-bottom: 18px; }
}
@media (max-width: 980px) {
  #guest-site .main-nav { gap: 13px; }
  #guest-site .main-nav a:nth-last-child(2) { display: none; }
  #guest-site .wordmark { min-width: 190px; }
  #guest-site .site-wordmark-mark { width: 50px; }
  #guest-site .wordmark strong { font-size: 12px; }
  #guest-site .hero-content { width: 48%; right: 30px; }
  #guest-site .availability-bar { left: 18px; right: 18px; width: auto; max-width: 900px; grid-template-columns: 1.2fr 1fr 1fr 1fr 1.2fr; padding-left: 12px; gap: 6px; }
  #guest-site .availability-title strong { font-size: 15px; }
  #guest-site .availability-title span { font-size: 8px; }
  .concierge-launcher-wrap { top: auto; bottom: 20px; width: 58px; }
  .concierge-launcher { width: 58px; min-height: 58px; height: 58px; grid-template-columns: 1fr; justify-items: center; padding: 0; border-radius: 50%; background: #f7fbff; }
  .concierge-bot { width: 50px; height: 50px; margin: 0; align-self: center; }
  .concierge-preview-copy { display: none; }
  #guest-site .perks-strip { padding-left: 18px; padding-right: 18px; }
  .perk-item { gap: 5px; padding: 0 5px; }
  .perk-item svg { width: 24px; height: 24px; }
  .perk-item strong { font-size: 9px; }
  .footer-main { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .prototype-badge { grid-column: auto; grid-row: auto; margin-top: 0; }
  .footer-powered { grid-column: auto; grid-row: auto; }
}
@media (max-width: 720px) {
  #guest-site .site-header { height: 62px; padding: 0 15px; }
  #guest-site .wordmark { min-width: 0; gap: 5px; }
  #guest-site .site-wordmark-mark { width: 43px; height: 32px; }
  #guest-site .wordmark strong { font-size: 11px; }
  #guest-site .wordmark small { font-size: 6px; letter-spacing: .08em; }
  #guest-site .main-nav { display: none; }
  #guest-site .header-cta { padding: 9px 12px; font-size: 9px; }
  #guest-site .hero { height: 725px; min-height: 680px; max-height: none; }
  #guest-site .hero-image { background-position: 40% center; }
  #guest-site .hero-shade { background: linear-gradient(180deg, rgba(3,25,48,.48), rgba(3,25,48,.33) 45%, rgba(3,25,48,.7)), linear-gradient(90deg, rgba(3,25,48,.28), transparent); }
  #guest-site .hero-content { top: 42px; left: 22px; right: 22px; width: auto; }
  #guest-site .welcome-label { font-size: 10px; }
  #guest-site .hero h1 { font-size: clamp(42px, 10vw, 62px); }
  #guest-site .hero-subtitle { font-size: 19px; }
  #guest-site .hero-intro { max-width: 400px; font-size: 13px; }
  #guest-site .hero-actions { gap: 8px; margin-top: 13px; }
  #guest-site .button { min-height: 36px; padding: 9px 12px; gap: 8px; font-size: 10px; }
  #guest-site .availability-bar { left: 14px; right: 14px; bottom: 14px; width: auto; grid-template-columns: 1fr 1fr; gap: 8px; padding: 12px; border-radius: 13px; }
  .availability-title { grid-column: 1 / -1; margin-bottom: 2px; }
  .availability-title strong { font-size: 17px; }
  .availability-title span { font-size: 9px; }
  .availability-field { min-height: 42px; }
  .guest-field { grid-column: 1 / -1; }
  .availability-submit { grid-column: 1 / -1; min-height: 41px; }
  #guest-site .perks-strip { grid-template-columns: repeat(3, 1fr); gap: 0; padding: 8px 10px; }
  .perk-item { min-height: 48px; justify-content: flex-start; padding: 4px 7px; border-right: 1px solid rgba(211,227,242,.2); }
  .perk-item:nth-child(3n) { border-right: 0; }
  .perk-item svg { width: 23px; height: 23px; }
  .perk-item strong { font-size: 8px; }
  #guest-site .stay-section { padding: 20px 0 22px; }
  #guest-site .section-wrap { padding-left: 15px; padding-right: 15px; }
  #guest-site .stay-heading { gap: 8px; margin-bottom: 12px; }
  #guest-site .stay-heading h2 { font-size: 27px; }
  #guest-site .stay-heading p { max-width: 310px; font-size: 11px; line-height: 1.35; }
  .heading-rule { width: 22px; }
  #guest-site .stay-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
  #guest-site .stay-card { height: 150px; }
  #guest-site .stay-card-copy { left: 10px; right: 8px; bottom: 9px; }
  #guest-site .stay-card-copy strong { font-size: 11px; }
  #guest-site .stay-card-copy small { font-size: 8px; }
  #guest-site .card-arrow { width: 20px; height: 20px; font-size: 12px; }
  #guest-site .discover-section { grid-template-columns: 1fr; }
  #guest-site .discover-section { height: auto; min-height: 0; }
  .discover-image, .discover-image img { height: 240px; min-height: 230px; max-height: 260px; }
  #guest-site .discover-copy { height: auto; min-height: 235px; padding: 24px 23px; }
  #guest-site .discover-copy h2 { font-size: 37px; }
  #guest-site .discover-copy p:not(.discover-kicker) { font-size: 12px; }
  .footer-main { grid-template-columns: 1fr 1fr; gap: 14px 7px; padding: 20px 17px; }
  #guest-site .footer-wordmark { grid-column: 1 / -1; padding: 0 0 12px; border-bottom: 1px solid rgba(221,232,242,.2); }
  .footer-links { min-height: 0; padding: 0 8px; border-left: 0; }
  .footer-powered { grid-column: 1; grid-row: auto; padding: 8px 8px 0; border-left: 0; }
  .prototype-badge { grid-column: 2; grid-row: auto; justify-self: end; width: 145px; margin-top: 7px; }
  .footer-legal { flex-wrap: wrap; gap: 7px 14px; padding: 12px 17px; }
  .footer-legal p { order: 3; flex-basis: 100%; }
  .footer-legal>small { margin-left: auto; }
  .concierge-launcher-wrap { top: auto; right: 12px; bottom: 12px; }
}
@media (max-width: 420px) {
  #guest-site .header-cta { padding: 8px 9px; gap: 5px; font-size: 8px; }
  .availability-field { padding-left: 6px; gap: 5px; }
  .availability-field .field-icon { font-size: 14px; }
  #guest-site .stay-heading h2 { font-size: 23px; }
  .heading-rule { width: 15px; }
  #guest-site .stay-card { height: 136px; }
}

/* A warmer, more distinctive hospitality operations desk. */
#owner-view.owner-shell {
  --ops-bg: #edf3f5;
  --ops-surface: #ffffff;
  --ops-surface-soft: #f5f8fa;
  --ops-surface-raised: #e9f1f5;
  --ops-line: rgba(13, 54, 91, .14);
  --ops-line-strong: rgba(13, 54, 91, .26);
  --ops-text: #0a2b4d;
  --ops-muted: #5d7286;
  --ops-blue: #12598d;
  --ops-cyan: #087f88;
  --ops-gold: #edc94b;
  color: var(--ops-text);
  background:
    radial-gradient(ellipse at 88% 0%, rgba(45, 137, 185, .13), transparent 34rem),
    radial-gradient(ellipse at 5% 24%, rgba(237, 201, 75, .11), transparent 27rem),
    linear-gradient(140deg, #f2f6f7, #f8f6ef 53%, #edf4f6);
}
#owner-view .owner-header {
  background: linear-gradient(105deg, #062546, #0b3b68);
  border-bottom: 1px solid rgba(237, 201, 75, .34);
  box-shadow: 0 12px 34px rgba(4, 28, 52, .18);
}
#owner-view .owner-wordmark { min-width: 0; gap: 10px; }
#owner-view .site-wordmark-mark {
  width: 58px;
  height: 36px;
  flex: none;
  fill: none;
  stroke: var(--ops-gold);
  stroke-width: 2.3;
  stroke-linecap: round;
  stroke-linejoin: round;
}
#owner-view .site-wordmark-mark .mark-highlight { stroke: #fff0b9; stroke-width: 2.8; }
#owner-view .owner-header .wordmark strong { color: #fff; }
#owner-view .owner-header .wordmark small { color: #d1deea; }
#owner-view .sample-status { color: #e0ebf4; }
#owner-view .sample-status i { background: #78ddb2; box-shadow: 0 0 0 4px rgba(120, 221, 178, .14); }
#owner-view .owner-return {
  color: #f4f7fa;
  border-color: rgba(255, 255, 255, .28);
  background: rgba(255, 255, 255, .08);
}
#owner-view .owner-return:hover { border-color: var(--ops-gold); background: rgba(255, 255, 255, .15); }
#owner-view .owner-main { max-width: 1420px; }
#owner-view .owner-welcome {
  position: relative;
  min-height: 270px;
  align-items: center;
  gap: 26px;
  margin-bottom: 24px;
  padding: 34px clamp(24px, 4vw, 52px);
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .2);
  border-radius: 24px;
  background: linear-gradient(90deg, rgba(3, 24, 46, .80), rgba(5, 47, 80, .57) 56%, rgba(7, 38, 64, .28)), url('./assets/tideline-hero.jpg') center 58% / cover;
  box-shadow: 0 22px 50px rgba(10, 43, 77, .2), inset 0 1px rgba(255,255,255,.2);
}
#owner-view .owner-welcome::after {
  content: "";
  position: absolute;
  right: 28%;
  bottom: -108px;
  width: 330px;
  height: 220px;
  border: 1px solid rgba(151, 220, 255, .26);
  border-radius: 50%;
  box-shadow: 0 0 0 18px rgba(151, 220, 255, .045), 0 0 0 38px rgba(255, 255, 255, .025);
  pointer-events: none;
}
#owner-view .owner-welcome > div:first-child { position: relative; z-index: 1; max-width: 720px; }
#owner-view .owner-welcome .section-kicker { color: #b8eaff; }
#owner-view .owner-welcome h1 { color: #eef9ff; font-size: clamp(44px, 5vw, 66px); text-shadow: 0 3px 24px rgba(1,17,35,.22); }
#owner-view .owner-welcome h1 em { color: #94dcff; }
#owner-view .owner-welcome p { color: #d9effa; }
#owner-view .owner-date {
  position: relative;
  z-index: 1;
  min-width: 224px;
  margin-left: auto;
  border: 1px solid rgba(255, 255, 255, .28);
  border-left: 2px solid #73cefa;
  border-radius: 14px;
  color: #e2edf5;
  background: rgba(5, 31, 55, .62);
  box-shadow: 0 10px 30px rgba(0, 0, 0, .16);
  backdrop-filter: blur(10px);
}
#owner-view .owner-date strong { color: #b4e7ff; }
#owner-view .owner-stats { gap: 16px; margin-bottom: 22px; }
#owner-view .owner-stats article {
  position: relative;
  min-height: 142px;
  overflow: hidden;
  padding: 21px 22px;
  border-color: var(--ops-line);
  border-radius: 18px;
  background: linear-gradient(145deg, #fff, #f6fafb);
  box-shadow: 0 12px 30px rgba(12, 45, 75, .08), inset 0 1px #fff;
  transition: transform .18s ease, box-shadow .18s ease;
}
#owner-view .owner-stats article:hover { transform: translateY(-2px); box-shadow: 0 17px 34px rgba(12, 45, 75, .12); }
#owner-view .owner-stats article::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: var(--stat-accent);
}
#owner-view .owner-stats article:nth-child(1) { --stat-accent: #138b94; }
#owner-view .owner-stats article:nth-child(2) { --stat-accent: #c7961e; }
#owner-view .owner-stats article:nth-child(3) { --stat-accent: #2673a2; }
#owner-view .owner-stat-icon {
  position: absolute;
  top: 17px;
  right: 18px;
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border: 1px solid color-mix(in srgb, var(--stat-accent) 24%, white);
  border-radius: 13px;
  color: var(--stat-accent);
  background: color-mix(in srgb, var(--stat-accent) 9%, white);
}
#owner-view .owner-stat-icon svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
#owner-view .owner-stats article > span:not(.owner-stat-icon) { max-width: calc(100% - 48px); color: #647b8d; font-size: 9px; }
#owner-view .owner-stats article strong { color: var(--stat-accent); font-size: 44px; }
#owner-view .owner-stats article small { color: #718598; font-size: 10px; }
#owner-view .owner-content-grid { gap: 18px; }
#owner-view .owner-card {
  border-color: var(--ops-line);
  border-radius: 20px;
  background: linear-gradient(160deg, #fff, #f7fafb);
  box-shadow: 0 16px 36px rgba(12, 45, 75, .08);
}
#owner-view .owner-card .section-kicker { color: #24749b; }
#owner-view .owner-card h2 { color: #0a2b4d; }
#owner-view .owner-card-heading p { color: #61788b; }
#owner-view .inbox-count { color: #806218; border-color: rgba(199, 150, 30, .3); background: #fff7df; }
#owner-view .inbox-row {
  border-color: rgba(13, 54, 91, .12);
  border-radius: 14px;
  background: #f8fbfc;
  box-shadow: 0 4px 11px rgba(10, 43, 77, .035);
}
#owner-view .inbox-row:hover { border-color: rgba(18, 89, 141, .3); background: #eef6fa; }
#owner-view .inbox-avatar { color: #087f88; border-color: rgba(8, 127, 136, .18); background: #e3f4f1; }
#owner-view .inbox-row-copy strong { color: #153b5a; }
#owner-view .inbox-row-copy p { color: #4f687d; }
#owner-view .inbox-row-copy small { color: #7b8e9e; }
#owner-view .inbox-tag.amber { color: #8a6414; border-color: #efdbab; background: #fff5d9; }
#owner-view .inbox-tag.blue { color: #18685a; border-color: #b8e0d2; background: #e5f5ed; }
#owner-view .inbox-review { color: #124e78; border-color: #c4dceb; background: #edf6fb; }
#owner-view .inbox-review:hover { border-color: #6fa9ca; background: #e1f0f8; }
#owner-view .inbox-empty { color: #5d7286; border-color: var(--ops-line); background: #f6fafb; }
#owner-view .inbox-error { color: #8e3c32; border-color: #edc4bb; background: #fff0ec; }
#owner-view .handover-preview-detail { border-color: #d4e2e9; background: linear-gradient(145deg, #f6fafb, #edf5f7); }
#owner-view .handover-preview-heading h3 { color: #123958; }
#owner-view .handover-preview-message { color: #334f67; border-left-color: #c7961e; background: #fff8e8; }
#owner-view .handover-thread-message { border-color: #d6e2e9; background: #fff; }
#owner-view .handover-thread-message.guest { border-left-color: #2f8ba5; }
#owner-view .handover-thread-message.reply { border-right-color: #168d83; background: #eaf7f4; }
#owner-view .handover-thread-message strong { color: #60788b; }
#owner-view .handover-thread-message p { color: #193d5a; }
#owner-view .handover-note-field { color: #284964; }
#owner-view .handover-note-field textarea { color: #153b59; border-color: #ccdae3; background: #fff; }
#owner-view .handover-preview-actions button { color: #124e78; border-color: #cfdee7; background: #fff; }
#owner-view .handover-preview-actions button:hover { border-color: #80b2ce; background: #edf7fb; }
#owner-view .handover-preview-actions button:last-child { color: #173f37; border-color: #e4ce84; background: #fff6d9; }
#owner-view .handover-preview-feedback { color: #61788b; }
#owner-view .insight-card {
  border-color: rgba(9, 54, 92, .24);
  background:
    radial-gradient(ellipse at 100% 0%, rgba(41, 138, 178, .34), transparent 19rem),
    linear-gradient(145deg, #0b355b, #082541 76%);
  box-shadow: 0 18px 40px rgba(7, 37, 64, .17);
}
#owner-view .insight-card .section-kicker { color: #f1d36c; }
#owner-view .insight-card h2 { color: #fff; }
#owner-view .insight-card h2 em { color: #f1d36c; }
#owner-view .insight-card > p { color: #d6e3ed; }
#owner-view .insight-check { color: #f1d36c; border-color: rgba(241, 211, 108, .6); background: rgba(241, 211, 108, .1); }
#owner-view .insight-list strong { color: #fff; }
#owner-view .insight-list small { color: #c5d8e5; }
#owner-view .owner-primary {
  color: #153753;
  border-color: #f1d36c;
  background: linear-gradient(105deg, #f4d975, #efc34a);
  box-shadow: 0 7px 18px rgba(2, 19, 34, .18);
}
#owner-view .owner-primary:hover { filter: brightness(1.06); }
#owner-view .owner-footnote { color: #5c7285; border-color: var(--ops-line); background: rgba(255, 255, 255, .68); }
#owner-view :where(button, a, input, textarea):focus-visible { outline-color: #087f88; box-shadow: 0 0 0 5px rgba(8, 127, 136, .13); }
@media (max-width: 720px) {
  #owner-view .owner-welcome { min-height: 0; padding: 27px 22px; border-radius: 19px; }
  #owner-view .owner-welcome h1 { font-size: clamp(40px, 10vw, 54px); }
  #owner-view .owner-date { width: fit-content; margin-left: 0; }
  #owner-view .owner-stat-icon { top: 13px; right: 14px; width: 35px; height: 35px; }
  #owner-view .owner-stats article { min-height: 92px; padding: 14px 16px; }
}

#guest-site .footer-powered { min-height: 72px; }
#owner-view .owner-footer {
  border-top: 1px solid rgba(167, 219, 251, .22);
  background: linear-gradient(105deg, #041c36, #0a3459 68%, #0b416d);
}
#owner-view .owner-footer-inner {
  max-width: 1420px;
  min-height: 100px;
  margin: 0 auto;
  padding: 14px clamp(18px, 3vw, 38px);
  display: grid;
  grid-template-columns: minmax(225px, .8fr) minmax(280px, 1.5fr) auto;
  align-items: center;
  gap: 22px;
}
#owner-view .owner-footer-brand { display: flex; align-items: center; gap: 13px; min-width: 0; color: #fff; }
#owner-view .owner-footer-brand img {
  width: 68px;
  height: 68px;
  flex: none;
  object-fit: cover;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 0 0 3px rgba(173, 218, 246, .22), 0 9px 22px rgba(0, 0, 0, .2);
}
#owner-view .owner-footer-brand strong { display: block; font-family: Georgia, "Times New Roman", serif; font-size: 18px; line-height: 1.15; }
#owner-view .owner-footer-brand small { display: block; margin-top: 5px; color: #b8d6e9; font-size: 8px; letter-spacing: .12em; }
#owner-view .owner-footer-inner > p { margin: 0; color: #d0e1ef; font-size: 9px; line-height: 1.6; }
#owner-view .owner-footer-badge { justify-self: end; padding: 7px 10px; border: 1px solid rgba(181, 224, 251, .48); border-radius: 999px; color: #d7efff; font-size: 8px; letter-spacing: .05em; white-space: nowrap; }
@media (max-width: 720px) {
  #owner-view .owner-footer-inner { min-height: 0; grid-template-columns: 1fr auto; gap: 12px; padding: 16px 18px; }
  #owner-view .owner-footer-brand img { width: 58px; height: 58px; }
  #owner-view .owner-footer-inner > p { grid-column: 1 / -1; grid-row: 2; }
  #owner-view .owner-footer-badge { grid-column: 2; grid-row: 1; }
}

#guest-site .staff-demo-link {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  margin-right: 11px;
  padding: 8px 12px;
  border: 1px solid rgba(235, 244, 252, .58);
  border-radius: 24px;
  background: rgba(255, 255, 255, .08);
  color: #f4f8fb;
  font-size: 10px;
  font-weight: 700;
  white-space: nowrap;
  transition: background .18s ease, border-color .18s ease, transform .18s ease;
}
#guest-site .staff-demo-link:hover { transform: translateY(-1px); border-color: #ffe28b; background: rgba(255,255,255,.16); }
#guest-site .staff-demo-mark { font-size: 14px; line-height: 1; }
.chat-audience-switch {
  flex: none;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5px;
  padding: 7px 12px;
  border-bottom: 1px solid #dce5ee;
  background: #f3f7fa;
}
.chat-audience-switch button {
  min-height: 31px;
  border: 1px solid transparent;
  border-radius: 18px;
  background: transparent;
  color: #587085;
  font-size: 9px;
  font-weight: 700;
  transition: background .18s ease, color .18s ease, border-color .18s ease;
}
.chat-audience-switch button[aria-pressed="true"] { border-color: #b9d2e2; background: #fff; color: #0e4a72; box-shadow: 0 2px 6px rgba(9,44,73,.08); }
.chat-audience-switch button:focus-visible { outline: 2px solid #3b9ecb; outline-offset: 2px; }
.concierge-panel.product-guide .chat-header { background: linear-gradient(105deg, #062546, #0b4b73); }
.concierge-panel.product-guide .chat-brand-icon { color: #94dcff; border-color: rgba(148,220,255,.55); }
.concierge-panel.product-guide .chat-messages { background: linear-gradient(#f8fcff, #eef6fa); }
.concierge-panel.product-guide .chat-avatar { background: #dff2fc; color: #12618a; }
.concierge-panel.product-guide .chat-suggestions button { border-color: #bdd8e7; color: #185879; background: #f7fcff; }
.concierge-panel.product-guide .chat-suggestions button:hover { background: #e8f6fd; }
.concierge-panel.product-guide .chat-suggestions button[data-open-staff-demo] { border-color: #0d4d75; background: #0d4d75; color: #fff; }
@media (max-width: 980px) {
  #guest-site .staff-demo-link { width: 38px; min-width: 38px; padding: 0; }
  #guest-site .staff-demo-label { display: none; }
}
@media (max-width: 720px) {
  #guest-site .staff-demo-link { width: 34px; min-width: 34px; min-height: 34px; margin-right: 6px; }
  #guest-site .header-cta { min-height: 34px; }
}

/* Final gallery composition: three hero cards, with larger images and clean responsive stacking. */
@media (min-width: 981px) {
  #guest-site .stay-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
  #guest-site .stay-card { height: clamp(190px, 15.5vw, 218px); }
  #guest-site .stay-card img { transform: scale(1.08); }
  #guest-site .stay-card:hover img { transform: scale(1.13); }
}
@media (max-width: 980px) and (min-width: 721px) {
  #guest-site .stay-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; }
  #guest-site .stay-card { height: 190px; }
}
@media (max-width: 720px) {
  #guest-site .stay-grid { grid-template-columns: 1fr; gap: 11px; }
  #guest-site .stay-card { height: 190px; }
}
@media (max-width: 420px) {
  #guest-site .stay-card { height: 176px; }
}
#guest-site .discover-image img { object-position: center 64%; }

.concierge-status-line>span.demo-state { color:#a57835; }
.concierge-status-line>span.demo-state i { background:#c89b4d; }
/* Keep the concierge preview inside the hero so it never covers the gallery or footer. */
#guest-site .hero .concierge-launcher-wrap {
  position: absolute;
  z-index: 30;
  top: auto;
  right: clamp(18px, 5vw, 70px);
  bottom: 24px;
}
