#app.checkin-bootstrap-host { display: block; min-height: 100svh; height: auto; overflow: auto; background: #fafafa; }
.cb-page { min-height: 100svh; display: grid; align-content: center; justify-items: center; padding: clamp(20px, 5vw, 64px); color: #171717; font: 14px/1.6 var(--font, Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif); }
.cb-card { width: min(100%, 560px); padding: clamp(24px, 5vw, 44px); border: 1px solid #e3e3e1; border-radius: 18px; background: #fff; }
.cb-brand { margin: 0 0 28px; color: #666; font: 500 11px/1.4 var(--mono, 'DM Mono', monospace); letter-spacing: .06em; }
.cb-title { margin: 0 0 18px; font-size: clamp(26px, 5vw, 38px); line-height: 1.15; font-weight: 600; letter-spacing: -.045em; overflow-wrap: anywhere; }
.cb-description { margin: 0 0 18px; color: #4b4b4b; }
.cb-note { margin: 0; color: #676767; font-size: 12px; }
.cb-actions { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-top: 28px; }
.cb-retry { min-height: 44px; padding: 10px 22px; border: 1px solid #171717; border-radius: 10px; background: #171717; color: #fff; font: inherit; font-weight: 500; line-height: 1.4; cursor: pointer; }
@media (hover: hover) and (pointer: fine){.cb-retry:hover { background: #333; }}
.cb-retry:focus-visible, .cb-title:focus-visible { outline: 2px solid #171717; outline-offset: 4px; }
.cb-retry:disabled { opacity: .6; cursor: wait; }
.cb-secondary { color: #171717; background: #fff; border-color: #d5d5d2; }
@media (hover: hover) and (pointer: fine){.cb-secondary:hover { background: #f3f3f1; }}
.cb-recovery-card { width: min(100%, 680px); }
.cb-recovery-card .cb-note + .cb-note { margin-top: 12px; }
.cb-repair { border-top: 1px solid #e3e3e1; margin-top: 28px; padding-top: 24px; }
.cb-repair h2 { margin: 0 0 12px; font-size: 19px; line-height: 1.3; }
.cb-repair h3 { margin: 20px 0 10px; font-size: 17px; line-height: 1.3; }
.cb-repair-review { overflow-wrap: anywhere; }
.cb-recovery-status { color: #4b4b4b; font-size: 12px; }
.cb-recovery-error { color: #8d2727; font-size: 13px; }
.cb-recovery-error:empty, .cb-recovery-status:empty { display: none; }
.cb-danger { background: #7d2929; border-color: #7d2929; }
@media (hover: hover) and (pointer: fine){.cb-danger:hover { background: #652121; }}
.cb-repair h3:focus-visible { outline: 2px solid #171717; outline-offset: 4px; }
.cb-origin-review { margin: 16px 0; padding: 14px; border: 1px solid #deded9; border-radius: 10px; background: #f8f8f5; font-size: 12px; overflow-wrap: anywhere; }
.cb-origin-review p { margin: 7px 0; }
.cb-origin-review summary { cursor: pointer; }
.cb-origin-review li { margin: 9px 0; }
.cb-origin-review li strong, .cb-origin-review li span { display: block; }
