:root{--cairn-space-scale: 1;--cairn-font-scale: 1;--cairn-color-brand-navy: #0C1F49;--cairn-color-brand-navy-subtle: #1B2D5C;--cairn-color-brand-white: #FFFFFF;--cairn-color-brand-primary: #0C1F49;--cairn-color-neutral-50: #FAFBFC;--cairn-color-neutral-100: #F2F4F7;--cairn-color-neutral-200: #E4E7EC;--cairn-color-neutral-300: #D0D5DD;--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: #FFFFFF;--cairn-color-surface-elevated: #FAFBFC;--cairn-color-surface-muted: #F2F4F7;--cairn-color-surface-subtle: #E4E7EC;--cairn-color-content-primary: #0C111D;--cairn-color-content-secondary: #475467;--cairn-color-content-muted: #667085;--cairn-color-content-subtle: #98A2B3;--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-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-control-height: 36px;--cairn-size-focus-ring-width: 2px;--cairn-size-content-max: 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: 4px;--cairn-radius-md: 6px;--cairn-radius-lg: 8px;--cairn-radius-pill: 999px;--cairn-font-family-sans: "Manrope", 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(13px * 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-weight-regular: 400;--cairn-font-weight-medium: 500;--cairn-font-weight-semibold: 600;--cairn-font-weight-bold: 700;--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.55;--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 rgba(16, 24, 40, .05);--cairn-shadow-sm: 0 1px 3px rgba(16, 24, 40, .08), 0 1px 2px rgba(16, 24, 40, .04);--cairn-shadow-md: 0 4px 8px -2px rgba(16, 24, 40, .08), 0 2px 4px -2px rgba(16, 24, 40, .04);--cairn-shadow-lg: 0 12px 16px -4px rgba(16, 24, 40, .1), 0 4px 6px -2px rgba(16, 24, 40, .06);--cairn-shadow-xl: 0 20px 24px -4px rgba(16, 24, 40, .12), 0 8px 8px -4px rgba(16, 24, 40, .04);--cairn-shadow-hover-lift: 0 6px 16px -4px rgba(16, 24, 40, .12), 0 2px 4px -2px rgba(16, 24, 40, .06);--cairn-shadow-focus-ring: 0 0 0 2px #0C1F49, 0 0 0 4px rgba(12, 31, 73, .14);--cairn-z-base: 0;--cairn-z-sticky: 10;--cairn-z-dropdown: 20;--cairn-z-modal: 30;--cairn-z-toast: 40}[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{margin:0;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);line-height:1.5;-webkit-font-smoothing:antialiased}a{color:inherit}img{max-width:100%;display:block}.app{min-height:100%;display:flex;flex-direction:column}.app__header{background:var(--cairn-color-brand-navy);color:var(--cairn-color-brand-white);position:sticky;top:0;z-index:10}.app__bar{max-width:var(--cairn-size-content-max);margin:0 auto;padding:var(--cairn-space-4) var(--cairn-space-5);display:flex;align-items:center;justify-content:space-between;gap:var(--cairn-space-4)}.app__bar--footer{color:var(--cairn-color-content-secondary);font-size:var(--cairn-font-size-sm)}.brand{text-decoration:none;display:inline-flex;align-items:center}.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);margin:0 auto;padding:var(--cairn-space-6) var(--cairn-space-5)}.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{margin:0;color:var(--cairn-color-content-secondary);font-size:var(--cairn-font-size-lg)}.grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--cairn-size-card-min),1fr));gap:var(--cairn-space-5)}.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);overflow:hidden;transition:box-shadow .15s ease}.card:hover{box-shadow:var(--cairn-shadow-md)}.card__link{text-decoration:none;color:inherit;display:block}.card__media,.detail__media{aspect-ratio:3 / 2;background:var(--cairn-color-brand-navy);display:flex;align-items:center;justify-content:center}.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{margin:0;font-weight:var(--cairn-font-weight-semibold)}.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{display:grid;grid-template-columns:1fr minmax(var(--cairn-size-card-min),24rem);gap:var(--cairn-space-6);align-items:start}.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{position:sticky;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)}.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{display:block;margin-bottom:var(--cairn-space-3)}.field__label{display:block;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)}.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{display:grid;grid-template-columns:1fr 1fr;gap:var(--cairn-space-3)}.btn{display:inline-flex;align-items:center;justify-content:center;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;text-decoration:none}.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{list-style:none;margin:0 0 var(--cairn-space-4);padding:0;display:grid;gap:var(--cairn-space-2)}.rate{display:flex;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}.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{display:block;font-weight:var(--cairn-font-weight-regular);font-size:var(--cairn-font-size-xs);color:var(--cairn-color-content-muted)}.summary{margin:var(--cairn-space-4) 0;display:grid;gap:var(--cairn-space-2)}.summary--standalone{padding:var(--cairn-space-4);background:var(--cairn-color-surface-muted);border-radius:var(--cairn-radius-md)}.summary__row{display:flex;justify-content:space-between;font-size:var(--cairn-font-size-sm);color:var(--cairn-color-content-secondary)}.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);display:grid;gap:var(--cairn-space-4)}.pay__error{margin:0;color:var(--cairn-color-state-error);font-size:var(--cairn-font-size-sm)}.pay__note{margin:0;font-size:var(--cairn-font-size-xs);color:var(--cairn-color-content-muted)}.pending{margin-top:var(--cairn-space-5);display:grid;gap:var(--cairn-space-3);color:var(--cairn-color-content-secondary)}.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{display:flex;gap:var(--cairn-space-3);margin-top:var(--cairn-space-4)}.boot{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--cairn-space-3);color:var(--cairn-color-content-secondary)}.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:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (width <= 60rem){.detail__grid{grid-template-columns:1fr}.booking{position:static}}
