:root { color-scheme: light; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
* { box-sizing: border-box; }
body { margin: 0; min-height: 100dvh; background: #f3f5f8; color: #1d2939; }
.checkin-shell { min-height: 100dvh; display: grid; place-items: center; padding: 24px; }
.checkin-card { width: min(100%, 460px); background: #fff; border: 1px solid #dfe5ec; border-radius: 22px; padding: 32px; box-shadow: 0 18px 50px rgba(16, 24, 40, .10); }
.checkin-mark { width: 38px; height: 38px; border-radius: 10px; background: #ff5b1a; margin-bottom: 20px; position: relative; }
.checkin-mark::after { content: ""; position: absolute; inset: 10px; border: 3px solid #fff; border-radius: 3px; }
.eyebrow { margin: 0 0 5px; color: #ff5b1a; font-size: 11px; font-weight: 800; letter-spacing: .09em; }
h1 { margin: 0; font-size: clamp(26px, 6vw, 33px); line-height: 1.1; }
.intro { margin: 12px 0 26px; color: #667085; line-height: 1.55; }
form { display: grid; gap: 16px; }
label { display: grid; gap: 7px; color: #344054; font-size: 13px; font-weight: 700; }
input { width: 100%; min-height: 50px; border: 1px solid #cfd8e3; border-radius: 10px; padding: 10px 12px; color: #1d2939; font: inherit; font-size: 16px; text-transform: uppercase; }
input:focus { outline: 3px solid rgba(255, 91, 26, .16); border-color: #ff5b1a; }
button { min-height: 52px; border: 0; border-radius: 10px; background: #ff5b1a; color: #fff; font: inherit; font-weight: 750; cursor: pointer; }
button:disabled { opacity: .65; cursor: wait; }
.message { margin: 2px 0 0; border-radius: 10px; padding: 12px; font-size: 14px; line-height: 1.45; }
.message.error { background: #fff0ed; color: #b42318; }
.message.success { display: grid; gap: 3px; background: #eaf8ef; color: #067647; }
.support { margin: 24px 0 0; color: #667085; font-size: 12px; line-height: 1.5; text-align: center; }
@media (max-width: 480px) { .checkin-shell { padding: 14px; } .checkin-card { padding: 26px 20px; border-radius: 18px; } }
