:root{--cairn-space-scale:1;--cairn-font-scale:1;--cairn-color-brand-navy:#0c1f49;--cairn-color-brand-navy-subtle:#1b2d5c;--cairn-color-brand-white:#fff;--cairn-color-brand-primary:#0c1f49;--cairn-color-neutral-50:#fbfcfd;--cairn-color-neutral-100:#f4f6f8;--cairn-color-neutral-200:#e7eaef;--cairn-color-neutral-300:#d2d6de;--cairn-color-neutral-400:#98a2b3;--cairn-color-neutral-500:#667085;--cairn-color-neutral-600:#475467;--cairn-color-neutral-700:#344054;--cairn-color-neutral-800:#1d2939;--cairn-color-neutral-900:#101828;--cairn-color-neutral-950:#0c111d;--cairn-color-surface-canvas:#fff;--cairn-color-surface-elevated:#fff;--cairn-color-surface-muted:#f4f6f8;--cairn-color-surface-subtle:#e7eaef;--cairn-color-surface-sunken:#fbfcfd;--cairn-color-surface-page:#fff;--cairn-color-surface-raised:#fff;--cairn-color-content-primary:#0c111d;--cairn-color-content-heading:#0c1f49;--cairn-color-content-secondary:#344054;--cairn-color-content-muted:#667085;--cairn-color-content-subtle:#667085;--cairn-color-content-on-brand:#fff;--cairn-color-border:#e7eaef;--cairn-color-border-subtle:#f4f6f8;--cairn-color-border-card:#d2d6de;--cairn-color-border-strong:#d2d6de;--cairn-color-state-success:#1f8a4c;--cairn-color-state-info:#0b6fb6;--cairn-color-state-warning:#b97108;--cairn-color-state-error:#b42318;--cairn-color-state-success-bg:#e4f1e9;--cairn-color-state-info-bg:#e2eef6;--cairn-color-state-warning-bg:#f7eee1;--cairn-color-state-error-bg:#f6e5e3;--cairn-color-state-accent-bg:#e7eaf0;--cairn-color-state-info-text:#0a5488;--cairn-color-state-warning-text:#7a4d00;--cairn-color-state-ready-text:#0a5f54;--cairn-color-state-blocked-text:#9e2417;--cairn-color-state-dirty-text:#8a4b00;--cairn-color-state-occupied-text:#5b2e9e;--cairn-color-state-in-progress-text:#1a46c0;--cairn-color-state-success-text:#15703b;--cairn-color-state-maintenance-text:#b23a18;--cairn-color-state-cleaning-text:#0a5f54;--cairn-color-state-ready:#0e9f8e;--cairn-color-state-ready-bg:#d6f2ee;--cairn-color-state-occupied:#7c4dc0;--cairn-color-state-occupied-bg:#ece3fa;--cairn-color-state-dirty:#d97706;--cairn-color-state-dirty-bg:#fbe7cc;--cairn-color-state-in-progress:#2563eb;--cairn-color-state-in-progress-bg:#dce7fb;--cairn-color-state-blocked:#c0392b;--cairn-color-state-blocked-bg:#f8dcd8;--cairn-color-state-maintenance:#e04e2c;--cairn-color-state-maintenance-bg:#fbe0d5;--cairn-color-state-cleaning:#0e9f8e;--cairn-color-state-cleaning-bg:#d6f2ee;--cairn-color-state-inspection:#475569;--cairn-color-state-inspection-bg:#e2e8f0;--cairn-color-interactive-primary:#0c1f49;--cairn-color-interactive-primary-hover:#1b2d5c;--cairn-color-interactive-focus-ring:#0c1f49;--cairn-color-categorical-0:#e0625c;--cairn-color-categorical-1:#8e5bc2;--cairn-color-categorical-2:#3fa7a0;--cairn-color-categorical-3:#d17f2f;--cairn-color-categorical-4:#4f73c9;--cairn-color-categorical-5:#9c4b7b;--cairn-color-categorical-6:#5b8c4a;--cairn-space-0:0px;--cairn-space-1:calc(4px * var(--cairn-space-scale,1));--cairn-space-2:calc(8px * var(--cairn-space-scale,1));--cairn-space-3:calc(12px * var(--cairn-space-scale,1));--cairn-space-4:calc(16px * var(--cairn-space-scale,1));--cairn-space-5:calc(24px * var(--cairn-space-scale,1));--cairn-space-6:calc(32px * var(--cairn-space-scale,1));--cairn-space-7:calc(48px * var(--cairn-space-scale,1));--cairn-space-8:calc(64px * var(--cairn-space-scale,1));--cairn-space-card:calc(20px * var(--cairn-space-scale,1));--cairn-space-row-y:calc(8px * var(--cairn-space-scale,1));--cairn-space-block:calc(12px * var(--cairn-space-scale,1));--cairn-space-section:calc(24px * var(--cairn-space-scale,1));--cairn-size-rail:60px;--cairn-size-rail-collapsed:60px;--cairn-size-row-compact:28px;--cairn-size-row-comfortable:36px;--cairn-size-row-spacious:44px;--cairn-size-tap-min:44px;--cairn-size-safety-tap-min:56px;--cairn-size-control-height:36px;--cairn-size-focus-ring-width:2px;--cairn-size-focus-offset:2px;--cairn-size-content-max:720px;--cairn-size-width-contained:1600px;--cairn-size-width-readable:1120px;--cairn-size-width-form:720px;--cairn-size-border-width:1px;--cairn-size-sidebar:280px;--cairn-size-card-min:280px;--cairn-size-flyout:480px;--cairn-size-audit-panel:400px;--cairn-size-signin-card:420px;--cairn-radius-sm:0px;--cairn-radius-md:0px;--cairn-radius-lg:0px;--cairn-radius-pill:999px;--cairn-font-family-sans:"Inter", system-ui, -apple-system, sans-serif;--cairn-font-family-mono:ui-monospace, SFMono-Regular, Menlo, monospace;--cairn-font-size-xs:calc(12px * var(--cairn-font-scale,1));--cairn-font-size-sm:calc(14px * var(--cairn-font-scale,1));--cairn-font-size-md:calc(14px * var(--cairn-font-scale,1));--cairn-font-size-lg:calc(16px * var(--cairn-font-scale,1));--cairn-font-size-xl:calc(20px * var(--cairn-font-scale,1));--cairn-font-size-2xl:calc(24px * var(--cairn-font-scale,1));--cairn-font-size-3xl:calc(30px * var(--cairn-font-scale,1));--cairn-font-size-4xl:calc(36px * var(--cairn-font-scale,1));--cairn-font-size-row-title:calc(14px * var(--cairn-font-scale,1));--cairn-font-size-row-detail:calc(12px * var(--cairn-font-scale,1));--cairn-font-size-row-meta:calc(12px * var(--cairn-font-scale,1));--cairn-font-weight-regular:400;--cairn-font-weight-medium:500;--cairn-font-weight-semibold:600;--cairn-font-weight-bold:700;--cairn-font-weight-extrabold:800;--cairn-font-line-height-compact:1.15;--cairn-font-line-height-tight:1.25;--cairn-font-line-height-snug:1.4;--cairn-font-line-height-normal:1.5;--cairn-font-line-height-loose:1.7;--cairn-font-tracking-tight:-.02em;--cairn-font-tracking-snug:-.01em;--cairn-font-tracking-normal:0;--cairn-font-tracking-wide:.02em;--cairn-font-tracking-wider:.04em;--cairn-font-tracking-uppercase:.06em;--cairn-motion-duration-instant:80ms;--cairn-motion-duration-quick:.15s;--cairn-motion-duration-normal:.22s;--cairn-motion-duration-slow:.36s;--cairn-motion-ease-out:cubic-bezier(.16, 1, .3, 1);--cairn-motion-ease-in-out:cubic-bezier(.65, 0, .35, 1);--cairn-motion-ease-standard:cubic-bezier(.4, 0, .2, 1);--cairn-motion-ease-spring:cubic-bezier(.5, 1.4, .5, .95);--cairn-shadow-xs:0 1px 2px #1018280d;--cairn-shadow-sm:0 1px 3px #10182814, 0 1px 2px #1018280a;--cairn-shadow-md:0 4px 8px -2px #10182814, 0 2px 4px -2px #1018280a;--cairn-shadow-lg:0 12px 16px -4px #1018281a, 0 4px 6px -2px #1018280f;--cairn-shadow-xl:0 20px 24px -4px #1018281f, 0 8px 8px -4px #1018280a;--cairn-shadow-hover-lift:0 6px 16px -4px #1018281f, 0 2px 4px -2px #1018280f;--cairn-shadow-card:0 1px 2px #1018280d;--cairn-shadow-focus-ring:0 0 0 2px #0c1f49, 0 0 0 4px #0c1f4924;--cairn-z-base:0;--cairn-z-sticky:10;--cairn-z-dropdown:20;--cairn-z-modal:30;--cairn-z-toast:40;--cairn-z-overlay:50;--cairn-z-drawer:60}[data-brand=demo-coastal]{--cairn-color-brand-navy:#0e4d5c;--cairn-color-brand-navy-subtle:#155e70;--cairn-color-brand-primary:#0e4d5c}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--cairn-font-family-sans);color:var(--cairn-color-content-primary);background:var(--cairn-color-surface-canvas);font-size:var(--cairn-font-size-md);-webkit-font-smoothing:antialiased;margin:0;line-height:1.5}a{color:inherit}img{max-width:100%;display:block}.app{flex-direction:column;min-height:100%;display:flex}.app__header{background:var(--cairn-color-brand-navy);color:var(--cairn-color-brand-white);z-index:10;position:sticky;top:0}.app__bar{max-width:var(--cairn-size-content-max);padding:var(--cairn-space-4) var(--cairn-space-5);justify-content:space-between;align-items:center;gap:var(--cairn-space-4);margin:0 auto;display:flex}.app__bar--footer{color:var(--cairn-color-content-secondary);font-size:var(--cairn-font-size-sm)}.brand{align-items:center;text-decoration:none;display:inline-flex}.brand__name{font-weight:var(--cairn-font-weight-bold);font-size:var(--cairn-font-size-lg);letter-spacing:.01em;color:var(--cairn-color-brand-white)}.brand__logo{height:var(--cairn-space-7)}.app__main{flex:1}.app--embed{min-height:auto}.app__footer{background:var(--cairn-color-surface-elevated);border-top:var(--cairn-size-border-width) solid var(--cairn-color-surface-subtle);margin-top:var(--cairn-space-8)}.app__footer a{color:var(--cairn-color-content-secondary);text-decoration:none}.container{max-width:var(--cairn-size-content-max);padding:var(--cairn-space-6) var(--cairn-space-5);margin:0 auto}.container.narrow{max-width:var(--cairn-size-signin-card)}.empty{color:var(--cairn-color-content-secondary);padding:var(--cairn-space-6) 0}.hero{padding:var(--cairn-space-5) 0 var(--cairn-space-6)}.hero__title{font-size:var(--cairn-font-size-3xl);font-weight:var(--cairn-font-weight-bold);margin:0 0 var(--cairn-space-2);color:var(--cairn-color-brand-navy)}.hero__subtitle{color:var(--cairn-color-content-secondary);font-size:var(--cairn-font-size-lg);margin:0}.grid{grid-template-columns:repeat(auto-fill, minmax(var(--cairn-size-card-min), 1fr));gap:var(--cairn-space-5);margin:0;padding:0;list-style:none;display:grid}.card{background:var(--cairn-color-surface-elevated);border:var(--cairn-size-border-width) solid var(--cairn-color-surface-subtle);border-radius:var(--cairn-radius-lg);transition:box-shadow .15s;overflow:hidden}.card:hover{box-shadow:var(--cairn-shadow-md)}.card__link{color:inherit;text-decoration:none;display:block}.card__media,.detail__media{aspect-ratio:3/2;background:var(--cairn-color-brand-navy);justify-content:center;align-items:center;display:flex}.card__media-fallback{color:var(--cairn-color-brand-white);font-size:var(--cairn-font-size-4xl);font-weight:var(--cairn-font-weight-bold);opacity:.5}.card__body{padding:var(--cairn-space-4)}.card__title{margin:0 0 var(--cairn-space-1);font-size:var(--cairn-font-size-lg);font-weight:var(--cairn-font-weight-semibold)}.card__meta{margin:0 0 var(--cairn-space-2);color:var(--cairn-color-content-secondary);font-size:var(--cairn-font-size-sm)}.card__price{font-weight:var(--cairn-font-weight-semibold);margin:0}.card__price-unit{color:var(--cairn-color-content-muted);font-weight:var(--cairn-font-weight-regular);font-size:var(--cairn-font-size-sm)}.detail__media{border-radius:var(--cairn-radius-lg);margin-bottom:var(--cairn-space-5)}.detail__grid{grid-template-columns:1fr minmax(var(--cairn-size-card-min), 24rem);gap:var(--cairn-space-6);align-items:start;display:grid}.detail__title{font-size:var(--cairn-font-size-2xl);margin:0 0 var(--cairn-space-1);color:var(--cairn-color-brand-navy)}.detail__meta{color:var(--cairn-color-content-secondary);margin:0 0 var(--cairn-space-3)}.detail__price{font-size:var(--cairn-font-size-lg);font-weight:var(--cairn-font-weight-semibold);margin:0 0 var(--cairn-space-4)}.detail__price span{color:var(--cairn-color-content-muted);font-weight:var(--cairn-font-weight-regular);font-size:var(--cairn-font-size-md)}.detail__description{color:var(--cairn-color-content-secondary);white-space:pre-line}.booking{top:var(--cairn-space-7);background:var(--cairn-color-surface-elevated);border:var(--cairn-size-border-width) solid var(--cairn-color-surface-subtle);border-radius:var(--cairn-radius-lg);padding:var(--cairn-space-5);box-shadow:var(--cairn-shadow-sm);position:sticky}.booking__heading{margin:0 0 var(--cairn-space-3);font-size:var(--cairn-font-size-lg)}.booking__reserve{margin-top:var(--cairn-space-5);padding-top:var(--cairn-space-5);border-top:var(--cairn-size-border-width) solid var(--cairn-color-surface-subtle)}.booking__msg{margin:var(--cairn-space-3) 0 0;font-size:var(--cairn-font-size-sm);color:var(--cairn-color-content-secondary)}.booking__msg--error{color:var(--cairn-color-state-error)}.booking__fineprint{margin:var(--cairn-space-3) 0 0;font-size:var(--cairn-font-size-xs);color:var(--cairn-color-content-muted)}.field{margin-bottom:var(--cairn-space-3);display:block}.field__label{font-size:var(--cairn-font-size-sm);font-weight:var(--cairn-font-weight-medium);margin-bottom:var(--cairn-space-1);color:var(--cairn-color-content-secondary);display:block}.field input{width:100%;height:var(--cairn-size-control-height);padding:0 var(--cairn-space-3);font:inherit;color:var(--cairn-color-content-primary);background:var(--cairn-color-surface-canvas);border:var(--cairn-size-border-width) solid var(--cairn-color-neutral-300);border-radius:var(--cairn-radius-md)}.field input:focus-visible{outline:var(--cairn-size-focus-ring-width) solid var(--cairn-color-brand-navy);outline-offset:var(--cairn-size-border-width)}.field-row{gap:var(--cairn-space-3);grid-template-columns:1fr 1fr;display:grid}.btn{height:var(--cairn-size-control-height);padding:0 var(--cairn-space-5);font:inherit;font-weight:var(--cairn-font-weight-semibold);border-radius:var(--cairn-radius-md);border:var(--cairn-size-border-width) solid var(--cairn-color-neutral-300);background:var(--cairn-color-surface-canvas);color:var(--cairn-color-content-primary);cursor:pointer;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.55;cursor:not-allowed}.btn--primary{background:var(--cairn-color-brand-navy);border-color:var(--cairn-color-brand-navy);color:var(--cairn-color-brand-white)}.btn--block{width:100%}.rates{margin:0 0 var(--cairn-space-4);gap:var(--cairn-space-2);padding:0;list-style:none;display:grid}.rate{align-items:baseline;gap:var(--cairn-space-2);padding:var(--cairn-space-3);border:var(--cairn-size-border-width) solid var(--cairn-color-neutral-300);border-radius:var(--cairn-radius-md);cursor:pointer;display:flex}.rate--on{border-color:var(--cairn-color-brand-navy);background:var(--cairn-color-surface-muted)}.rate__name{font-weight:var(--cairn-font-weight-medium);flex:1}.rate__total{font-weight:var(--cairn-font-weight-semibold);text-align:right}.rate__nights{font-weight:var(--cairn-font-weight-regular);font-size:var(--cairn-font-size-xs);color:var(--cairn-color-content-muted);display:block}.summary{margin:var(--cairn-space-4) 0;gap:var(--cairn-space-2);display:grid}.summary--standalone{padding:var(--cairn-space-4);background:var(--cairn-color-surface-muted);border-radius:var(--cairn-radius-md)}.summary__row{font-size:var(--cairn-font-size-sm);color:var(--cairn-color-content-secondary);justify-content:space-between;display:flex}.summary__row--total{font-size:var(--cairn-font-size-md);font-weight:var(--cairn-font-weight-bold);color:var(--cairn-color-content-primary);padding-top:var(--cairn-space-2);border-top:var(--cairn-size-border-width) solid var(--cairn-color-surface-subtle)}.panel{background:var(--cairn-color-surface-elevated);border:var(--cairn-size-border-width) solid var(--cairn-color-surface-subtle);border-radius:var(--cairn-radius-lg);padding:var(--cairn-space-6);box-shadow:var(--cairn-shadow-sm)}.panel__title{margin:0 0 var(--cairn-space-4);font-size:var(--cairn-font-size-xl);color:var(--cairn-color-brand-navy)}.pay{margin-top:var(--cairn-space-5);gap:var(--cairn-space-4);display:grid}.pay__error{color:var(--cairn-color-state-error);font-size:var(--cairn-font-size-sm);margin:0}.pay__note{font-size:var(--cairn-font-size-xs);color:var(--cairn-color-content-muted);margin:0}.pending{margin-top:var(--cairn-space-5);gap:var(--cairn-space-3);color:var(--cairn-color-content-secondary);display:grid}.pending__lead{font-weight:var(--cairn-font-weight-semibold);color:var(--cairn-color-content-primary);margin:0}.result__title{margin:0 0 var(--cairn-space-2);font-size:var(--cairn-font-size-2xl);color:var(--cairn-color-brand-navy)}.result--ok .result__title{color:var(--cairn-color-state-success)}.result--bad .result__title{color:var(--cairn-color-state-error)}.result__body{margin:0 0 var(--cairn-space-4);color:var(--cairn-color-content-secondary)}.result__actions{gap:var(--cairn-space-3);margin-top:var(--cairn-space-4);display:flex}.boot{justify-content:center;align-items:center;gap:var(--cairn-space-3);min-height:100vh;color:var(--cairn-color-content-secondary);flex-direction:column;display:flex}.boot--message{text-align:center;padding:var(--cairn-space-6)}.boot--message h1{color:var(--cairn-color-brand-navy)}.boot__spinner{width:var(--cairn-space-6);height:var(--cairn-space-6);border:var(--cairn-size-border-width) solid var(--cairn-color-neutral-300);border-top-color:var(--cairn-color-brand-navy);border-radius:var(--cairn-radius-pill);animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:60rem){.detail__grid{grid-template-columns:1fr}.booking{position:static}}
