/* Bookd design system: full stylesheet (components, page layouts, legacy pages). Loaded after the inlined critical CSS. */
/* Section heads */
.sec-head{max-width:760px;margin:0 auto var(--s-7);text-align:center}.sec-head .lead{margin-top:var(--s-4)}
.sec-head--left{text-align:left;margin-inline:0}
.center{text-align:center}
.muted{color:var(--ink-muted)}.small{font-size:var(--step--1)}
.stack>*+*{margin-top:var(--s-4)}
/* Grid helpers */
.grid-3{display:grid;gap:24px}@media (min-width:768px){.grid-3--t2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.grid-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}}
.split{display:grid;gap:var(--s-7);align-items:center}.split>*,.guide-grid>*,.grid-3>*{min-width:0}.browser__url{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
@media (min-width:1024px){.split{grid-template-columns:repeat(12,minmax(0,1fr));gap:32px}.split__a{grid-column:1/6}.split__b{grid-column:7/13}.split__a6{grid-column:1/7}.split__b5{grid-column:8/13}.split--faq{align-items:start}.split--faq .split__a{grid-column:1/5}.split--faq .split__b{grid-column:5/13}}
/* Cards */
.card{background:var(--white);border:var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-1);padding:var(--s-5)}
@media (min-width:768px){.card{padding:var(--s-6)}}
.card--link{position:relative;transition:box-shadow var(--dur-2) var(--ease-std),transform var(--dur-2) var(--ease-std),border-color var(--dur-2)}
.card--link h3 a{color:var(--ink);text-decoration:none}.card--link h3 a::after{content:"";position:absolute;inset:0;border-radius:var(--r-lg)}
.card--link:hover{box-shadow:var(--shadow-2);transform:translateY(-2px);border-color:var(--line-strong)}
.card--link:focus-within{box-shadow:0 0 0 3px var(--focus)}.card--link h3 a:focus-visible{outline:none}
.feature .icon{width:40px;height:40px;border-radius:var(--r-md);background:var(--green-50);color:var(--green-700);display:flex;align-items:center;justify-content:center;margin-bottom:var(--s-4)}
.icon svg,svg.i{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.feature h3{margin-bottom:var(--s-2)}.feature p{color:var(--ink-muted);margin:0}
.card-meta{margin:var(--s-4) 0 0;font-size:var(--step--1);color:var(--ink-muted);font-variant-numeric:tabular-nums}
/* Steps */
.steps{list-style:none;margin:0;padding:0;counter-reset:st;display:grid;gap:var(--s-6)}
.steps>li{counter-increment:st;position:relative;padding-left:64px;min-height:40px}
.steps>li::before{content:counter(st);position:absolute;left:0;top:0;width:40px;height:40px;border-radius:50%;background:var(--green-50);color:var(--green-700);font:600 20px/40px var(--font-display);text-align:center;font-variant-numeric:tabular-nums}
.steps>li:not(:last-child)::after{content:"";position:absolute;left:19px;top:48px;bottom:calc(-1 * var(--s-6) + 8px);border-left:2px dashed var(--line)}
.steps h3{margin:4px 0 var(--s-2)}.steps p{color:var(--ink-muted);margin:0}
@media (min-width:1024px){.steps--horizontal{grid-template-columns:repeat(var(--n,3),minmax(0,1fr));gap:32px}.steps--horizontal>li{padding:56px 0 0}.steps--horizontal>li:not(:last-child)::after{left:52px;right:-20px;top:19px;bottom:auto;border-left:0;border-top:2px dashed var(--line)}}
.steps--compact{gap:var(--s-4)}.steps--compact>li{padding-left:52px}.steps--compact>li::before{width:32px;height:32px;font-size:16px;line-height:32px}.steps--compact>li:not(:last-child)::after{display:none}.steps--compact h3{font-size:var(--step-0);margin:4px 0 2px}
/* Pricing callout */
.price-card{background:var(--white);border-radius:var(--r-xl);box-shadow:var(--shadow-2);border-top:2px solid var(--green-500);padding:var(--s-6);max-width:880px;margin:0 auto;display:grid;gap:var(--s-6)}
@media (min-width:768px){.price-card{grid-template-columns:1fr 1fr;padding:var(--s-7);align-items:center}}
.price-num{font:600 var(--step-5)/1 var(--font-display);color:var(--green-700);letter-spacing:-0.02em;margin:0 0 var(--s-2)}
.price-sub{font-size:var(--step-1);margin:0}
.checks{list-style:none;margin:0;padding:0;display:grid;gap:var(--s-3)}
.checks li{display:flex;gap:10px;align-items:flex-start}.checks svg{flex:none;width:20px;height:20px;color:var(--green-500);margin-top:3px;fill:none;stroke:currentColor;stroke-width:2.25;stroke-linecap:round;stroke-linejoin:round}
.price-foot{grid-column:1/-1;font-size:var(--step--1);color:var(--ink-muted);margin:0;border-top:var(--border);padding-top:var(--s-4)}
/* Integration list */
.integ{padding:0}.integ h3{font-size:var(--step-0);padding:var(--s-5) var(--s-5) 0}
@media (min-width:768px){.integ h3{padding:var(--s-6) var(--s-6) 0}}
.integ ul{list-style:none;margin:0;padding:var(--s-2) 0 0}
.integ li{padding:var(--s-4) var(--s-5);border-top:var(--border)}@media (min-width:768px){.integ li{padding:var(--s-4) var(--s-6)}}
.integ li:first-child{border-top:0}
.integ .row1{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;font-weight:600}
.integ p{margin:4px 0 0;color:var(--ink-muted);font-size:var(--step--1)}
.footnote{font-size:14px;color:var(--ink-muted);margin:var(--s-4) 0 0}
/* FAQ */
.faq details{border-top:var(--border)}.faq details:last-child{border-bottom:var(--border)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:var(--s-4);padding:20px 0;min-height:56px;font:600 var(--step-1)/1.35 var(--font-sans)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:none;width:20px;height:20px;background:linear-gradient(currentColor,currentColor) center/14px 2px no-repeat,linear-gradient(currentColor,currentColor) center/2px 14px no-repeat;transition:transform var(--dur-2) var(--ease-std)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq .ans{color:var(--ink-muted);max-width:68ch;padding-bottom:20px}.faq .ans p:last-child{margin:0}
/* Callouts */
.callout{border-left:4px solid var(--green-500);background:var(--green-50);border-radius:0 var(--r-md) var(--r-md) 0;padding:var(--s-4) var(--s-5);margin:var(--s-5) 0}
.callout--warn{border-left-color:#d48a00;background:var(--amber-50)}.callout b{display:block;margin-bottom:2px}.callout p:last-child{margin:0}
/* Video slot */
.video{margin:0 auto;max-width:960px}
.video__frame{position:relative;aspect-ratio:16/9;border-radius:var(--r-xl);box-shadow:var(--shadow-3);overflow:hidden;background:var(--sand);border:1px solid var(--line)}
.poster .chip{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;word-break:normal}
.poster{position:absolute;inset:0;display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:4%;padding:5% 6%;overflow:hidden}
.poster::after{content:"";position:absolute;right:-12%;bottom:-30%;width:60%;aspect-ratio:1;border-radius:50%;background:var(--green-50)}
.poster>*{position:relative;z-index:1}
.poster .eyebrow{font-size:clamp(9px,1.2vw,14px)}
.poster__h{font:600 clamp(18px,3.6vw,40px)/1.05 var(--font-display);letter-spacing:-0.015em;margin:0 0 4%}
.poster__sub{font-size:clamp(11px,1.6vw,18px);color:var(--ink-muted);margin:0}
.poster .ep{transform:rotate(-2deg) scale(.82);transform-origin:center}
@media (max-width:767px){.poster{grid-template-columns:1fr}.poster .ep-wrap{display:none}}
.video__badge{position:absolute;right:16px;bottom:16px;z-index:2}
.video figcaption{text-align:center;color:var(--ink-muted);margin-top:var(--s-4)}
/* Booking page mock */
.browser{background:var(--white);border-radius:var(--r-xl);box-shadow:var(--shadow-2);overflow:hidden;border:1px solid var(--line)}
.browser__bar{display:flex;align-items:center;gap:6px;padding:10px 14px;background:var(--sand);border-bottom:1px solid var(--line)}.browser__bar i{width:8px;height:8px;border-radius:50%;background:var(--line-strong);opacity:.5}
.browser__url{flex:1;margin-left:8px;background:var(--white);border-radius:var(--r-sm);padding:4px 10px;font:13px/1.4 var(--font-mono);color:var(--ink-muted);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.browser__body{padding:var(--s-5)}
.bp-art{display:block;width:100%;aspect-ratio:21/9;height:auto;border-radius:var(--r-lg)}
.bp-title{font:600 var(--step-2)/1.2 var(--font-display);margin:var(--s-4) 0 2px}
.bp-meta{color:var(--ink-muted);font-size:14px;margin:0 0 var(--s-4)}
.bp-room{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-top:var(--border);font-size:15px;font-variant-numeric:tabular-nums}
.bp-btn{margin-top:var(--s-4);display:block;text-align:center;background:var(--green-600);color:#fff;border-radius:var(--r-md);padding:10px;font-weight:600;font-size:15px}
/* Guest band */
.guest-card{max-width:960px;margin:0 auto;display:grid;gap:var(--s-6)}
@media (min-width:1024px){.guest-card{grid-template-columns:1fr 1fr;gap:0}.guest-card>div{padding:0 var(--s-6)}.guest-card>div+div{border-left:var(--border)}}
.guest-card h3{margin-bottom:var(--s-2)}.guest-card p{color:var(--ink-muted)}
/* Navy band */
.band-cta{max-width:720px;margin:0 auto;text-align:center}.band-cta p{font-size:var(--step-1);margin:var(--s-4) 0 var(--s-6)}
/* Forms */
.form-layout{background:var(--cream)}
@media (min-width:1024px){.form-layout{background:linear-gradient(90deg,var(--cream) 50%,var(--sand) 50%)}}
.form-grid{display:grid;gap:var(--s-7);padding-block:var(--s-7) var(--s-9)}
@media (min-width:1024px){.form-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:32px}.form-main{grid-column:1/7;max-width:560px}.form-side{grid-column:8/13}.form-side .sticky{position:sticky;top:96px}.form-side .card--panel{background:transparent;border:0;box-shadow:none;padding:var(--s-5) 0}}
.form-card h1{margin-bottom:var(--s-3)}.form-card>.lead{margin-bottom:var(--s-6)}
.field{margin-bottom:var(--s-5)}
.field label,.label{display:block;font:600 15px/1.4 var(--font-sans);color:var(--ink);margin-bottom:6px}
.field .opt{color:var(--ink-muted);font-weight:400}
.hint{display:block;font-size:14px;color:var(--ink-muted);margin:-2px 0 8px}
.input,.field input:not([type=checkbox]):not([type=radio]),.field textarea,.field select{display:block;width:100%;min-height:48px;padding:12px 14px;background:var(--white);border:var(--border-input);border-radius:var(--r-sm);font:400 16px/1.4 var(--font-sans);color:var(--ink);transition:border-color var(--dur-1),box-shadow var(--dur-1)}
.field input:hover,.field textarea:hover,.field select:hover{border-color:var(--ink-muted)}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--green-600);box-shadow:0 0 0 3px rgba(1,149,113,.25)}
.field [aria-invalid="true"]{border:2px solid var(--red-700)}
.err-msg{display:flex;gap:6px;align-items:flex-start;color:var(--red-700);font-size:14px;margin-top:6px}.err-msg svg{flex:none;width:16px;height:16px;margin-top:2px;fill:none;stroke:currentColor;stroke-width:2}
.pw-wrap{position:relative}.pw-wrap input{padding-right:72px}
.pw-toggle{position:absolute;right:2px;top:2px;min-width:44px;height:44px;padding:0 12px;background:none;border:0;color:var(--green-700);font:600 15px/1 var(--font-sans);cursor:pointer;border-radius:var(--r-sm)}
.pw-help{font-size:14px;color:var(--ink-muted);margin-top:6px}.pw-help.ok{color:var(--green-700)}
.check-row{display:flex;gap:12px;align-items:flex-start;min-height:44px;padding:6px 0;cursor:pointer;font-size:15px;line-height:1.5}
.check-row input{appearance:none;-webkit-appearance:none;flex:none;width:24px;height:24px;margin:0;border:1.5px solid var(--line-strong);border-radius:4px;background:var(--white);display:grid;place-content:center;cursor:pointer}
.check-row input:checked{background:var(--green-600);border-color:var(--green-600)}
.check-row input:checked::after{content:"";width:12px;height:7px;border-left:2.5px solid #fff;border-bottom:2.5px solid #fff;transform:translateY(-2px) rotate(-45deg)}
.check-row input[aria-invalid="true"]{border:2px solid var(--red-700)}
.err-summary{background:var(--red-50);border-left:4px solid var(--red-700);border-radius:0 var(--r-md) var(--r-md) 0;padding:var(--s-4) var(--s-5);margin-bottom:var(--s-5)}
.err-summary h2{font:600 var(--step-0)/1.4 var(--font-sans);color:var(--red-700);margin:0 0 6px}.err-summary ul{margin:0;padding-left:20px}.err-summary a{color:var(--red-700)}
.err-summary:focus{outline:3px solid var(--focus);outline-offset:3px}
.form-note{font-size:14px;color:var(--ink-muted);text-align:center;margin-top:var(--s-4)}
.form-small{font-size:14px;color:var(--ink-muted)}
.spinner{width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;animation:spin 700ms linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
/* Progress */
.progress{list-style:none;margin:0 0 var(--s-6);padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:4px}
.progress li{font:600 13px/1.3 var(--font-sans);color:var(--ink-muted)}.progress li::before{content:"";display:block;height:4px;border-radius:2px;background:var(--line);margin-bottom:8px}
.progress li[aria-current="step"]{color:var(--ink)}.progress li[aria-current="step"]::before,.progress li.done::before{background:var(--green-600)}
/* Side panel */
.side-h{font:600 var(--step-2)/1.3 var(--font-sans);margin:0 0 var(--s-5)}
.side-after{margin-top:var(--s-5)}
.forgot{margin:-8px 0 var(--s-5);text-align:right;font-size:14px}.forgot summary{cursor:pointer;color:var(--green-700);text-decoration:underline;text-underline-offset:3px;display:inline-block;min-height:44px;line-height:44px}.forgot p{text-align:left;color:var(--ink-muted);background:var(--sand);padding:var(--s-3) var(--s-4);border-radius:var(--r-md);margin:0}
.login-wrap{max-width:440px;margin:0 auto;padding-block:var(--s-8) var(--s-9)}
.login-wrap h1{font-size:var(--step-3);margin-bottom:var(--s-5)}
/* Welcome */
.welcome{max-width:720px;margin:0 auto;padding-block:var(--s-7) var(--s-9)}
.tick-big{width:64px;height:64px;border-radius:50%;background:var(--green-50);color:var(--green-700);display:flex;align-items:center;justify-content:center;margin-bottom:var(--s-5)}
.tick-big svg{width:32px;height:32px;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
@media (prefers-reduced-motion:no-preference){.tick-big{animation:pop var(--dur-3) var(--ease-out)}}@keyframes pop{from{opacity:0;transform:scale(.9)}}
.welcome h1{margin-bottom:var(--s-4)}
.checklist{list-style:none;margin:var(--s-6) 0;padding:0;counter-reset:cl}
.checklist li{counter-increment:cl;display:grid;grid-template-columns:40px 1fr auto;gap:var(--s-4);align-items:center;padding:var(--s-4) 0;border-top:var(--border)}.checklist li:first-child{border-top:0}
.checklist li::before{content:counter(cl);width:32px;height:32px;border-radius:50%;background:var(--green-50);color:var(--green-700);font:600 16px/32px var(--font-display);text-align:center}
.checklist b{display:block}.checklist span{color:var(--ink-muted);font-size:var(--step--1)}
.help-grid{display:grid;gap:var(--s-5);margin-top:var(--s-7)}@media (min-width:768px){.help-grid{grid-template-columns:1fr 1fr}}
.help-grid h2{font:600 var(--step-1)/1.3 var(--font-sans);margin-bottom:var(--s-2)}.help-grid p{color:var(--ink-muted);margin:0}
/* Guides */
.crumbs{font-size:var(--step--1);color:var(--ink-muted);margin-bottom:var(--s-4)}.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0}.crumbs li+li::before{content:"›";margin-right:6px}
.guide-meta{color:var(--ink-muted);font-size:var(--step--1);margin:var(--s-3) 0 var(--s-6)}
.need{background:var(--sand);border-radius:var(--r-lg);padding:var(--s-5);margin-bottom:var(--s-7)}.need h2{font:600 var(--step-1)/1.3 var(--font-sans);margin-bottom:var(--s-2)}.need ul{margin:0;padding-left:20px}
.guide-grid{display:grid;gap:var(--s-7)}
@media (min-width:1024px){.guide-grid{grid-template-columns:repeat(10,minmax(0,1fr));gap:32px}.guide-toc{grid-column:1/4}.guide-body{grid-column:4/11}.guide-toc nav{position:sticky;top:96px}}
.guide-toc h2{font:600 var(--step--1)/1.4 var(--font-sans);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-muted);margin-bottom:var(--s-3)}
.guide-toc ol{margin:0;padding-left:20px;display:grid;gap:6px;font-size:var(--step--1)}
.steps--guide>li{padding-bottom:var(--s-2)}.steps--guide h3{font-size:var(--step-1)}.steps--guide p{color:var(--ink)}
.copy-chip{display:flex;gap:8px;align-items:center;margin:var(--s-3) 0;flex-wrap:wrap}
.copy-btn{font:600 14px/1 var(--font-sans);color:var(--green-700);background:none;border:0;cursor:pointer;min-height:44px;padding:0 8px}
.guide-next{display:flex;flex-wrap:wrap;gap:var(--s-5);justify-content:space-between;align-items:center;border-top:var(--border);margin-top:var(--s-7);padding-top:var(--s-6)}
.tbl-wrap{overflow-x:auto;margin:var(--s-4) 0}.tbl-wrap .tbl{margin:0}.tbl{width:100%;border-collapse:collapse;background:var(--white);border:var(--border);border-radius:var(--r-lg);overflow:hidden;font-size:var(--step--1);margin:var(--s-4) 0}.tbl th,.tbl td{padding:10px 14px;text-align:left;vertical-align:top;border-top:var(--border)}.tbl th{background:var(--sand);font-weight:600}
code{font:0.9em/1.4 var(--font-mono);background:var(--sand);padding:2px 6px;border-radius:var(--r-sm);word-break:break-word}
/* Content pages */
.page-hero{padding-block:var(--s-8) var(--s-7)}.page-hero .lead{margin:var(--s-4) 0 var(--s-6);max-width:60ch}
.page-hero .pill{margin-top:var(--s-4)}
.prose h2{margin:var(--s-7) 0 var(--s-4)}.prose h3{font-size:var(--step-1);margin:var(--s-5) 0 var(--s-2)}.prose ul,.prose ol{padding-left:22px}.prose li{margin:6px 0}
.related{font-size:var(--step--1);color:var(--ink-muted);margin-top:var(--s-6)}
/* Footer */
.site-footer{background:var(--navy-900);color:var(--cream);padding:64px 0 32px;margin-top:0}
.site-footer a{color:var(--mint-400)}
.foot-grid{display:grid;gap:var(--s-6)}@media (min-width:1024px){.foot-grid{grid-template-columns:1.4fr 1fr 1fr 1fr}}
.foot-logo svg{height:28px;width:auto}.foot-logo .wm{stroke:var(--cream)}.foot-logo .mk{stroke:var(--mint-400)}
.site-footer p{color:var(--navy-text-muted);font-size:var(--step--1);max-width:36ch;margin:var(--s-4) 0}
.site-footer h2{font:600 var(--step--1)/1.4 var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--cream);margin-bottom:var(--s-3)}
.site-footer ul{list-style:none;margin:0;padding:0}.site-footer li a{display:inline-block;padding:6px 0;color:var(--navy-text-muted);text-decoration:none;font-size:var(--step--1)}.site-footer li a:hover{color:var(--mint-400);text-decoration:underline}
.foot-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:var(--s-7);padding-top:var(--s-5);font-size:14px;color:var(--navy-text-muted)}
.foot-bottom p{max-width:none;margin:0 0 var(--s-2);font-size:14px}.foot-legal{display:flex;flex-wrap:wrap;gap:4px 16px;list-style:none;padding:0;margin:0}.foot-legal a{color:var(--navy-text-muted)!important;font-size:14px!important;padding:8px 0!important}
.supplier{margin-top:var(--s-3)!important}
/* Legacy pages (property pages, bookings, owner links, hotels results, group dashboard) on the new tokens */
.legacy{padding-block:var(--s-6) var(--s-8)}
.legacy h1{font-size:var(--step-4);margin:var(--s-4) 0 var(--s-4)}.legacy h2{margin:var(--s-6) 0 var(--s-4)}.legacy h3{font-size:var(--step-1);margin:0 0 var(--s-2)}
.legacy .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}
.legacy input:not([type=checkbox]):not([type=radio]),.legacy textarea,.legacy select{width:100%;min-height:44px;padding:10px 12px;border:var(--border-input);border-radius:var(--r-sm);font:400 16px/1.4 var(--font-sans);margin:4px 0 12px;background:var(--white);color:var(--ink)}
.legacy label{font-weight:600;font-size:15px}
.legacy .btn.alt{background:var(--ink)}.legacy .btn.alt:hover{background:#0b1838}
.demo{background:var(--amber-50);border-left:4px solid #d48a00;padding:10px 14px;border-radius:0 var(--r-md) var(--r-md) 0}
img.ph{width:100%;max-height:360px;object-fit:cover;border-radius:var(--r-lg)}.gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;margin-top:8px}.gal img{width:100%;height:110px;object-fit:cover;border-radius:var(--r-md)}
.mut{color:var(--ink-muted)}.big{font:600 44px/1 var(--font-display);color:var(--green-700)}
.tag{display:inline-block;font-size:12px;font-weight:600;border-radius:999px;padding:2px 10px}.tag.ok{background:var(--green-50);color:var(--green-700)}.tag.no{background:var(--amber-50);color:var(--amber-800)}.tag.direct{background:var(--ink);color:#fff}
.search{display:flex;flex-wrap:wrap;gap:12px;background:var(--white);border:var(--border);border-radius:var(--r-lg);padding:var(--s-4);box-shadow:var(--shadow-2);align-items:flex-end}
.search .f{flex:1 1 150px}.search .dest{flex:2 1 260px}.search .sm{flex:0 1 140px}.search .go{flex:0 0 auto}
.search label{display:block;font:600 15px/1.4 var(--font-sans);color:var(--ink);margin-bottom:6px}
.search input,.search select{display:block;width:100%;min-height:48px;padding:12px 14px;border:var(--border-input);border-radius:var(--r-sm);font:400 16px/1.4 var(--font-sans);background:var(--white);color:var(--ink);margin:0}
.search input:focus,.search select:focus{outline:none;border-color:var(--green-600);box-shadow:0 0 0 3px rgba(1,149,113,.25)}
.sbar{margin:6px 0 18px}.rh{font-size:var(--step-3)!important;margin:10px 0 2px!important}.hlist{display:grid;gap:14px}
.hcard{display:grid;grid-template-columns:220px 1fr 190px;gap:16px;background:var(--white);border:var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-1);overflow:hidden;text-decoration:none;color:var(--ink)}.hcard:hover{box-shadow:var(--shadow-2);color:var(--ink)}
.hcard img,.hcard .noimg{width:100%;height:100%;min-height:150px;object-fit:cover;background:var(--sand)}.hcard h3{margin:12px 0 4px;font-size:18px}.hcard p{margin:4px 0}.hp{display:flex;flex-direction:column;justify-content:center;align-items:flex-end;padding:12px 16px;text-align:right}.hp b{font-size:24px}.hp small{color:var(--ink-muted);font-size:12px}
.st{color:#a86b00;font-size:15px;letter-spacing:1px}.score{background:var(--ink);color:#fff;border-radius:6px 6px 6px 0;padding:2px 7px;font-weight:600;font-size:14px}
.room{display:grid;grid-template-columns:200px 1fr;gap:16px;margin-bottom:14px}.room.nophoto{grid-template-columns:1fr}.room>img{width:100%;height:150px;object-fit:cover;border-radius:var(--r-md)}.room h3{margin:0 0 4px}.rate{display:flex;justify-content:space-between;gap:12px;border-top:var(--border);padding:10px 0;align-items:center}.rp{text-align:right;min-width:150px}.rp b{font-size:20px;display:block}.rp small{display:block;color:var(--ink-muted);font-size:12px;margin-bottom:6px}.big2{font-size:26px;font-weight:600;margin:8px 0}.big2 small{font-size:13px;font-weight:400;color:var(--ink-muted)}
#targetElement button{background:var(--green-600);color:#fff;border:0;border-radius:var(--r-md);padding:12px 28px;font-size:16px;font-weight:600;cursor:pointer;margin-top:12px}
.trust{display:grid;gap:24px;margin-top:var(--s-7)}@media (min-width:1024px){.trust{grid-template-columns:repeat(3,1fr)}}.trust p{color:var(--ink-muted);margin:0}
@media (max-width:720px){.hcard{grid-template-columns:1fr}.hcard img{height:180px}.hp{align-items:flex-start;text-align:left}.room{grid-template-columns:1fr}}
/* Group dashboard (/groups/app) keeps its layout and takes the tokens */
.gx h2{margin-top:34px}.gx .card{margin-bottom:16px}
.gx details{background:var(--white);border-radius:var(--r-md);padding:14px 18px;margin:10px 0;border:var(--border)}.gx summary{font-weight:600;cursor:pointer}
table.t{width:100%;border-collapse:collapse;background:var(--white);border-radius:var(--r-md);overflow:hidden;font-size:14px}table.t th,table.t td{padding:8px 10px;border-bottom:var(--border);text-align:left;vertical-align:top}table.t input,table.t select{margin:0;padding:6px}
.gx .ok{color:var(--green-700);font-weight:600}.err{color:var(--red-700)}.wiz li{margin:8px 0}.wiz .done{color:var(--green-700)}.row{display:flex;gap:12px;flex-wrap:wrap}.row>div{flex:1 1 160px}.flash{background:var(--green-50);border-radius:var(--r-md);padding:10px 14px}.warn{background:var(--amber-50);border-left:4px solid #d48a00;border-radius:0 var(--r-md) var(--r-md) 0;padding:10px 14px}
.endpoint{font-family:var(--font-mono);background:var(--white);border:var(--border-input);border-radius:var(--r-md);padding:10px 12px;word-break:break-all}
.live{display:inline-block;font-size:12px;font-weight:600;border-radius:999px;padding:2px 10px;background:var(--green-50);color:var(--green-700)}.soon{display:inline-block;font-size:12px;font-weight:600;border-radius:999px;padding:2px 10px;background:var(--amber-50);color:var(--amber-800)}
.gx .btn,.legacy .btn{font-size:16px}
/* ---- Owner dashboard (/owners/app): mobile first ---- */
.header-form{margin:0}.header-actions .header-form .btn{min-height:40px}
.badge--off{background:var(--sand);color:var(--ink-muted)}.badge--off::before{background:var(--line-strong)}
.ox{padding-block:var(--s-6) var(--s-9)}
.ox-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--s-4);margin:var(--s-3) 0 var(--s-6)}
.ox-head h1{margin:0;font-size:var(--step-3)}.ox-head p{margin:var(--s-1) 0 0}
.ox-narrow{max-width:760px;margin-inline:auto}
.ox-card{margin-bottom:var(--s-5);scroll-margin-top:96px}.ox-card>h2{font:600 var(--step-2)/1.25 var(--font-sans);margin:0 0 var(--s-3);display:flex;align-items:center;flex-wrap:wrap;gap:var(--s-3)}
.ox-card h3{font:600 var(--step-1)/1.3 var(--font-sans);margin:0}
.ox-flash{display:flex;align-items:center;gap:var(--s-2);background:var(--green-50);color:var(--green-700);border-radius:var(--r-md);padding:var(--s-3) var(--s-4);margin-bottom:var(--s-5);font-weight:600}
.ox-flash svg{width:20px;height:20px;flex:0 0 auto;stroke:currentColor;fill:none;stroke-width:2.5}
.ox-err{color:var(--red-700)}
.ox-row{display:grid;gap:0 var(--s-4);grid-template-columns:1fr}
@media (min-width:640px){.ox-row{grid-template-columns:repeat(2,minmax(0,1fr))}.ox-row--3{grid-template-columns:repeat(3,minmax(0,1fr))}}
.ox-grid{display:grid;gap:var(--s-5)}
.ox-side{position:sticky;top:64px;z-index:5;background:var(--cream);margin-inline:calc(var(--gutter) * -1);padding:var(--s-2) var(--gutter);border-bottom:var(--border)}
.ox-nav{list-style:none;margin:0;padding:0;display:flex;gap:var(--s-2);overflow-x:auto;scrollbar-width:none}.ox-nav::-webkit-scrollbar{display:none}
.ox-nav a{display:flex;align-items:center;gap:var(--s-2);white-space:nowrap;padding:var(--s-2) var(--s-3);border-radius:var(--r-pill);color:var(--ink);text-decoration:none;font-weight:600;font-size:var(--step--1);transition:background-color var(--dur-1) var(--ease-std)}
.ox-nav a:hover{background:var(--sand)}.ox-nav a:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.ox-nav .opt{font-weight:400;color:var(--ink-muted)}
.ox-tick{width:16px;height:16px;stroke:var(--green-600);fill:none;stroke-width:3}
.ox-dot{width:10px;height:10px;border-radius:50%;border:2px solid #d48a00;flex:0 0 auto}.ox-dot--opt{border-color:var(--line-strong)}
@media (min-width:1024px){.ox-grid{grid-template-columns:240px minmax(0,1fr);gap:var(--s-7);align-items:start}
  .ox-side{top:96px;margin:0;padding:0;border:0;background:transparent}.ox-nav{flex-direction:column;overflow:visible}.ox-nav a{border-radius:var(--r-md);padding:var(--s-3)}}
.ox-status{border-left:4px solid #d48a00}.ox-status--live{border-left-color:var(--green-500)}
.ox-check{margin:var(--s-3) 0 0;padding-left:1.25em}.ox-check li{margin:var(--s-2) 0}
.ox-verify{background:var(--amber-50);border-color:#f0d9a8}
.ox-inline{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--s-3)}.ox-inline .field{margin:0;flex:1 1 180px;max-width:240px}.ox-inline .field input{font:600 var(--step-1)/1 var(--font-mono);letter-spacing:.2em}
.ox-props{list-style:none;margin:0;padding:0;display:grid;gap:var(--s-4)}
.ox-pcard{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s-4)}.ox-pcard h2{font:600 var(--step-1)/1.3 var(--font-sans);margin:0}.ox-pcard h2 a{color:var(--ink);text-decoration:none}.ox-pcard h2 a:hover{text-decoration:underline}.ox-pcard p{margin:var(--s-1) 0 0}
.ox-pcard__s{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-4)}
.ox-empty{text-align:center;padding:var(--s-8) var(--s-5)}
.ox-rooms{list-style:none;margin:0 0 var(--s-5);padding:0;display:grid;gap:var(--s-3)}
.ox-room{border:var(--border);border-radius:var(--r-md);padding:var(--s-4);background:var(--white)}
.ox-room__sum{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--s-3)}.ox-room__sum p{margin:var(--s-1) 0 0}.ox-price{margin:0;text-align:right}
.ox-more>summary,.ox-add>summary{cursor:pointer;font-weight:600;color:var(--green-700);padding:var(--s-2) 0;list-style:none}.ox-more>summary::-webkit-details-marker,.ox-add>summary::-webkit-details-marker{display:none}
.ox-more>summary::before,.ox-add>summary::before{content:"+ "}.ox-more[open]>summary::before,.ox-add[open]>summary::before{content:"− "}
.ox-add{border:1.5px dashed var(--line-strong);border-radius:var(--r-md);padding:var(--s-3) var(--s-4)}
.ox-room-form{padding-top:var(--s-4)}.ox-remove{margin-top:var(--s-2)}.ox-remove .btn{color:var(--red-700)}
.ox-photos{list-style:none;margin:0 0 var(--s-5);padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--s-3)}
.ox-photos li{position:relative;border-radius:var(--r-md);overflow:hidden;background:var(--sand);border:var(--border)}
.ox-photos img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;height:auto}
.ox-cover{position:absolute;top:var(--s-2);left:var(--s-2);background:var(--ink);color:#fff;font:600 12px/1 var(--font-sans);padding:5px 8px;border-radius:var(--r-sm)}
.ox-photo-actions{display:flex;justify-content:space-between;gap:var(--s-1);padding:0 var(--s-2)}.ox-photo-actions .btn{font-size:14px;min-height:40px;padding:6px 2px}
.ox-nophoto{display:flex;align-items:center;justify-content:center;min-height:120px;border:2px dashed var(--line-strong);border-radius:var(--r-md);background:var(--cream);color:var(--ink-muted);margin-bottom:var(--s-5)}
.ox-upload{display:grid;gap:var(--s-2);justify-items:start}.ox-upload input[type=file]{font:inherit;max-width:100%}
.ox-fs{border:0;padding:0;margin:0 0 var(--s-6)}.ox-fs legend{margin-bottom:var(--s-1);font-size:var(--step-1)}
.ox-radio{display:flex;gap:var(--s-3);align-items:flex-start;padding:var(--s-3);border:var(--border);border-radius:var(--r-md);margin:var(--s-2) 0;cursor:pointer;transition:border-color var(--dur-1) var(--ease-std),background-color var(--dur-1) var(--ease-std)}
.ox-radio:hover{border-color:var(--line-strong)}.ox-radio:has(input:checked){border-color:var(--green-500);background:var(--green-50)}.ox-radio input{margin-top:4px;accent-color:var(--green-600);width:18px;height:18px;flex:0 0 auto}
.ox-pay{margin-top:var(--s-6);padding-top:var(--s-5);border-top:var(--border)}.ox-pay h3{margin-bottom:var(--s-2)}
.ox-cal{display:grid;gap:var(--s-4);margin-top:var(--s-5)}.ox-cal__room{border-top:var(--border);padding-top:var(--s-4)}.ox-cal__room p{margin:var(--s-2) 0}
.ox-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--s-2)}
.ox-chips li{display:flex;align-items:center;gap:var(--s-1);background:var(--sand);border-radius:var(--r-pill);padding:2px 4px 2px 12px;font-size:var(--step--1)}.ox-chips form{margin:0}
.ox-x{border:0;background:transparent;width:32px;height:32px;border-radius:50%;cursor:pointer;font-size:18px;color:var(--ink)}.ox-x:hover{background:var(--line)}.ox-x:focus-visible{outline:2px solid var(--focus)}
.ox-integ{list-style:none;margin:0;padding:0;display:grid;gap:var(--s-4)}.ox-integ>li{border:var(--border);border-radius:var(--r-md);padding:var(--s-4)}
.ox-integ__h{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);margin-bottom:var(--s-2)}.ox-integ p{margin:var(--s-2) 0}
.ox-foot{margin-top:var(--s-6);font-size:var(--step--1)}
.ox .field select{appearance:auto}
