/* Check-in welcome is an entry to the existing guide, not a separate app. */
body:has(#main[data-route="welcome"]){background:#f4f3ee}
body:has(#main[data-route="welcome"]) #sidebar,body:has(#main[data-route="welcome"]) #header,body:has(#main[data-route="welcome"]) #footer,body:has(#main[data-route="welcome"]) #bottomnav{display:none}
body:has(#main[data-route="welcome"]) .shell{margin:0;padding:0}
#main[data-route="welcome"]{max-width:none;min-height:100svh;padding:24px;display:grid;place-items:center}
.checkin-welcome{width:100%;max-width:1060px;margin:auto;color:#153b31}
.checkin-top{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 24px}
.checkin-logo{width:100px;height:106px;max-width:42%;object-fit:contain}
.checkin-languages{display:flex;gap:4px;padding:4px;border:1px solid #d9e0d7;border-radius:14px;background:#fff}
.checkin-languages button{min-width:42px;min-height:42px;padding:7px;border:0;border-radius:10px;background:transparent;color:#446157;font-size:13px;font-weight:650;cursor:pointer}
.checkin-languages button.selected{background:#347d22;color:#fff}
.checkin-panel{display:grid;grid-template-columns:1.1fr 1fr;background:white;border:1px solid #e5e8df;border-radius:28px;overflow:hidden;box-shadow:0 18px 60px #153b310b}
.checkin-photo{position:relative;min-width:0;min-height:460px;background:#e0e9e3}
.checkin-photo>img{display:block;width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:48% 50%}
.checkin-photo-label{position:absolute;left:22px;bottom:22px;display:flex;align-items:center;gap:7px;padding:9px 13px;border-radius:99px;background:#fffef8f0;font-size:13px;font-weight:600}
.checkin-copy{min-width:0;padding:44px 38px;display:flex;flex-direction:column;justify-content:center}
.checkin-eyebrow{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#63776d;font-weight:700}
.checkin-copy h1{font-size:clamp(30px,3.3vw,43px);line-height:1.12;letter-spacing:-.04em;margin:15px 0 18px;font-weight:650;overflow-wrap:normal;word-break:normal}
.checkin-copy>p{color:#66786d;font-size:16px;line-height:1.6;margin:0;max-width:31ch}
.checkin-highlights{display:flex;flex-wrap:wrap;gap:11px 15px;margin:25px 0 30px;color:#4a6559;font-size:12px}
.checkin-highlights>span{display:flex;align-items:center;gap:5px;white-space:nowrap}
.checkin-highlights .icon{width:17px;height:17px}
.checkin-start.btn{width:100%;min-height:54px;border-radius:14px;background:#347d22;color:#fff;justify-content:space-between;padding:14px 20px;font-size:15px;white-space:nowrap;word-break:normal;overflow-wrap:normal}
.checkin-install{align-self:center;display:flex;align-items:center;justify-content:center;gap:7px;margin-top:14px;padding:10px 4px;min-height:44px;font-size:12px;color:#587466;background:none;border:none;cursor:pointer;word-break:normal;overflow-wrap:normal}
.checkin-install .icon{width:16px;height:16px}
.checkin-help{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;margin:22px 0 0;font-size:12px;color:#6a7b70}
.checkin-help>a{display:inline-flex;align-items:center;gap:6px;color:#347d22;text-decoration:none;font-weight:650;min-height:44px}
.checkin-help .icon{width:16px;height:16px}
.checkin-languages button:focus-visible,.checkin-start:focus-visible,.checkin-install:focus-visible,.checkin-help a:focus-visible{outline:3px solid #e6b674;outline-offset:3px}
@media(max-width:760px){#main[data-route="welcome"]{padding:20px 18px}.checkin-top{margin-bottom:18px}.checkin-logo{width:164px}.checkin-panel{grid-template-columns:1fr;border-radius:23px}.checkin-photo{min-height:0;height:clamp(175px,30vw,255px)}.checkin-photo>img{object-position:50% 48%}.checkin-photo-label{left:16px;bottom:14px;font-size:11px;padding:7px 10px}.checkin-copy{padding:28px}.checkin-copy h1{font-size:33px;max-width:22ch;margin:12px 0 14px}.checkin-copy>p{font-size:14px;max-width:35ch}.checkin-highlights{margin:20px 0 23px}.checkin-help{margin-top:12px}}
@media(max-width:390px){#main[data-route="welcome"]{padding:15px 12px}.checkin-top{gap:8px}.checkin-logo{width:125px;max-width:39%}.checkin-languages{gap:0;padding:3px}.checkin-languages button{min-width:37px;padding:4px;font-size:12px}.checkin-copy{padding:24px 22px}.checkin-copy h1{font-size:29px}.checkin-highlights{gap:9px;font-size:11px}}

.checkin-logo{object-fit:contain;background:white;border-radius:8px;padding:5px}.checkin-top{margin-bottom:18px}
