/* Shared V22 interaction, notification, and theme layer */
html{color-scheme:light}html[data-theme="dark"]{color-scheme:dark}
.theme-toggle{appearance:none;border:1px solid rgba(95,125,112,.28);background:rgba(255,255,255,.72);color:inherit;border-radius:999px;min-height:40px;padding:9px 12px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font:inherit;font-weight:750;cursor:pointer;box-shadow:0 2px 10px rgba(20,35,28,.07);transition:transform .16s ease,box-shadow .16s ease,background .16s ease,border-color .16s ease}
.theme-toggle:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(20,35,28,.12);border-color:rgba(95,125,112,.48)}.theme-toggle:active,.ui-pressed{transform:scale(.97)!important}.theme-toggle:focus-visible{outline:3px solid #8eb7a2;outline-offset:2px}.theme-toggle [data-theme-icon]{font-size:16px;line-height:1}
.header-tools{display:flex;align-items:center;gap:9px}.toast-region{position:fixed;z-index:2500;right:max(16px,var(--app-safe-right,env(safe-area-inset-right,0px)));top:max(16px,var(--app-safe-top,env(safe-area-inset-top,0px)));display:grid;gap:9px;width:min(360px,calc(100vw - 32px));pointer-events:none}.app-toast{display:grid;grid-template-columns:24px 1fr;gap:9px;align-items:center;background:#17221d;color:#fff;border:1px solid rgba(255,255,255,.12);border-radius:13px;padding:12px 14px;box-shadow:0 18px 50px rgba(0,0,0,.22);opacity:0;transform:translateY(-8px) scale(.98);transition:opacity .2s ease,transform .2s ease;pointer-events:auto}.app-toast.show{opacity:1;transform:none}.app-toast.success{background:#214d38}.app-toast.error{background:#7f2929}.app-toast.info{background:#263d34}.app-toast.progress{background:#26352e}.toast-icon{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.13);font-weight:900}.app-toast.progress .toast-icon{border:2px solid rgba(255,255,255,.3);border-top-color:#fff;background:transparent;animation:ui-spin .75s linear infinite}
@keyframes ui-spin{to{transform:rotate(360deg)}}
.btn,.button,button,a{transition-property:transform,box-shadow,background-color,border-color,color,opacity;transition-duration:.16s;transition-timing-function:ease}.btn.is-loading,.button.is-loading,button.is-loading{position:relative;cursor:wait!important;opacity:.82}.btn.is-loading::after,.button.is-loading::after,button.is-loading::after{content:"";display:inline-block;width:14px;height:14px;margin-left:8px;vertical-align:-2px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:ui-spin .72s linear infinite}.btn:disabled,button:disabled,[aria-disabled="true"]{cursor:not-allowed!important;opacity:.64!important;pointer-events:none}.btn:hover,.button:hover{transform:translateY(-1px)}.btn:active,.button:active{transform:scale(.98)}
/* Dark mode: Staff Portal + Website Admin */
html[data-theme="dark"] .app{--bg:#0f1612;--card:#17211c;--ink:#eef4f0;--muted:#a8b4ad;--line:#314039;--accent:#6e9f86;--accent-2:#83b79b;--danger:#ff9f9f;--warn:#f1c879;--good:#88d3a6;--shadow:0 12px 34px rgba(0,0,0,.22)}
html[data-theme="dark"] .app main{background:var(--bg)}html[data-theme="dark"] .app .card,html[data-theme="dark"] .app .table tr{background:var(--card)}html[data-theme="dark"] .app input,html[data-theme="dark"] .app textarea,html[data-theme="dark"] .app select{background:#111a16;color:var(--ink);border-color:#3a4a43}html[data-theme="dark"] .app input[readonly]{background:#202b25;color:#aebbb4}html[data-theme="dark"] .app .secondary{background:#26332d;color:#eef4f0;border-color:#425149}html[data-theme="dark"] .app .secondary:hover{background:#304039;border-color:#5b6e64}html[data-theme="dark"] .app .danger{background:#3a2020;color:#ffb0b0;border-color:#6b3939}html[data-theme="dark"] .app .notice{background:#302a18;border-color:#5a4b22}html[data-theme="dark"] .app .quote-summary,html[data-theme="dark"] .app .template-manager{background:#121b17}html[data-theme="dark"] .app .pill{background:#26332d;color:#e6eee9}html[data-theme="dark"] .app .pill.good{background:#173725;color:#a5e1bb}html[data-theme="dark"] .app .pill.warn{background:#3b3119;color:#f5d98e}html[data-theme="dark"] .app .status{background:#21352b;color:#bfe2cf}html[data-theme="dark"] .app .booking-card-dialog{background:#17211c}
/* Dark mode: public website */
html[data-theme="dark"] body.public-site{--paper:#101713;--ink:#edf3ef;--muted:#aeb8b2;--line:#2c3933;background:var(--paper);color:var(--ink)}
html[data-theme="dark"] body.public-site .site-header{background:rgba(16,23,19,.92);border-color:rgba(255,255,255,.08)}html[data-theme="dark"] body.public-site .desktop-nav a{color:#c7d1cb}html[data-theme="dark"] body.public-site .hero-shell{background:#18221d}html[data-theme="dark"] body.public-site .hero-lede,html[data-theme="dark"] body.public-site .trust-row{color:#b7c2bc}html[data-theme="dark"] body.public-site .hero-badge{background:rgba(20,28,24,.92);color:#fff}html[data-theme="dark"] body.public-site .amenity-card,html[data-theme="dark"] body.public-site .details-grid article,html[data-theme="dark"] body.public-site .policy-grid article,html[data-theme="dark"] body.public-site .contact-card,html[data-theme="dark"] body.public-site .inquiry-form{background:#17211c;border-color:#304039}html[data-theme="dark"] body.public-site .inquiry-form input,html[data-theme="dark"] body.public-site .inquiry-form textarea{background:#111a16;color:#edf3ef;border-color:#3b4b43}html[data-theme="dark"] body.public-site .section-location,html[data-theme="dark"] body.public-site .featured-media-section{background:#141d19}html[data-theme="dark"] body.public-site .location-cards article{background:#1a2520}html[data-theme="dark"] body.public-site .button-ghost{background:#1b2721;border-color:#415149;color:#edf3ef}html[data-theme="dark"] body.public-site .theme-toggle{background:#18231e;border-color:#405148;color:#eef4f0}html[data-theme="dark"] body.public-site .site-footer{border-color:#2c3933}
@media(max-width:760px){.toast-region{left:max(12px,var(--app-safe-left,env(safe-area-inset-left,0px)));right:max(12px,var(--app-safe-right,env(safe-area-inset-right,0px)));top:max(12px,var(--app-safe-top,env(safe-area-inset-top,0px)));width:auto}.header-tools{gap:7px}.theme-toggle{min-width:44px;min-height:44px;padding:9px}.theme-toggle [data-theme-label]{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

@media(max-width:850px){body.public-site .nav-wrap .theme-toggle{margin-left:auto}body.public-site .nav-wrap>.button{margin-left:0}}
html[data-theme="dark"] body.public-site .button-primary{background:#5f8f76;border-color:#6e9f86;color:#fff}html[data-theme="dark"] body.public-site .button-primary:hover{background:#6e9f86}.menu-item{display:flex;align-items:center}


/* V23: dark-mode contrast audit + consistent interactive surfaces */
.app{background:var(--bg);color:var(--ink)}
.app main{color:var(--ink)}
.app main h1,.app main h2,.app main h3,.app main h4,.app main label,.app main strong,.app main b{color:var(--ink)}
html[data-theme="dark"] body{background:#0b120f;color:#f1f6f3}
html[data-theme="dark"] .app{--bg:#0b120f;--card:#14201a;--ink:#f2f7f4;--muted:#b8c5be;--line:#405149;--accent:#356b52;--accent-2:#2f604a;--danger:#ffb4b4;--warn:#f5d98e;--good:#a9e4bf;--shadow:0 12px 34px rgba(0,0,0,.28);color:var(--ink);background:var(--bg)}
html[data-theme="dark"] .app main{background:var(--bg);color:var(--ink)}
html[data-theme="dark"] .app header,html[data-theme="dark"] .app section,html[data-theme="dark"] .app .card,html[data-theme="dark"] .app .metric{color:var(--ink)}
html[data-theme="dark"] .app h1,html[data-theme="dark"] .app h2,html[data-theme="dark"] .app h3,html[data-theme="dark"] .app h4,html[data-theme="dark"] .app label,html[data-theme="dark"] .app strong,html[data-theme="dark"] .app b{color:#f4f8f5}
html[data-theme="dark"] .app .eyebrow{color:#a9c5b6}
html[data-theme="dark"] .app .muted,html[data-theme="dark"] .app .metric span,html[data-theme="dark"] .app .small{color:#b8c5be}
html[data-theme="dark"] .app .metric strong{color:#ffffff}
html[data-theme="dark"] .app .card,html[data-theme="dark"] .app .table tr{background:#14201a;border-color:#405149}
html[data-theme="dark"] .app .table th{color:#b8c5be;border-color:#405149}
html[data-theme="dark"] .app .table td{color:#edf4f0;border-color:#405149}
html[data-theme="dark"] .app input,html[data-theme="dark"] .app textarea,html[data-theme="dark"] .app select{background:#0e1712;color:#f2f7f4;border-color:#52655b;box-shadow:none}
html[data-theme="dark"] .app input::placeholder,html[data-theme="dark"] .app textarea::placeholder{color:#889890;opacity:1}
html[data-theme="dark"] .app input:focus,html[data-theme="dark"] .app textarea:focus,html[data-theme="dark"] .app select:focus{border-color:#86b79f;outline:3px solid rgba(134,183,159,.22);outline-offset:1px}
html[data-theme="dark"] .app input[readonly]{background:#1b2922;color:#c7d3cd}
html[data-theme="dark"] .app .primary{background:#356b52;border-color:#4d846a;color:#fff}
html[data-theme="dark"] .app .primary:hover{background:#2f604a;border-color:#62947c}
html[data-theme="dark"] .app .secondary{background:#223029;color:#f1f6f3;border-color:#52655b}
html[data-theme="dark"] .app .secondary:hover{background:#2c3d35;border-color:#71877b}
html[data-theme="dark"] .app .danger{background:#3b2020;color:#ffc1c1;border-color:#824444}
html[data-theme="dark"] .app .danger:hover{background:#4b2828;border-color:#9a5555}
html[data-theme="dark"] .app .notice{background:#332b17;color:#f5e7b8;border-color:#725d28}
html[data-theme="dark"] .app .notice .muted{color:#e4d7aa}
html[data-theme="dark"] .app .quote-summary,html[data-theme="dark"] .app .template-manager{background:#0f1914;border-color:#405149}
html[data-theme="dark"] .app .pill{background:#26352e;color:#eef5f1;border:1px solid #44594e}
html[data-theme="dark"] .app .pill.good{background:#143b27;color:#bcebcf;border-color:#2f6947}
html[data-theme="dark"] .app .pill.warn{background:#443719;color:#ffe2a0;border-color:#745f28}
html[data-theme="dark"] .app .status{background:#173a29;color:#c9f2d8;border:1px solid #346248}
html[data-theme="dark"] .app .status.bad{background:#492323;color:#ffc5c5;border-color:#784040}
html[data-theme="dark"] .app .menu-trigger{background:#223029;color:#f2f7f4;border-color:#52655b}
html[data-theme="dark"] .app .action-menu-panel{background:#14201a;border-color:#52655b;box-shadow:0 18px 42px rgba(0,0,0,.38)}
html[data-theme="dark"] .app .menu-item{color:#eef5f1}
html[data-theme="dark"] .app .menu-item:hover{background:#25352d;border-color:#455c50}
html[data-theme="dark"] .app .booking-card-dialog{background:#14201a;color:#f2f7f4;border:1px solid #405149}
html[data-theme="dark"] .app .theme-toggle{background:#f0e7d7;color:#17211c;border-color:#d7c9b3;box-shadow:0 4px 14px rgba(0,0,0,.25)}
html[data-theme="dark"] .app .theme-toggle:hover{background:#fff6e7;border-color:#ead7b8}
html[data-theme="dark"] body.public-site{--paper:#0c1410;--ink:#f2f6f3;--muted:#b9c5be;--line:#3a4a42;--dark:#18251f;background:var(--paper);color:var(--ink)}
html[data-theme="dark"] body.public-site h1,html[data-theme="dark"] body.public-site h2,html[data-theme="dark"] body.public-site h3,html[data-theme="dark"] body.public-site strong{color:#f5f8f6}
html[data-theme="dark"] body.public-site .eyebrow,html[data-theme="dark"] body.public-site .kicker{color:#9bc0ad}
html[data-theme="dark"] body.public-site .section-heading p,html[data-theme="dark"] body.public-site .amenity-card p,html[data-theme="dark"] body.public-site .location-cards p,html[data-theme="dark"] body.public-site .step-card p,html[data-theme="dark"] body.public-site .faq-list p,html[data-theme="dark"] body.public-site .inquiry-copy p,html[data-theme="dark"] body.public-site .form-note,html[data-theme="dark"] body.public-site .footer-grid p,html[data-theme="dark"] body.public-site .footer-bottom{color:#b9c5be}
html[data-theme="dark"] body.public-site .site-header{background:rgba(12,20,16,.94);border-color:#2d3b34}
html[data-theme="dark"] body.public-site .hero-shell{background:#15211b}
html[data-theme="dark"] body.public-site .amenity-card,html[data-theme="dark"] body.public-site .details-grid article,html[data-theme="dark"] body.public-site .policy-grid article,html[data-theme="dark"] body.public-site .contact-card,html[data-theme="dark"] body.public-site .inquiry-form{background:#14201a;border-color:#3f5148;color:#f2f6f3}
html[data-theme="dark"] body.public-site .section-location,html[data-theme="dark"] body.public-site .featured-media-section{background:#101a15}
html[data-theme="dark"] body.public-site .location-cards article{background:#17241e;color:#f2f6f3;border:1px solid #34473d}
html[data-theme="dark"] body.public-site .inquiry-form input,html[data-theme="dark"] body.public-site .inquiry-form textarea{background:#0e1712;color:#f2f6f3;border-color:#52655b}
html[data-theme="dark"] body.public-site .button-primary{background:#315947;border-color:#5b8d73;color:#fff}
html[data-theme="dark"] body.public-site .button-primary:hover{background:#294d3e;border-color:#6e9f86}
html[data-theme="dark"] body.public-site .button-ghost{background:#1c2a23;border-color:#52655b;color:#f2f6f3}
html[data-theme="dark"] body.public-site .button-light{background:#f4eadc;color:#18231e;border-color:#e1d1b9}
html[data-theme="dark"] body.public-site .hero-badge{background:rgba(18,29,23,.96);color:#fff;border:1px solid #405149}
html[data-theme="dark"] body.public-site .cta-card{background:#6f4b35;color:#fff}
html[data-theme="dark"] body.public-site .theme-toggle{background:#f0e7d7;color:#17211c;border-color:#d7c9b3}
html[data-theme="dark"] body.public-site .featured-media-player{border:1px solid #3d4d45}
@media(max-width:760px){html[data-theme="dark"] .app .table tr{background:#14201a!important}}
