:root{--color-primary:#2c3e50;--color-primary-dark:#1c2833;--color-primary-light:#4a6278;--color-bg:#f2f4f6;--color-surface:#fff;--color-border:#d7dde2;--color-text:#1e2a33;--color-text-muted:#5b6b76;--color-accent:#e8600c;--color-accent-dark:#c14e08;--color-pass:#2e7d32;--color-fail:#c62828;--color-na:#78909c;--color-danger-bg:#fdecea;--radius:10px;--tap-min:48px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{background:var(--color-bg);color:var(--color-text);-webkit-tap-highlight-color:transparent;overscroll-behavior-y:contain;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang TC,Noto Sans TC,Microsoft JhengHei,sans-serif}#root{flex-direction:column;min-height:100dvh;display:flex}a{color:inherit}button,input,select,textarea{font-family:inherit;font-size:16px}button{cursor:pointer}h1,h2,h3{margin:0 0 8px}.page{flex:1;width:100%;max-width:640px;margin:0 auto;padding:12px 16px 96px}.field{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.field label{color:var(--color-text-muted);font-size:14px;font-weight:600}.field input,.field select,.field textarea{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);min-height:var(--tap-min);width:100%;padding:12px 14px}.field textarea{resize:vertical;min-height:88px}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--color-primary-light);outline-offset:1px}.btn{min-height:var(--tap-min);border-radius:var(--radius);border:none;justify-content:center;align-items:center;gap:8px;width:100%;padding:12px 20px;font-size:16px;font-weight:600;display:inline-flex}.btn-primary{background:var(--color-primary);color:#fff}.btn-accent{background:var(--color-accent);color:#fff}.btn-outline{border:1.5px solid var(--color-primary);color:var(--color-primary);background:0 0}.btn:disabled{opacity:.5;cursor:not-allowed}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);margin-bottom:12px;padding:14px 16px}.card-link{color:inherit;text-decoration:none;display:block}.badge{border-radius:999px;padding:3px 10px;font-size:12px;font-weight:700;display:inline-block}.badge-pass{color:var(--color-pass);background:#e3f3e4}.badge-fail{background:var(--color-danger-bg);color:var(--color-fail)}.badge-pending{color:var(--color-na);background:#eceff1}.error-text{color:var(--color-fail);margin-top:4px;font-size:13px}.empty-state{text-align:center;color:var(--color-text-muted);padding:48px 16px}.section-title{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;margin:20px 0 8px;font-size:13px;font-weight:700}.stack{flex-direction:column;gap:10px;display:flex}.fab-add{right:16px;bottom:calc(64px + env(safe-area-inset-bottom,0px) + 16px);background:var(--color-accent);color:#fff;z-index:20;border:none;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;font-size:28px;line-height:1;text-decoration:none;display:flex;position:fixed;box-shadow:0 4px 12px #00000040}.autosave-hint{color:var(--color-text-muted);background:#eef1f4;border-radius:999px;margin-bottom:14px;padding:5px 12px;font-size:12px;display:inline-block}.item-card{border-left:4px solid var(--color-border)}.item-card-fail{border-left-color:var(--color-fail)}.item-photo-label{color:var(--color-text-muted);margin-top:10px;font-size:13px;font-weight:600}.measure-row{align-items:stretch;gap:8px;display:flex}.measure-row input{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);min-height:var(--tap-min);flex:1;width:100%;padding:12px 14px}.measure-standard{color:#7a5c00;border-radius:var(--radius);white-space:nowrap;background:#f2ead2;align-items:center;padding:0 12px;font-size:13px;font-weight:700;display:flex}.fail-block-empty textarea{border-color:var(--color-fail);background:var(--color-danger-bg)}.sync-bar{z-index:40;padding:8px 12px;padding-top:calc(8px + env(safe-area-inset-top,0px));background:var(--color-primary-dark);color:#fff;align-items:center;gap:8px;font-size:13px;display:flex;position:sticky;top:0}.sync-bar-offline{background:var(--color-primary-light)}.sync-status-dot{font-size:12px}.sync-status-text{white-space:nowrap;font-weight:700}.sync-pending{opacity:.9;white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.sync-btn{color:#fff;white-space:nowrap;background:0 0;border:1px solid #fff9;border-radius:999px;min-height:32px;padding:4px 12px;font-size:12px;font-weight:700}.sync-btn:disabled{opacity:.5}.sync-error{color:#ffcdd2;font-size:11px}.layout{flex-direction:column;width:100%;min-height:100dvh;display:flex}.layout-main{padding-bottom:env(safe-area-inset-bottom,0px);flex-direction:column;flex:1;display:flex}.tab-bar{background:var(--color-surface);border-top:1px solid var(--color-border);padding-bottom:env(safe-area-inset-bottom,0px);z-index:30;display:flex;position:fixed;bottom:0;left:0;right:0}.tab-item{min-height:64px;color:var(--color-text-muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-size:12px;font-weight:600;text-decoration:none;display:flex}.tab-item.active{color:var(--color-primary)}.tab-icon{font-size:22px}.result-toggle{gap:8px;margin:8px 0 4px;display:flex}.result-btn{border-radius:var(--radius);border:2px solid var(--color-border);background:var(--color-surface);min-height:60px;color:var(--color-text-muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-weight:700;display:flex}.result-icon{font-size:22px;line-height:1}.result-label{font-size:14px}.result-btn.result-pass{border-color:#a8d5aa}.result-btn.result-fail{border-color:#eab0b0}.result-btn.result-pass.selected{background:var(--color-pass);border-color:var(--color-pass);color:#fff}.result-btn.result-fail.selected{background:var(--color-fail);border-color:var(--color-fail);color:#fff}.result-btn.result-na.selected{background:var(--color-na);border-color:var(--color-na);color:#fff}.photo-capture{margin:8px 0}.photo-thumbs{flex-wrap:wrap;gap:8px;display:flex}.photo-thumb{border:1px solid var(--color-border);border-radius:8px;width:72px;height:72px;position:relative;overflow:hidden}.photo-thumb img{object-fit:cover;width:100%;height:100%;display:block}.photo-pending-dot{background:var(--color-accent);border-radius:50%;width:8px;height:8px;position:absolute;top:4px;left:4px;box-shadow:0 0 0 1.5px #fff}.photo-remove{color:#fff;background:#0000008c;border:none;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:14px;line-height:1;display:flex;position:absolute;top:2px;right:2px}.photo-add-btn{border:1.5px dashed var(--color-border);text-align:center;width:72px;height:72px;color:var(--color-text-muted);background:var(--color-surface);border-radius:8px;justify-content:center;align-items:center;font-size:12px;font-weight:600;display:flex}.photo-add-camera{border-color:var(--color-primary-light);color:var(--color-primary)}.photo-count{color:var(--color-text-muted);margin-top:6px;font-size:12px}.signature-block{margin:16px 0}.signature-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.signature-actions{gap:8px;display:flex}.signature-mini-btn{border:1px solid var(--color-border);background:var(--color-surface);min-height:36px;color:var(--color-text-muted);border-radius:8px;padding:4px 14px;font-size:13px;font-weight:600}.signature-canvas-wrap{border:1.5px dashed var(--color-border);border-radius:var(--radius);background:#fff;overflow:hidden}.signature-canvas{touch-action:none;width:100%;height:160px;display:block}.signature-saved{color:var(--color-pass);margin-top:6px;font-size:13px;font-weight:700}.signature-hint{color:var(--color-text-muted);margin-top:6px;font-size:13px}.signature-fullscreen{z-index:100;padding:calc(10px + env(safe-area-inset-top,0px)) 12px calc(10px + env(safe-area-inset-bottom,0px));background:#eceff1;flex-direction:column;gap:10px;display:flex;position:fixed;inset:0}.signature-fullscreen-bar{justify-content:space-between;align-items:center;display:flex}.signature-fullscreen-title{color:var(--color-text);font-weight:700}.signature-fullscreen-canvas-wrap{border:1.5px dashed var(--color-border);border-radius:var(--radius);background:#fff;flex:1;overflow:hidden}.signature-fullscreen-canvas{touch-action:none;width:100%;height:100%;display:block}.signature-fullscreen-done{flex-shrink:0}
