[hidden]{display:none!important}
.app-device-panel.device-settings{padding:0;background:transparent;border:0;box-shadow:none;margin:20px 0 0}.device-settings>summary{cursor:pointer;color:#607783;font-size:.8rem;padding:10px 0}.device-settings[open]{padding:16px;background:#fff;border:1px solid #dfe8ed;border-radius:16px}.push-nudge{position:fixed;z-index:80;right:18px;bottom:24px;max-width:330px;width:calc(100% - 32px);background:#fff;border:1px solid #d6e8e4;border-radius:18px;padding:18px;box-shadow:0 12px 36px #10384b30}.push-nudge strong{display:block;padding-right:28px;font-size:.95rem}.push-nudge p{font-size:.82rem;color:#607783;line-height:1.5;margin:8px 0 14px}.push-nudge-close{position:absolute;right:6px;top:4px;border:0;background:transparent;color:#607783;font-size:24px;width:40px;height:40px;cursor:pointer}.push-nudge [role=status]{display:block;font-size:.8rem;margin-top:8px}.push-nudge [role=status]:empty{display:none}@media(max-width:760px){.push-nudge{bottom:calc(82px + env(safe-area-inset-bottom));right:16px;max-width:330px}}
.work-hero{padding:22px 0 28px}.work-hero h2{font-size:clamp(1.6rem,4vw,2.4rem);letter-spacing:-.04em;margin:10px 0}.work-hero p{color:#58717d;line-height:1.6}.work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}.work-card{padding:22px;background:white;border:1px solid #dce8eb;border-radius:22px;box-shadow:0 8px 28px #163c4810;min-width:0}.work-card h2{font-size:1.2rem;line-height:1.4}.work-card p{color:#536c78}.work-card a{text-decoration:none}.work-card-top,.work-meta{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.work-meta{font-size:.8rem;margin:20px 0;color:#637b85}.work-text{white-space:pre-wrap;overflow-wrap:anywhere}.work-section{margin-top:24px;scroll-margin-top:20px}.work-tabs{display:flex;gap:12px;overflow:auto;margin:18px 0}.work-tabs a{padding:12px 16px;border-radius:30px;background:#e8f3f0;color:#1d635e;white-space:nowrap;text-decoration:none;font-weight:700}.work-timeline{padding-left:22px;border-left:2px solid #d3e8e2;list-style:none}.work-timeline li{margin:0 0 24px}.work-timeline small{display:block;color:#67808a;margin-top:4px}.work-grid .stack-form,.work-section .stack-form{margin-top:16px}.work-grid textarea,.work-section textarea{min-height:90px}.work-card li{margin-bottom:16px}.role-welcome{padding:22px;border-radius:24px;background:linear-gradient(120deg,#10384b,#126e6c);color:white;margin-bottom:22px}.role-welcome h2{margin:8px 0}.role-welcome p{color:#d5e9e9;line-height:1.5}.role-welcome .eyebrow{color:#8ce1d1}@media(max-width:760px){.work-grid{grid-template-columns:1fr}.work-card{padding:18px}.work-hero{padding-top:12px}.work-tabs{gap:7px}.work-tabs a{font-size:.8rem;padding:10px 12px}.work-card .btn,.work-section .btn{min-height:46px}.work-grid .panel{min-width:0}}
.install-banner{display:flex;align-items:center;gap:14px;padding:16px max(18px,calc((100% - 1240px)/2));background:#e8f6f3;border-bottom:1px solid #cfe5df;color:#103a45}
.install-banner-copy{flex:1;min-width:0}.install-banner-copy strong,.install-banner-copy span{display:block}.install-banner-copy span{font-size:.85rem;margin-top:4px}.install-banner-copy p{font-size:.85rem;line-height:1.5;margin:8px 0 0}.install-banner img{object-fit:contain;border-radius:10px;background:white}.install-banner-close{border:0;background:transparent;font-size:26px;min-width:44px;min-height:44px;cursor:pointer;color:#315c62}.install-banner .btn{white-space:nowrap;min-height:44px}
@media(max-width:600px){.install-banner{gap:10px;flex-wrap:wrap;padding:14px 16px}.install-banner-copy{flex-basis:calc(100% - 110px);order:1}.install-banner img{order:0;width:40px;height:40px}.install-banner-close{order:2}.install-banner [data-app-install]{order:3;width:100%}.install-banner-copy strong{font-size:.93rem}}
.booking-cards>.booking-card{position:static;height:auto}
.booking-card label.booking-check{flex-direction:row;font-weight:500}
.booking-filters input,.booking-filters select{border:1px solid #d6e3ea;border-radius:12px;background:#fff;color:#19364a;padding:13px 14px;min-height:48px;font:inherit;box-sizing:border-box}
.booking-hero{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:12px 0 24px}.booking-hero h2{font-size:clamp(1.7rem,3vw,2.5rem);letter-spacing:-.045em;margin:10px 0;color:#123044}.booking-hero p{color:#627581;margin:0;max-width:560px;line-height:1.6}
.booking-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:24px}.booking-stats>div{background:#e8f2f1;border:1px solid #d8e9e6;padding:18px 22px;border-radius:18px;display:flex;align-items:center;gap:14px}.booking-stats strong{font-size:1.8rem;color:#08736f}.booking-stats span{font-size:.85rem;color:#45626a}
.booking-filters{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 24px}.booking-filters input{flex:2;min-width:180px}.booking-filters select{flex:1;min-width:160px}.booking-filters a{font-size:.85rem;color:#526a78}.booking-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:start}.booking-card{background:#fff;border:1px solid #dfe8ed;border-radius:24px;padding:24px;box-shadow:0 8px 26px #102d4010;min-width:0}.booking-card-top{display:flex;justify-content:space-between;align-items:center;gap:10px}.booking-reference{font-size:.7rem;letter-spacing:.12em;font-weight:800;color:#6c808c}.booking-card h2{font-size:1.22rem;letter-spacing:-.02em;line-height:1.35;margin:22px 0 16px}.booking-guest{display:flex;align-items:center;gap:12px}.guest-initial{height:42px;width:42px;border-radius:50%;background:#e9f3f2;color:#08716b;display:grid;place-items:center;font-weight:800}.booking-guest small{display:block;color:#687c87;margin-top:3px}.booking-dates{display:flex;justify-content:space-between;align-items:center;margin:22px 0;padding:16px;background:#f6f8fa;border-radius:14px;gap:8px}.booking-dates div{display:flex;flex-direction:column;gap:6px}.booking-dates div:last-child{text-align:right}.booking-dates div>span{font-size:.62rem;letter-spacing:.1em;color:#6c808c;font-weight:800}.booking-dates strong{font-size:.94rem}.booking-money{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.booking-money small{display:block;color:#6c808c;font-size:.73rem;margin-bottom:6px}.booking-money strong{font-size:1.2rem}.booking-money>div:last-child{text-align:right}.booking-money>div:nth-child(2){text-align:center}.booking-card .mini-progress{margin:16px 0}.booking-note{font-size:.8rem;line-height:1.5;background:#fff5e5;color:#805414;border-radius:12px;padding:12px}.booking-note.approved{background:#e9f7ef;color:#296846}.booking-card-links{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.message-count{background:#087f7b;color:white;border-radius:99px;padding:2px 7px;font-size:.7rem}.booking-actions{border-top:1px solid #e7eef1;margin-top:18px;padding-top:6px}.booking-actions summary{list-style:none;cursor:pointer;padding:14px 0;font-weight:750;display:flex;justify-content:space-between;gap:8px;font-size:.87rem}.booking-actions summary::-webkit-details-marker{display:none}.booking-subaction{border-top:1px solid #e7eef1}.booking-subaction summary{color:#405d6c}.booking-subaction.danger summary{color:#a53535}.booking-check{display:flex;gap:10px;align-items:flex-start;font-size:.83rem;line-height:1.5;margin:10px 0 16px}.booking-check input{width:20px;height:20px;flex:none}.booking-actions .stack-form{padding-bottom:16px}.booking-actions .muted{font-size:.82rem;line-height:1.5}.booking-subaction p{font-size:.78rem;overflow-wrap:anywhere}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.mobile-bottom-nav{display:none}.app-device-panel{background:#fff;border:1px solid #dfe8ed;border-radius:20px;margin:24px 0;padding:20px}.app-device-panel p{color:#607783;font-size:.86rem;line-height:1.5}.device-actions{display:flex;gap:10px;flex-wrap:wrap}.device-status{min-height:24px}.chat-thread{max-height:480px;overflow:auto;display:flex;flex-direction:column;gap:12px;padding:12px 0}.chat-bubble{border-radius:18px;padding:14px 18px;background:#f0f4f7;max-width:90%;align-self:flex-start}.chat-bubble.mine{background:#e1f3ee;align-self:flex-end}.chat-bubble small{display:block;font-size:.7rem;color:#5c727d;margin-top:5px}.chat-bubble p{white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0;line-height:1.6}.chat-bubble strong{font-size:.83rem}.btn:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid #218dba;outline-offset:3px}
@media(max-width:1150px){.booking-cards{grid-template-columns:1fr}}
@media(max-width:760px){.app-main{padding:18px 16px 100px!important;min-width:0}.app-topbar{gap:12px}.app-topbar h1{font-size:1.35rem}.app-topbar>.btn{font-size:.75rem;padding:10px}.booking-hero{align-items:flex-start;flex-direction:column;gap:16px}.booking-hero .btn{width:100%}.booking-stats{gap:7px;margin-bottom:20px}.booking-stats>div{padding:14px 8px;flex-direction:column;gap:3px;text-align:center}.booking-stats span{font-size:.68rem}.booking-stats strong{font-size:1.5rem}.booking-card{padding:18px;border-radius:20px}.booking-cards{gap:16px}.booking-filters{gap:8px}.booking-filters input{flex-basis:100%}.booking-filters select{min-width:0;width:50%}.booking-filters .btn{flex:1}.booking-card .btn{font-size:.82rem;min-height:46px}.booking-money strong{font-size:1.1rem}.booking-card-top .status-pill{font-size:.65rem}.booking-reference{font-size:.6rem}.mobile-bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:60;background:#fffffff5;backdrop-filter:blur(16px);border-top:1px solid #dfe8ed;padding:8px 10px calc(8px + env(safe-area-inset-bottom));justify-content:space-around}.mobile-bottom-nav a{display:flex;flex-direction:column;align-items:center;gap:4px;color:#607783;text-decoration:none;font-size:.67rem;min-width:58px;min-height:44px;border-radius:12px;padding:5px}.mobile-bottom-nav a.active{background:#e4f3ee;color:#006d65}.mobile-bottom-nav svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.app-shell input,.app-shell select,.app-shell textarea{font-size:16px!important;max-width:100%}.app-columns{grid-template-columns:1fr!important}.panel{padding:18px}.reservation-row{display:flex!important;flex-direction:column;align-items:stretch!important;gap:14px}.chat-bubble{max-width:95%}.device-actions .btn{width:100%}.sidebar{z-index:70}.booking-actions summary{min-height:44px}.app-device-panel{margin-bottom:12px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
