:root{--bg: #f1f5f9;--card: #ffffff;--ink: #0f172a;--muted: #64748b;--line: #e2e8f0;--brand: #1d4ed8;--brand-ink: #ffffff;--ok: #16a34a;--defect: #dc2626;--na: #64748b;--warn-bg: #fef2f2;--ok-bg: #f0fdf4;--radius: 12px}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}.app{max-width:560px;margin:0 auto;min-height:100vh}.app-header{position:sticky;top:0;z-index:10;background:var(--ink);color:#fff;padding:14px 16px calc(14px + env(safe-area-inset-top));display:flex;flex-direction:column;gap:2px}.app-header h1{margin:0;font-size:1.15rem}.subtitle{font-size:.78rem;color:#94a3b8}.app-main{padding:12px 14px 40px;display:flex;flex-direction:column;gap:10px}.loading{text-align:center;color:var(--muted);padding:40px 0}.banner{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px;font-size:.9rem}.banner-error{background:var(--warn-bg);border-color:#fecaca;color:#991b1b}.banner-success{background:var(--ok-bg);border-color:#bbf7d0;color:#166534}.hint{color:var(--muted);font-size:.78rem;margin-top:4px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:12px;display:flex;flex-direction:column;gap:9px}.card-title{margin:0;font-size:.95rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.form{display:flex;flex-direction:column;gap:10px}.field{display:flex;flex-direction:column;gap:4px;font-size:.78rem;color:var(--muted);flex:1}.field span{font-weight:600}.row{display:flex;gap:9px}input,select,textarea{font:inherit;font-size:.9rem;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:8px;padding:8px 10px;width:100%}select{height:36px}input:focus,select:focus,textarea:focus{outline:2px solid var(--brand);border-color:var(--brand)}textarea{resize:vertical}.who-grid{display:grid;grid-template-columns:max-content max-content max-content;gap:10px 24px;justify-content:start;align-items:end}.who-grid .field{width:auto}.who-grid select{width:auto;min-width:6ch;padding-right:26px}.who-grid input{width:15ch}.who-grid input[type=number]{width:13ch}.who-grid input.trailer-w{width:19ch}input.locked{background:#f1f5f9;color:var(--muted)}.seg{display:flex;background:#e2e8f0;border-radius:10px;padding:3px;gap:3px}.seg-lg .seg-btn{padding:11px;font-size:.95rem}.seg-btn{flex:1;border:none;background:transparent;border-radius:8px;padding:8px;font:inherit;font-weight:600;color:var(--muted);cursor:pointer}.seg-btn.active{background:#fff;color:var(--ink);box-shadow:0 1px 2px #0000001a}.checklist-summary{font-size:.82rem;color:var(--muted);padding:0 2px}.item{padding:10px 0;border-bottom:1px solid var(--line)}.item:last-child{border-bottom:none;padding-bottom:0}.item-defect{background:var(--warn-bg);margin:0 -14px;padding:10px 14px}.item-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.item-label{font-size:.92rem;font-weight:500}.req{color:#d97706;margin-left:4px;font-size:.85rem}.seg-sm{flex:0 0 auto}.seg-sm .seg-btn{padding:7px 11px;font-size:.8rem;flex:0 0 auto}.seg-btn.status-ok.active{background:var(--ok);color:#fff}.seg-btn.status-defect.active{background:var(--defect);color:#fff}.seg-btn.status-not_applicable.active{background:var(--na);color:#fff}.item-detail{display:flex;flex-direction:column;gap:10px;margin-top:10px}.photos{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.thumb{position:relative;width:64px;height:64px}.thumb img{width:100%;height:100%;object-fit:cover;border-radius:8px;border:1px solid var(--line)}.thumb-x{position:absolute;top:-6px;right:-6px;width:20px;height:20px;border-radius:50%;border:none;background:var(--defect);color:#fff;font-size:.9rem;line-height:1;cursor:pointer}.add-photo{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border:1px dashed var(--muted);border-radius:8px;color:var(--muted);font-size:.8rem;cursor:pointer;text-align:center}.submit-bar{position:sticky;bottom:0;display:flex;flex-direction:column;gap:8px;background:var(--bg);padding:8px 0 calc(8px + env(safe-area-inset-bottom));box-shadow:0 -4px 12px #0f172a0f}.submit-bar .banner{margin:0}.btn-primary{background:var(--brand);color:var(--brand-ink);border:none;border-radius:var(--radius);padding:15px;font-size:1.05rem;font-weight:700;cursor:pointer}.btn-primary:disabled{opacity:.6}
