html,body,#root{min-width:100%;min-height:100%;margin:0}body{font-family:Arial,Microsoft JhengHei,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;min-height:100%;margin:0}body{color:#111827;background:#f3f4f6;font-family:Arial,Microsoft JhengHei,PingFang TC,sans-serif}.app{background:#f3f4f6;width:100%;min-height:100vh;padding:18px 14px 35px}.checkin-container{width:100%;max-width:620px;margin:0 auto}.header{text-align:center;margin-bottom:18px;padding:4px 10px}.header h1{color:#111827;margin:0 0 6px;font-size:28px;font-weight:800}.header p{color:#6b7280;margin:0;font-size:15px}.scanner-section{background:#fff;border-radius:24px;width:100%;margin-bottom:18px;overflow:hidden;box-shadow:0 8px 24px #0000000f}.camera-wrapper{aspect-ratio:1;background:#111827;width:100%;position:relative;overflow:hidden}.camera{object-fit:cover;width:100%;height:100%;display:block}.scan-frame{pointer-events:none;width:68%;height:68%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.corner{border-style:solid;border-color:#fff;width:52px;height:52px;position:absolute}.corner.top-left{border-width:7px 0 0 7px;top:0;left:0}.corner.top-right{border-width:7px 7px 0 0;top:0;right:0}.corner.bottom-left{border-width:0 0 7px 7px;bottom:0;left:0}.corner.bottom-right{border-width:0 7px 7px 0;bottom:0;right:0}.camera-status{text-align:center;color:#4b5563;background:#fff;width:100%;padding:22px 18px;font-size:20px;font-weight:700}.status-message{text-align:center;border-radius:14px;width:100%;margin-bottom:18px;padding:15px 18px;font-size:17px;font-weight:700;line-height:1.5}.status-message.success{color:#166534;background:#dcfce7}.status-message.warning{color:#92400e;background:#fef3c7}.status-message.error{color:#991b1b;background:#fee2e2}.result-card{background:#fff;border-radius:24px;width:100%;margin-bottom:20px;padding:28px 24px 24px;box-shadow:0 8px 24px #0000000f}.result-card h2{text-align:center;color:#111827;word-break:break-word;margin:0 0 24px;font-size:34px;font-weight:800;line-height:1.25}.info-row{border-bottom:1px solid #e5e7eb;grid-template-columns:minmax(95px,.85fr) minmax(0,1.65fr);align-items:center;gap:16px;width:100%;min-height:62px;padding:14px 2px;display:grid}.info-label{color:#6b7280;word-break:break-word;font-size:18px;font-weight:500;line-height:1.4}.info-value{color:#4b5563;text-align:right;word-break:break-word;overflow-wrap:anywhere;font-size:18px;font-weight:500;line-height:1.5}.status{justify-self:end;font-size:21px;font-weight:800;line-height:1.4;display:inline-block}.status.available{color:#15803d}.status.checked{color:#d97706}.button-group{flex-direction:column;gap:12px;width:100%;margin-top:22px;display:flex}.confirm-button{color:#fff;text-align:center;cursor:pointer;appearance:none;touch-action:manipulation;background:#2563eb;border:none;border-radius:14px;width:100%;min-height:62px;margin:0;padding:15px 20px;font-family:inherit;font-size:20px;font-weight:800;transition:transform .12s,opacity .12s,background .12s;display:block}.confirm-button:hover{background:#1d4ed8}.confirm-button:active{transform:scale(.985)}.confirm-button:disabled{opacity:.55;cursor:not-allowed}.back-button{color:#111827;text-align:center;cursor:pointer;appearance:none;touch-action:manipulation;background:#e5e7eb;border:none;border-radius:14px;width:100%;min-height:62px;margin:0;padding:15px 20px;font-family:inherit;font-size:20px;font-weight:800;transition:transform .12s,background .12s;display:block}.back-button:hover{background:#d1d5db}.back-button:active{transform:scale(.985)}@media (width<=600px){.app{padding:10px 10px 28px}.checkin-container{max-width:100%}.header{margin-bottom:12px}.header h1{font-size:25px}.header p{font-size:14px}.scanner-section{border-radius:22px}.camera-status{padding:18px 12px;font-size:18px}.result-card{border-radius:22px;padding:24px 20px 22px}.result-card h2{margin-bottom:22px;font-size:32px}.info-row{grid-template-columns:minmax(90px,.8fr) minmax(0,1.5fr);gap:12px;min-height:58px}.info-label,.info-value{font-size:17px}.status{font-size:20px}.confirm-button,.back-button{border-radius:14px;width:100%;min-height:62px;font-size:20px}}@media (width<=380px){.app{padding-left:8px;padding-right:8px}.result-card{padding:22px 16px 20px}.result-card h2{font-size:29px}.info-row{grid-template-columns:88px minmax(0,1fr);gap:10px}.info-label,.info-value{font-size:16px}.confirm-button,.back-button{min-height:60px;font-size:19px}}.checkin-workspace{width:100%}.checkin-left,.checkin-right{min-width:0}.fullscreen-button,.tablet-action-bar{display:none}@media (width<=767px),(orientation:portrait){.checkin-workspace{display:block}.checkin-right{margin-top:16px}}@media (width>=768px) and (orientation:landscape){html,body,#root{overscroll-behavior:none;width:100%;height:100%;min-height:0;overflow:hidden}body{position:fixed;inset:0}.app{width:100%;height:100dvh;min-height:0;padding:max(8px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));overflow:hidden}.checkin-container{grid-template-rows:auto minmax(0,1fr);width:min(1280px,100%);max-width:1280px;height:100%;min-height:0;margin:0 auto;display:grid}.header{margin-bottom:8px;padding:0 125px 2px;position:relative}.header h1{margin-bottom:2px;font-size:clamp(23px,2.1vw,30px);line-height:1.1}.header p{font-size:clamp(12px,1.2vw,15px);line-height:1.2}.fullscreen-button{color:#fff;min-width:108px;min-height:40px;font:inherit;cursor:pointer;touch-action:manipulation;background:#111827;border:0;border-radius:10px;padding:7px 12px;font-size:14px;font-weight:800;display:block;position:absolute;top:50%;right:0;transform:translateY(-50%)}:-webkit-any(:fullscreen .fullscreen-button,:-webkit-full-screen .fullscreen-button){display:none}:is(:fullscreen .fullscreen-button,:fullscreen .fullscreen-button){display:none}.checkin-workspace{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;gap:18px;height:100%;min-height:0;display:grid}.checkin-left{grid-template-rows:auto auto;align-content:start;gap:10px;height:100%;min-height:0;display:grid}.checkin-left .scanner-section{grid-template-rows:auto auto;align-content:start;width:100%;height:auto;min-height:0;margin:0;display:grid}.checkin-left .camera-wrapper{aspect-ratio:4/3;width:100%;height:auto;min-height:0;max-height:calc(100dvh - 220px)}.checkin-left .camera{object-fit:cover;width:100%;height:100%}.checkin-left .camera-status{padding:9px 12px;font-size:clamp(15px,1.4vw,18px);line-height:1.2}.tablet-action-bar{grid-template-columns:minmax(0,1.7fr) minmax(145px,.75fr);gap:10px;width:100%;display:grid}.tablet-action-bar .confirm-button,.tablet-action-bar .back-button{border-radius:12px;min-height:54px;margin:0;padding:10px 12px;font-size:clamp(16px,1.5vw,19px);line-height:1.15}.tablet-action-bar .back-button:disabled{opacity:.45;cursor:not-allowed}.checkin-right{min-width:0;height:100%;min-height:0;overflow:hidden}.checkin-right .dynamic-fields{display:block}.checkin-right .button-group,.checkin-right>.back-button{display:none!important}}@media (display-mode:standalone){.fullscreen-button{display:none!important}}@media (width>=1180px) and (orientation:landscape){.checkin-workspace{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px}}
