.h5-body{color:#1f2937;-webkit-font-smoothing:antialiased;background:#f3f5f8;min-height:100vh;margin:0;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Helvetica Neue,sans-serif}.h5-shell{background:#f3f5f8;max-width:430px;min-height:100vh;margin:0 auto}.h5-header{color:#fff;background:linear-gradient(#6ea8dc 0%,#5b9bd5 100%);border-bottom-right-radius:18px;border-bottom-left-radius:18px;padding:20px 16px 24px;box-shadow:0 8px 24px #5b9bd540}.h5-title{text-align:center;margin:0;font-size:22px;font-weight:700}.h5-subtitle{text-align:center;opacity:.92;margin:8px 0 0;font-size:13px}.h5-card{background:#fff;border-radius:16px;margin:16px;padding:18px;box-shadow:0 4px 16px #0f172a0f}.h5-stat-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.h5-stat-item{text-align:center;background:#f8fafc;border-radius:12px;padding:12px 8px}.h5-stat-value{color:#2563eb;font-size:20px;font-weight:700}.h5-stat-label{color:#64748b;margin-top:4px;font-size:12px}.h5-btn{cursor:pointer;border:none;border-radius:999px;width:100%;padding:14px 18px;font-size:16px;font-weight:600;transition:transform .15s,opacity .15s;display:block}.h5-btn:active{transform:scale(.98)}.h5-btn-primary{color:#fff;background:linear-gradient(#34c759 0%,#22a447 100%);box-shadow:0 8px 20px #22c55e47}.h5-btn-secondary{color:#2563eb;background:#fff;border:1px solid #bfdbfe}.h5-btn-link{color:#64748b;box-shadow:none;background:0 0;padding:10px}.h5-form-label{margin-bottom:8px;font-size:14px;font-weight:600;display:block}.h5-input,.h5-textarea{box-sizing:border-box;background:#fff;border:1px solid #dbe3ee;border-radius:12px;width:100%;padding:12px 14px;font-size:16px}.h5-textarea{resize:vertical;min-height:96px}.h5-info-bar{background:#fde8ef;border-radius:12px;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;padding:14px 16px;font-size:13px;display:grid}.h5-info-item span{color:#64748b}.h5-table-wrap{background:#fff;border:1px solid #cbd5e1;border-radius:12px;overflow-x:auto}.h5-table{border-collapse:collapse;width:100%;font-size:12px}.h5-table th,.h5-table td{text-align:center;white-space:nowrap;border:1px solid #cbd5e1;padding:8px 6px}.h5-table thead th{background:#fff3bf;font-weight:700}.h5-table tbody tr:nth-child(2n){background:#fafafa}.h5-table .checked{background:#ecfdf5}.h5-weight-input{text-align:center;color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:6px;width:100%;min-width:52px;max-width:72px;padding:4px 6px;font-size:12px}.h5-weight-input:focus{border-color:#22c55e;outline:none;box-shadow:0 0 0 2px #22c55e26}.h5-weight-input:disabled{opacity:.6}.h5-weight-input::placeholder{color:#94a3b8}.h5-export-card{padding-top:14px;padding-bottom:14px}.h5-export-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.h5-btn-export{padding:12px 10px;font-size:14px}.h5-export-hint{color:#94a3b8;text-align:center;margin:10px 0 0;font-size:12px}.h5-print-page{color:#0f172a;max-width:960px;margin:0 auto;padding:16px}.h5-print-toolbar{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:20px;display:grid}.h5-print-back{text-align:center;text-decoration:none}.h5-print-title{text-align:center;margin:0 0 8px;font-size:22px}.h5-print-meta{color:#475569;text-align:center;margin:0 0 20px;font-size:13px;line-height:1.6}.h5-print-table{border-collapse:collapse;width:100%;font-size:12px}.h5-print-table th,.h5-print-table td{text-align:center;border:1px solid #cbd5e1;padding:8px 6px}.h5-print-table thead th{background:#fff3bf;font-weight:700}.h5-print-table tbody tr:nth-child(2n){background:#fafafa}.h5-print-table tbody tr.checked{background:#ecfdf5}.h5-print-footer{color:#64748b;text-align:center;margin-top:16px;font-size:12px}@media print{.h5-print-toolbar{display:none}.h5-print-page{max-width:none;padding:0}.h5-print-footer{display:none}@page{size:A4 portrait;margin:12mm}}.h5-footer-note{color:#475569;background:#fde8ef;border-radius:12px;margin:16px;padding:14px 16px;font-size:13px;line-height:1.6}.h5-tabs{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px;display:grid}.h5-tab{color:#475569;background:#e2e8f0;border:none;border-radius:999px;padding:10px 12px;font-weight:600}.h5-tab.active{color:#fff;background:#5b9bd5}.h5-message{color:#64748b;text-align:center;margin-top:12px;font-size:13px}.h5-error{color:#dc2626}.h5-success{color:#16a34a}.h5-back{color:#fff;opacity:.95;align-items:center;gap:6px;margin-bottom:12px;font-size:14px;text-decoration:none;display:inline-flex}.h5-dual-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.h5-checkin-card{padding-top:22px;padding-bottom:22px}.h5-checkin-tip{text-align:center;color:#1f2937;margin:0 0 18px;font-size:15px;font-weight:600;line-height:1.7}.h5-checkin-tip span{color:#64748b;font-size:12px;font-weight:400}.h5-btn-checkin{padding:16px 18px;font-size:18px}.h5-btn-cancel{color:#64748b;background:#fff;border:1px solid #e2e8f0;margin-top:20px;font-size:15px;font-weight:500}.h5-health-pass{flex-direction:column;align-items:center;padding:12px 8px 4px;display:flex}.h5-health-pass-ring{background:linear-gradient(#fff 0%,#f0fdf4 100%);border:4px solid #ffffffd9;border-radius:50%;justify-content:center;align-items:center;width:88px;height:88px;margin-bottom:16px;display:flex;box-shadow:0 8px 24px #16a34a2e}.h5-health-pass-icon{color:#fff;background:linear-gradient(#22c55e 0%,#16a34a 100%);border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;font-size:32px;font-weight:700;line-height:1;display:flex}.h5-health-pass-title{color:#16a34a;letter-spacing:2px;font-size:28px;font-weight:800}.h5-health-pass-sub{color:#64748b;margin-top:8px;font-size:14px}.h5-health-pass-tip{color:#15803d;background:#ecfdf5;border-radius:999px;margin-top:12px;padding:8px 14px;font-size:12px}.h5-card.h5-checkin-card:has(.h5-health-pass){background:linear-gradient(#ecfdf5 0%,#fff 100%);border:1px solid #bbf7d0}.h5-mark-ok{color:#16a34a;font-size:18px;font-weight:700}.h5-mark-no{color:#dc2626;font-size:18px;font-weight:700}.h5-mark-pending{color:#94a3b8;font-size:16px}@media (max-width:360px){.h5-dual-grid{grid-template-columns:1fr}}
