:root{--green:#0E3424;--green2:#174c39;--green3:#245b47;--cream:#F5E9BB;--paper:#fffdf7;--sand:#fbf3de;--orange:#E69C32;--rust:#BA5225;--red:#A43626;--ink:#0d3023;--muted:#6b786f;--line:rgba(14,52,36,.13);--shadow:0 18px 46px rgba(14,52,36,.12)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#efe6ca;-webkit-font-smoothing:antialiased}.chh-public-body{min-height:100vh;background:radial-gradient(circle at 15% 5%,rgba(230,156,50,.16),transparent 26%),radial-gradient(circle at 92% 8%,rgba(14,52,36,.10),transparent 22%),linear-gradient(180deg,#fbf4df 0%,#f5e9bb 100%)}a{color:inherit}.chh-public-shell{width:min(100%,520px);margin:0 auto;min-height:100vh;padding:18px 16px 98px;position:relative;overflow:hidden}.chh-public-shell:before,.chh-public-shell:after{content:"";position:fixed;pointer-events:none;border-radius:50%;filter:blur(2px);opacity:.18;z-index:0}.chh-public-shell:before{width:230px;height:230px;left:-110px;top:90px;background:radial-gradient(circle,#6f9652 0 4%,transparent 5%),repeating-conic-gradient(from 10deg,#476f45 0 4deg,transparent 4deg 16deg)}.chh-public-shell:after{width:260px;height:260px;right:-145px;bottom:40px;background:repeating-conic-gradient(from 30deg,#416b42 0 3deg,transparent 3deg 14deg)}.chh-public-shell>*{position:relative;z-index:1}.chh-brand{display:flex;align-items:center;justify-content:center;gap:12px;margin:4px 0 20px;font-weight:850;font-size:18px}.chh-brand-box{display:inline-grid;place-items:center;border:2px solid var(--green);border-radius:10px;padding:6px 9px;line-height:.82;font-weight:950;font-size:15px;letter-spacing:-.04em;background:rgba(255,253,247,.55)}.chh-screen-card,.chh-pass-hero,.chh-detail-card,.chh-scanner-card{background:rgba(255,253,247,.96);border:1px solid var(--line);border-radius:26px;box-shadow:var(--shadow)}.chh-screen-card{padding:26px}.chh-eyebrow{display:block;color:var(--rust);letter-spacing:.12em;font-size:12px;font-weight:900;margin-bottom:8px}.chh-screen-card h1,.chh-detail-card h1,.chh-pass-hero h1{font-size:31px;line-height:1.04;letter-spacing:-.045em;margin:7px 0 11px;color:var(--green)}.chh-screen-card h2,.chh-scanner-card h2,.chh-recent h2{margin:0 0 8px;font-size:20px;color:var(--green)}.chh-lead{font-size:16px;line-height:1.55;margin:0 0 18px}.chh-muted{color:var(--muted)}.chh-bird-accent{position:absolute;right:22px;top:20px;font-size:44px;color:#4e7c4a;opacity:.22}.chh-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:54px;border:0;border-radius:15px;padding:14px 18px;font-weight:900;text-decoration:none;letter-spacing:.01em;cursor:pointer;font-size:14px}.chh-btn.primary{background:linear-gradient(135deg,#d85e24,var(--rust));color:white;box-shadow:0 9px 18px rgba(186,82,37,.22)}.chh-btn.secondary{background:white;color:var(--rust);border:1.5px solid var(--rust)}.chh-alert{border-radius:13px;padding:12px 14px;margin:14px 0;font-size:14px}.chh-alert.error{background:#ffe3dc;color:#902f20;border:1px solid #f4c0b4}.chh-activation-card{position:relative;padding-top:30px}.chh-pin-form{margin-top:20px}.chh-pin-boxes{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}.chh-pin-digit{width:100%;height:62px;text-align:center;font-size:27px;font-weight:900;color:var(--green);background:white;border:1.5px solid #cbd5ce;border-radius:13px;outline:none}.chh-pin-digit:focus{border-color:var(--rust);box-shadow:0 0 0 3px rgba(186,82,37,.10)}.chh-steps{margin-top:18px;padding:16px;background:#fbf3df;border-radius:16px;display:grid;gap:12px}.chh-steps div{display:grid;grid-template-columns:26px 1fr;gap:10px;align-items:start;font-size:13px;line-height:1.4}.chh-steps b{display:grid;place-items:center;width:24px;height:24px;border:1.5px solid var(--green);border-radius:50%;font-size:12px}.chh-pass-hero{padding:22px;margin-bottom:14px}.chh-pass-hero>.chh-pill{float:right;margin-top:-40px}.chh-pill{display:inline-flex;padding:6px 11px;border-radius:999px;font-size:11px;font-weight:900}.chh-pill.success{background:#dff4e5;color:#1d7139}.chh-pass-meta{margin-top:18px;display:grid;gap:9px}.chh-pass-meta>div{display:grid;grid-template-columns:30px 1fr;gap:9px;align-items:center;padding:10px 12px;background:#f8f2e5;border-radius:13px}.chh-pass-meta span{font-weight:900}.chh-pass-meta p{margin:0}.chh-pass-meta small{display:block;color:var(--muted);font-size:11px}.chh-pass-meta strong{font-size:13px}.chh-tabs{display:grid;grid-template-columns:1fr 1fr;background:#f4ead0;border-radius:14px;padding:4px;margin:12px 0}.chh-tabs span{padding:10px;text-align:center;font-size:13px;font-weight:800;border-radius:10px;color:#6c776f}.chh-tabs span.active{background:var(--green);color:white}.chh-benefit-grid{display:grid;gap:10px}.chh-benefit-card{display:grid;grid-template-columns:54px 1fr 18px;gap:11px;align-items:center;padding:13px;background:rgba(255,253,247,.96);border:1px solid var(--line);border-radius:18px;box-shadow:0 7px 22px rgba(14,52,36,.07);text-decoration:none}.chh-benefit-card.is-disabled{opacity:.62}.chh-benefit-icon{width:54px;height:54px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(145deg,#db642b,var(--rust));color:white;font-weight:950;font-size:18px}.chh-benefit-copy small{color:#54665c;font-size:11px}.chh-benefit-copy h3{margin:2px 0 3px;font-size:17px;color:#d15124}.chh-benefit-copy p{margin:0;font-size:11px;color:#68756e}.chh-chevron{font-size:27px;color:#6d8277}.chh-mobile-footer{position:fixed;left:50%;bottom:0;transform:translateX(-50%);width:min(100%,520px);display:grid;grid-template-columns:repeat(3,1fr);padding:8px 18px calc(8px + env(safe-area-inset-bottom));background:rgba(255,253,247,.96);border-top:1px solid var(--line);backdrop-filter:blur(16px);z-index:8}.chh-mobile-footer span{text-align:center;font-weight:850;color:var(--green)}.chh-mobile-footer small{display:block;font-size:9px;margin-top:2px}.chh-back{display:inline-flex;margin:0 0 12px 4px;text-decoration:none;font-size:13px;font-weight:800;color:var(--green)}.chh-detail-card{overflow:hidden}.chh-detail-cover{height:150px;background:linear-gradient(135deg,#174c39,#0E3424);position:relative;display:flex;align-items:flex-end;padding:18px;color:#f6e9bd}.chh-detail-cover:after{content:"";position:absolute;right:-30px;top:-35px;width:170px;height:170px;border-radius:50%;border:22px solid rgba(245,233,187,.08)}.chh-detail-mark{position:absolute;right:24px;top:24px;width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:#fff7dd;color:var(--rust);font-weight:950;font-size:24px;box-shadow:0 8px 25px rgba(0,0,0,.12)}.chh-detail-cover span{font-size:12px;font-weight:800;letter-spacing:.08em}.chh-detail-body{padding:22px}.chh-category{display:inline-flex;background:#f7ead0;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800}.chh-detail-body h1{font-size:26px;margin-bottom:4px}.chh-promo-value{font-size:24px;font-weight:950;color:#d35124;margin-bottom:12px}.chh-location{display:flex;gap:9px;align-items:center;padding:11px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:13px}.chh-condition-list{padding:14px 0}.chh-condition-list h3{font-size:14px;margin:0 0 8px}.chh-condition-list p{font-size:12px;margin:7px 0;color:#4f6157}.chh-unavailable{padding:14px;background:#ffe7df;border-radius:14px;margin-bottom:12px;color:#8a3124}.chh-unavailable strong,.chh-unavailable span{display:block}.chh-unavailable span{font-size:12px;margin-top:3px}.chh-qr-card{text-align:center}.chh-qr-card h1{margin-bottom:6px}.chh-qr-card>p{font-size:13px;color:#57665f}.chh-qr-wrap{width:min(100%,280px);aspect-ratio:1;margin:18px auto;background:white;border-radius:18px;padding:12px;border:1px solid var(--line);box-shadow:0 10px 22px rgba(14,52,36,.08)}.chh-qr-wrap svg{width:100%;height:100%;display:block}.chh-countdown{font-size:14px;font-weight:800;margin-top:4px}.chh-progress{height:8px;border-radius:99px;background:#d8ddcf;overflow:hidden;margin:9px 8px 18px}.chh-progress i{display:block;height:100%;width:100%;background:#2d934c;border-radius:99px;transition:width .25s linear}.chh-qr-benefit{display:grid;grid-template-columns:54px 1fr;gap:10px;text-align:left;align-items:center;background:#fbf5e8;border-radius:16px;padding:12px}.chh-qr-benefit small,.chh-qr-benefit strong,.chh-qr-benefit span{display:block}.chh-qr-benefit strong{color:#d35124}.chh-qr-benefit span{font-size:11px;color:#66756d;margin-top:2px}.chh-info-note{font-size:11px;background:#f4f0e3;padding:11px;border-radius:12px;margin-top:12px}.chh-state-card{text-align:center}.chh-state-icon{width:78px;height:78px;border-radius:50%;display:grid;place-items:center;margin:0 auto 14px;font-size:38px;font-weight:950}.chh-state-icon.success{background:#e1f5e6;color:#248743}.chh-state-icon.error{background:#ffe4dd;color:#cf482c}.chh-state-icon.neutral{background:#eef0e9;color:#60746a}.chh-auto-value{font-size:27px;font-weight:950;color:#d35124;margin:12px 0}.chh-spinner{width:54px;height:54px;border:5px solid #dde5df;border-top-color:var(--rust);border-radius:50%;margin:0 auto 16px;animation:chhspin .8s linear infinite}@keyframes chhspin{to{transform:rotate(360deg)}}
/* Comercio */.chh-merchant-body{background:linear-gradient(180deg,#0e3424 0 210px,#f5e9bb 210px 100%)}.chh-merchant-shell{width:min(100%,760px);margin:0 auto;padding:18px 16px 70px;min-height:100vh}.chh-merchant-shell .chh-brand{color:white}.chh-merchant-shell .chh-brand-box{border-color:white;background:rgba(255,255,255,.05)}.chh-login-card{margin-top:40px}.chh-login-card form{display:grid;gap:12px}.chh-login-card label{font-weight:800;font-size:13px}.chh-login-card input[type=text],.chh-login-card input[type=password]{width:100%;border:1px solid #cbd5ce;border-radius:13px;padding:13px;font-size:16px}.chh-login-card .login-remember{font-size:12px}.chh-login-card input[type=submit]{width:100%;border:0;border-radius:14px;padding:14px;background:var(--rust);color:white;font-weight:900}.chh-merchant-picker{display:grid;gap:9px;margin-top:14px}.chh-merchant-picker a{display:flex;justify-content:space-between;align-items:center;padding:14px;background:#f7f1e4;border-radius:12px;text-decoration:none}.chh-merchant-heading{color:white;display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin:18px 4px 22px}.chh-merchant-heading h1{font-size:28px;margin:2px 0}.chh-merchant-heading p{margin:0;opacity:.8}.chh-merchant-heading .chh-eyebrow{color:#f3c178}.chh-logout{color:white;font-size:12px;text-decoration:none;border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:7px 10px}.chh-scanner-card{padding:20px}.chh-scanner-top{display:flex;justify-content:space-between;gap:12px;align-items:start}.chh-scanner-top p{margin:0;color:var(--muted);font-size:13px}.chh-live-dot{font-size:11px;font-weight:800;color:#2c7d43}.chh-live-dot i{display:inline-block;width:8px;height:8px;background:#36a454;border-radius:50%;margin-right:5px}.chh-video-frame{margin:16px 0;aspect-ratio:4/3;border-radius:18px;background:#142a21;position:relative;overflow:hidden}.chh-video-frame video{width:100%;height:100%;object-fit:cover}.chh-camera-placeholder{position:absolute;inset:0;display:grid;place-items:center;align-content:center;gap:5px;color:#e8e0c8;font-size:36px;background:radial-gradient(circle at center,rgba(255,255,255,.06),transparent 60%)}.chh-camera-placeholder strong{font-size:15px}.chh-camera-placeholder span{font-size:11px;opacity:.8}.chh-scan-corners:before,.chh-scan-corners:after{content:"";position:absolute;inset:20% 16%;border:3px solid rgba(255,255,255,.9);border-left-color:transparent;border-right-color:transparent;border-radius:12px;pointer-events:none}.chh-scan-corners:after{transform:rotate(90deg)}.chh-scanner-fallback{margin-top:12px;padding:12px;background:#fff1d8;border-radius:12px;font-size:12px}.chh-manual{margin-top:14px}.chh-manual summary{cursor:pointer;font-size:12px;font-weight:800}.chh-manual div{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:8px}.chh-manual input{min-width:0;border:1px solid #cbd5ce;border-radius:10px;padding:10px}.chh-manual button{border:0;border-radius:10px;background:var(--green);color:white;font-weight:900;padding:0 12px}.chh-merchant-kpis{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}.chh-merchant-kpis>div{background:rgba(255,253,247,.96);border-radius:18px;padding:16px;border:1px solid var(--line)}.chh-merchant-kpis small{display:block;color:var(--muted)}.chh-merchant-kpis strong{font-size:30px;color:var(--green)}.chh-recent{padding:18px}.chh-recent>div{display:flex;justify-content:space-between;align-items:center;padding:11px 0;border-top:1px solid var(--line)}.chh-recent b,.chh-recent small{display:block}.chh-recent small{color:var(--muted);font-size:11px}.chh-recent time{font-size:12px;font-weight:800}.chh-scan-result{position:fixed;inset:0;z-index:100;background:rgba(4,27,19,.82);backdrop-filter:blur(8px);display:grid;place-items:center;padding:20px}.chh-scan-result[hidden]{display:none}.chh-scan-result-card{width:min(100%,420px);background:#f7fff8;border-radius:28px;padding:30px;text-align:center;box-shadow:0 30px 80px rgba(0,0,0,.3)}.chh-scan-result-card .chh-state-icon{background:#dff5e6;color:#188545}.chh-scan-result.is-error .chh-state-icon{background:#ffe3dd;color:#cb452c}.chh-scan-result-card h2{font-size:26px;margin:8px 0;color:var(--green)}.chh-scan-result-card>strong{font-size:24px;color:#d35124}.chh-scan-result-card p{color:#66756d}.chh-scan-result-card button{width:100%;border:0;border-radius:14px;padding:13px;background:var(--green);color:white;font-weight:900;margin-top:10px}@media(min-width:680px){.chh-merchant-shell{padding-left:24px;padding-right:24px}.chh-scanner-card{padding:26px}.chh-video-frame{aspect-ratio:16/9}}@media(max-width:380px){.chh-screen-card{padding:21px}.chh-screen-card h1,.chh-pass-hero h1{font-size:27px}.chh-pin-digit{height:56px}.chh-benefit-card{grid-template-columns:48px 1fr 16px}.chh-benefit-icon{width:48px;height:48px}}
/* 0.4.0: inherited Chiloé Host palette, quieter operational surfaces. */
[hidden]{display:none!important}
:root{--muted:#526159;--shadow:none}
.chh-public-body{background:#f6f0e2}.chh-public-shell:before,.chh-public-shell:after{display:none}.chh-public-shell{padding-bottom:36px}.chh-screen-card,.chh-pass-hero,.chh-detail-card,.chh-scanner-card{border-radius:16px;box-shadow:none;background:#fffdf7}.chh-screen-card h1,.chh-detail-card h1,.chh-pass-hero h1{letter-spacing:-.025em;line-height:1.15}.chh-btn.primary{background:#A43626;box-shadow:none}.chh-btn.primary:hover{background:#86291d}.chh-btn.secondary{color:#8b391a;border-color:#8b391a}.chh-benefit-icon{background:#0E3424;border-radius:12px}.chh-benefit-copy h3,.chh-promo-value,.chh-qr-benefit strong,.chh-scan-result-card>strong{color:#A43626}.chh-benefit-card{box-shadow:none;border-radius:14px}.chh-benefit-card.is-disabled{opacity:1;background:#eeeae0}.chh-benefit-copy small,.chh-benefit-copy p{font-size:13px;color:#425749}.chh-pass-meta small,.chh-condition-list p,.chh-info-note{font-size:13px}.chh-benefits-heading{font-size:21px;margin:26px 0 14px}.chh-brand{justify-content:flex-start;margin:8px 0 28px}.chh-bird-accent{display:none}.chh-eyebrow{color:#8b391a;letter-spacing:.04em}.chh-merchant-body{background:linear-gradient(#0E3424 0 210px,#f6f0e2 210px)}.chh-merchant-shell>.chh-screen-card{margin:16px 0}.chh-merchant-shell>.chh-btn{margin:16px 0}.chh-screen-card form{display:grid;gap:12px}.chh-screen-card label{font-weight:650}.chh-screen-card input:not([type=checkbox]),.chh-screen-card select,.chh-scan-result select{width:100%;min-height:48px;padding:10px 12px;border:1px solid #809486;border-radius:10px;background:#fff;font:inherit;color:#0E3424}.chh-screen-card input[type=checkbox]{width:20px;height:20px;accent-color:#0E3424;vertical-align:middle}.chh-screen-card .chh-pin-digit{font-size:28px}.chh-list-row{display:flex;justify-content:space-between;gap:16px;padding:18px 0;border-bottom:1px solid #d8dfd4}.chh-history-item{padding:20px 0;border-bottom:1px solid #d8dfd4}.chh-history-item h3{margin:0;font-size:17px}.chh-history-item p{font-size:14px;line-height:1.6}.chh-history-item form{margin-top:16px}.chh-operation-buttons{display:flex;flex-wrap:wrap;gap:8px}.chh-history-item button,.chh-pagination button{background:#0E3424;color:#fff;border:0;border-radius:9px;padding:12px 15px;min-height:44px;font:inherit;cursor:pointer}.chh-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px 0}.chh-pin-once{font-size:44px;letter-spacing:.22em;display:block;text-align:center;padding:20px 0;font-variant-numeric:tabular-nums}.chh-manual-code{font-size:14px}.chh-manual-code strong{display:block;font-size:32px;letter-spacing:.17em;color:#0E3424;font-variant-numeric:tabular-nums}.chh-merchant-photo{width:100%;height:210px;object-fit:cover;display:block}.chh-merchant-photo+.chh-detail-cover{display:none}.chh-contact-link{display:inline-flex;padding:12px 8px;min-height:44px;text-underline-offset:4px}.chh-scan-result-card{max-height:90dvh;overflow:auto;border-radius:16px;background:#fffdf7}.chh-scan-result-card button{min-height:48px}.chh-scan-result-card [data-chh-void]{margin-top:22px}.chh-scan-result-card label{display:block;font-size:14px;margin-bottom:8px}.chh-manual button{min-height:48px}.chh-manual summary{font-size:15px;padding:12px 0}.chh-pin-digit:focus{outline:3px solid #E69C32;outline-offset:2px}.chh-detail-body h1{font-size:28px}.chh-merchant-kpis strong{font-variant-numeric:tabular-nums}.chh-merchant-kpis small{color:#425749}button:disabled{opacity:.55;cursor:not-allowed}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #E69C32;outline-offset:3px}::selection{background:#F5E9BB;color:#0E3424}[data-physical-video]{width:100%;max-height:320px;background:#0E3424;border-radius:12px}#nueva-estadia{scroll-margin-top:24px}.chh-scan-result{backdrop-filter:none}.chh-merchant-heading{min-height:70px}.chh-login-card{margin-top:24px!important}input{caret-color:#0E3424}p{line-height:1.55}@media(min-width:768px){.chh-merchant-shell{width:min(100%,900px)}.chh-merchant-kpis{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}.chh-screen-card{padding:30px}.chh-login-card{max-width:520px;margin:28px auto!important}.chh-operation-buttons button{flex:1}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.chh-pass-hero>.chh-pill{float:none;margin:4px 0 0}.chh-pass-hero h1{max-width:100%}.chh-merchant-logo{width:54px;height:54px;object-fit:contain;border-radius:10px;background:#fff}.chh-benefit-grid img{display:block}

/* 0.4.1 — shared design tokens and compact guest / merchant components. */
:root {
 --chh-green:#0E3424; --chh-cream:#F5E9BB; --chh-orange:#E69C32;
 --chh-terracotta:#BA5225; --chh-red:#A43626; --chh-success:#21643b; --chh-error:#A43626;
 --chh-space-1:4px; --chh-space-2:8px; --chh-space-3:12px; --chh-space-4:16px; --chh-space-5:24px; --chh-space-6:32px;
 --chh-radius:18px; --chh-shadow:0 16px 40px rgba(14,52,36,.16); --chh-body:16px;
 --green:var(--chh-green); --cream:var(--chh-cream); --orange:var(--chh-orange); --rust:var(--chh-terracotta); --red:var(--chh-red);
}
.chh-public-body {font-size:var(--chh-body);background:#f6f0e2;line-height:1.5}
.chh-public-shell,.chh-merchant-shell {padding:calc(12px + env(safe-area-inset-top)) 16px calc(24px + env(safe-area-inset-bottom));overflow-wrap:anywhere}
.chh-brand {gap:12px;margin:0 0 20px;font-size:17px;min-height:44px}
.chh-brand-box {font-size:14px;padding:5px 7px;border-radius:9px;letter-spacing:-.04em;background:transparent}
.chh-icon {width:24px;height:24px;flex:none;display:inline-block}
.chh-screen-card {padding:20px}
.chh-screen-card h1 {font-size:30px;line-height:1.16}
.chh-back,.chh-logout,.chh-contact-link,.chh-pagination a {min-height:44px;align-items:center;display:inline-flex}
.chh-back {font-size:14px;margin:0 0 8px}
.chh-btn {min-height:48px;padding:12px 16px;border-radius:12px;font-size:14px;line-height:1.4}
button,input,select {font:inherit}
.chh-visual {position:relative;display:grid;place-items:center;width:56px;height:56px;border-radius:13px;background:#e9eedf;color:var(--chh-green);overflow:hidden;flex:none}
.chh-visual>.chh-icon {width:28px;height:28px}
.chh-visual img {position:absolute;inset:0;width:100%;height:100%;background:#fff;display:block}
.chh-visual-logo {object-fit:contain;padding:4px}
.chh-visual-photo {object-fit:cover}
.chh-guest-intro {margin:8px 0 22px}
.chh-guest-intro h1 {font-size:34px;line-height:1.15;letter-spacing:-.025em;margin:4px 0 10px}
.chh-guest-intro p {margin:0;color:#425749;font-size:15px;max-width:42ch}
.chh-guest-intro p:first-child {font-size:14px}
.chh-benefit-grid {gap:12px}
.chh-benefit-card {grid-template-columns:56px minmax(0,1fr) 12px;padding:14px;gap:12px;border-radius:var(--chh-radius)}
.chh-benefit-copy small {font-size:14px;font-weight:650;display:block;line-height:1.35}
.chh-benefit-copy h3 {font-size:18px;line-height:1.3;margin:4px 0 6px;color:var(--chh-red)}
.chh-benefit-copy p {font-size:13px;line-height:1.4;margin:5px 0 0}
.chh-benefit-card.is-disabled {background:#f0eee7}
.chh-benefit-card.is-disabled h3 {color:#4d5b52}
.chh-status-badge {display:inline-flex;padding:2px 7px;border-radius:6px;font-size:12px;font-weight:750;line-height:1.5}
.chh-tone-success {background:#e0efdf;color:#205f37}
.chh-tone-neutral {background:#e4e7e0;color:#47534c}
.chh-tone-error {background:#fbe5dc;color:#933223}
.chh-tone-warning {background:#f8eac6;color:#775013}
.chh-pass-summary {margin-top:28px;padding:18px 0;border-top:1px solid #cfd6c9}
.chh-pass-summary h2 {font-size:17px;margin:0 0 12px}
.chh-pass-line {display:flex;justify-content:space-between;gap:8px;align-items:center;flex-wrap:wrap}
.chh-pass-summary p {margin:6px 0 0;font-size:14px;color:#425749}
.chh-help summary {min-height:44px;padding:10px 0;cursor:pointer;font-size:14px;font-weight:600}
.chh-help p {font-size:14px;margin-top:4px}
.chh-empty {padding:24px;text-align:center}
.chh-empty h2 {font-size:23px;margin-top:12px}
.chh-detail-body {padding:20px}
.chh-detail-identity {display:flex;align-items:center;gap:12px;margin-bottom:16px}
.chh-detail-body h1 {font-size:28px;line-height:1.2}
.chh-promo-value {font-size:28px;line-height:1.25;margin:10px 0 18px}
.chh-merchant-photo {height:auto;aspect-ratio:16/9;object-fit:cover}
.chh-condition-list p,.chh-location {font-size:14px}
.chh-qr-card {padding:20px}
.chh-qr-card h1 {font-size:30px}
.chh-qr-card>p {font-size:15px}
.chh-qr-wrap {width:min(100%,280px);padding:4px;margin:16px auto;box-shadow:none;border:0;border-radius:0}
.chh-manual-code {margin:14px 0}
.chh-copy-code {min-height:44px;border:1px solid #9aa997;background:transparent;border-radius:9px;padding:8px 16px;color:var(--chh-green);cursor:pointer}
.chh-qr-benefit {margin-top:16px;grid-template-columns:56px 1fr;background:#f2eddc}
.chh-qr-benefit small {font-size:14px}
.chh-qr-benefit strong {font-size:19px;line-height:1.3}
.chh-qr-benefit span {font-size:13px}
.chh-qr-card.is-finished .chh-qr-benefit {background:transparent;padding:16px 0;border-top:1px solid var(--line);border-radius:0}
.chh-qr-card.is-finished [data-chh-poll] {font-size:15px}
.chh-qr-card.is-finished .chh-btn {margin-top:18px}
[data-chh-poll] {font-size:13px;color:#425749}
/* Operational merchant surfaces: identity stays compact, scanner comes first. */
.chh-merchant-shell .chh-brand {color:var(--chh-green);margin-bottom:12px}
.chh-merchant-shell .chh-brand-box {border-color:var(--chh-green);background:transparent}
.chh-merchant-heading {color:var(--chh-green);margin:0 0 14px;min-height:0;align-items:center;padding:16px;background:#e6ecdd;border-radius:16px}
.chh-merchant-heading .chh-eyebrow {color:#425749;font-size:10px;margin:0 0 4px}
.chh-merchant-heading h1 {font-size:24px;line-height:1.15;margin:0 0 4px;letter-spacing:-.025em}
.chh-merchant-heading p {font-size:13px;opacity:1;line-height:1.4}
.chh-merchant-identity {display:grid;grid-template-columns:minmax(0,1fr) 56px;gap:8px 12px;position:relative;overflow:hidden;background:linear-gradient(115deg,#e5ebdc,#f4edd6)}
.chh-merchant-identity>.chh-merchant-photo {position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.chh-merchant-identity:has(>.chh-merchant-photo)::after {content:"";position:absolute;inset:0;background:rgba(14,52,36,.72)}
.chh-merchant-identity:has(>.chh-merchant-photo) {color:#fffdf7}
.chh-merchant-identity:has(>.chh-merchant-photo) .chh-eyebrow {color:var(--chh-cream)}
.chh-merchant-identity>div,.chh-merchant-identity>.chh-visual,.chh-merchant-identity>.chh-logout {position:relative;z-index:1}
.chh-merchant-identity>.chh-visual {align-self:start}
.chh-logout {color:inherit;font-size:13px;border:1px solid currentColor;border-radius:8px;padding:8px 12px;justify-content:center}
.chh-merchant-identity .chh-logout {grid-column:2;min-height:44px}
.chh-scanner-card {padding:16px}
.chh-scanner-top {display:block}
.chh-scanner-top h2 {font-size:23px;line-height:1.2;margin:0 0 4px}
.chh-scanner-top p {font-size:14px}
.chh-live-dot {font-size:12px;color:#425749;margin-top:6px;min-height:18px}
.chh-live-dot.is-loading::before {content:"";display:inline-block;width:12px;height:12px;border:2px solid #bbc9b9;border-top-color:var(--chh-green);border-radius:50%;margin-right:6px;animation:chhspin .8s linear infinite}
.chh-video-frame {height:178px;aspect-ratio:auto;margin:10px 0 12px;border-radius:12px}
.chh-scan-corners::before {inset:16% 12%;border:2px solid #f5e9bb;border-radius:10px}
.chh-scan-corners::after {display:none}
.chh-camera-placeholder {gap:4px;background:#183d2e}
.chh-camera-placeholder strong {font-size:14px}
.chh-camera-placeholder span {font-size:12px;opacity:1}
.chh-camera-placeholder .chh-icon {width:28px;height:28px;margin-bottom:4px}
.chh-merchant-kpis {gap:12px;margin:14px 0 0}
.chh-merchant-kpis>div {border:0;border-radius:10px;background:#f1f1e6;padding:10px 12px}
.chh-merchant-kpis strong {font-size:25px;line-height:1.2}
.chh-merchant-kpis small {font-size:12px}
.chh-manual {margin-top:8px;border-top:1px solid var(--line)}
.chh-manual summary {font-size:14px;min-height:44px;padding:12px 0}
.chh-manual input {font-size:16px;width:100%}
.chh-merchant-picker a {gap:12px;justify-content:start;min-height:80px;background:#f3f0e4}
.chh-merchant-picker a>span:nth-child(2) {flex:1;min-width:0}
.chh-merchant-picker strong {font-size:16px;line-height:1.3;display:block}
.chh-merchant-picker small {display:block;font-size:13px;color:#425749;margin-top:4px}
.chh-recent h2 {font-size:21px}
.chh-recent small {font-size:13px}
.chh-recent time {font-size:14px;font-variant-numeric:tabular-nums}
.chh-result-merchant {display:flex;justify-content:flex-end;margin-bottom:4px}
.chh-result-merchant .chh-visual {width:44px;height:44px;border-radius:10px}
.chh-scan-result {padding:16px;padding-bottom:calc(16px + env(safe-area-inset-bottom))}
.chh-scan-result-card {padding:20px;max-height:calc(100dvh - 48px);box-shadow:var(--chh-shadow);animation:chh-result-in .18s ease-out}
.chh-scan-result-card .chh-state-icon {width:64px;height:64px;font-size:34px;margin:0 auto 16px}
.chh-result-announcement h2 {font-size:23px;line-height:1.2;margin:0 0 12px}
.chh-result-announcement>strong {display:block;font-size:30px;line-height:1.18;color:var(--chh-red)}
.chh-result-announcement p {font-size:15px;margin:10px 0;color:#425749}
.chh-scan-result-card [data-chh-void] {margin-top:16px;font-size:13px;text-align:left}
[data-chh-void] summary {min-height:44px;padding:10px 0;cursor:pointer}
.chh-scan-result-card [data-chh-void-submit] {background:transparent;border:1px solid #a43626;color:#a43626;font-size:12px}
.chh-scan-result-card [data-chh-result-close] {font-size:13px;min-height:50px}
.chh-modal-open {overflow:hidden}
@keyframes chh-result-in {from {opacity:.7;transform:translateY(6px)} to {opacity:1;transform:translateY(0)}}
@media(min-width:768px) {.chh-public-shell{width:min(100%,760px)}.chh-benefit-grid{grid-template-columns:1fr 1fr}.chh-guest-intro h1{font-size:36px}.chh-merchant-shell{max-width:760px}.chh-video-frame{height:240px}.chh-merchant-identity h1{font-size:28px}}
@media(max-width:375px) {.chh-public-shell,.chh-merchant-shell{padding-left:12px;padding-right:12px}.chh-benefit-card{padding:12px;gap:10px;grid-template-columns:48px minmax(0,1fr) 10px}.chh-benefit-card .chh-visual{width:48px;height:48px}.chh-benefit-copy h3{font-size:17px}.chh-screen-card{padding:18px}.chh-merchant-heading h1{font-size:23px}}
@media(prefers-reduced-motion:reduce) {*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.chh-qr-benefit .chh-visual{display:grid}.chh-merchant-identity{padding:12px;gap:4px 12px}.chh-merchant-identity>div{grid-row:1 / span 2}.chh-merchant-identity>.chh-visual{width:44px;height:44px;justify-self:end}.chh-merchant-identity>.chh-logout{grid-row:2}.chh-scan-corners{position:absolute;inset:0;z-index:2;pointer-events:none}
/* Universal stay entry and lodging operations. */
.chh-stay-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.chh-stay-tabs button{border:1px solid #789080;border-radius:8px;background:transparent;color:#0e3424;padding:10px 12px;min-height:44px;cursor:pointer}.chh-stay-tabs [aria-pressed=true]{background:#0e3424;color:white}
.chh-history-item summary{min-height:44px;padding:10px 0;cursor:pointer}.chh-history-item form{display:grid;gap:8px}.chh-pin-once{font-size:38px;letter-spacing:.15em}

/* Shared ChiloéPass identity; existing operational layouts remain unchanged. */
.chh-brand .cp-logo{display:block;width:156px;height:42px;overflow:hidden;border-radius:3px;background:#fffdf5}.chh-brand .cp-logo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.chh-brand .cp-logo-custom img{object-fit:contain}.chh-brand>a{flex-shrink:0}.chh-brand>a:focus-visible{outline:3px solid #ba5225;outline-offset:4px}

/* Horizontal ChiloéPass brand, also used by guest and partner portals. */
.chh-brand .cp-logo{width:190px;height:52px;background:#fffdf5}
.chh-brand .cp-logo img{object-fit:cover}
.chh-brand .cp-logo-custom img{object-fit:contain}
.chh-journey-entry{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px;background:#e9eee7;border-radius:14px;margin:24px 0 32px}.chh-journey-entry h2{font-size:24px;margin:0 0 8px}.chh-journey-entry p{margin:0;max-width:55ch}.chh-journey-entry nav{display:flex;gap:12px;flex-wrap:wrap}.chh-journey-entry .chh-btn{margin:0;white-space:nowrap}@media(max-width:700px){.chh-journey-entry{display:block}.chh-journey-entry nav{margin-top:16px}.chh-journey-entry .chh-btn{flex:1}}
.cp-pass-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:5px;background:#e9eee7;border-radius:12px;margin:20px 0 32px;font-family:system-ui,sans-serif}.cp-pass-nav a{min-height:48px;display:flex;align-items:center;justify-content:center;text-decoration:none;color:#00363b;font-size:16px;font-weight:650;border-radius:8px}.cp-pass-nav a[aria-current]{background:#00363b;color:#fff}.cp-pass-nav a:focus-visible{outline:3px solid #bb3c0e;outline-offset:2px}.cp-pass-nav a:hover{background:#d8e1d7;color:#00363b}

/* Guest headings share the established landing and mission typography. */
.chh-guest-intro h1{font-family:Georgia,serif;color:#00363b;letter-spacing:-.025em;line-height:1.12}.chh-journey-entry{padding:20px;gap:16px}.chh-journey-entry h2{font-size:20px}.chh-journey-entry p{font-size:15px}
