*{box-sizing:border-box}body{margin:0;font:18px/1.35 system-ui,-apple-system,Roboto,sans-serif;background:#eef1f5;color:#111;-webkit-text-size-adjust:100%}
header{position:sticky;top:0;z-index:5;background:#142846;color:#fff;padding:calc(10px + env(safe-area-inset-top)) 16px 10px 64px;min-height:64px}
header h1{margin:0;font-size:22px}header small{opacity:.8}
.back{position:absolute;left:8px;top:calc(8px + env(safe-area-inset-top));width:48px;height:48px;font-size:28px;background:none;border:0;color:#fff}
main{padding:14px;padding-bottom:calc(40px + env(safe-area-inset-bottom));max-width:720px;margin:auto}
label{display:block;font-weight:600;margin:12px 0}input,select,textarea{display:block;width:100%;font:inherit;padding:14px;border:2px solid #8a96a8;border-radius:10px;margin-top:6px;background:#fff}
textarea{min-height:56px}.row{display:flex;gap:8px;align-items:stretch}.row input{flex:1}
button{font:inherit;cursor:pointer;touch-action:manipulation}
.big{display:block;width:100%;min-height:64px;margin:12px 0;border-radius:12px;border:2px solid #142846;background:#fff;font-size:20px;font-weight:700;color:#142846}
.primary{background:#e8a200;border-color:#b07a00;color:#000}.danger{border-color:#b00020;color:#b00020}
.icon{min-width:64px;border-radius:10px;border:2px solid #142846;background:#fff;font-size:20px;margin-top:6px}
.link{background:none;border:0;color:#0645ad;text-decoration:underline;padding:10px}
.muted{color:#667}h2{font-size:18px;margin:20px 0 6px;color:#142846;text-transform:uppercase;letter-spacing:.03em}
.tlist{display:flex;flex-direction:column;gap:8px}.tpl{text-align:left;padding:14px;border-radius:10px;border:2px solid #c3cad6;background:#fff;font-weight:600;min-height:60px}.tpl small{display:block;font-weight:400;color:#556}
.chosen{background:#fff;padding:12px;border-radius:10px;border:2px solid #142846}
.item{background:#fff;border-radius:12px;padding:14px;margin:10px 0;border-left:10px solid #999}.item.ok{border-color:#1b8a2a}.item.bad{border-color:#c00}.item.draft{border-color:#e8a200}
.badge{float:right;font-size:14px;font-weight:700}
.card{background:#fff;border-radius:14px;padding:14px;margin:12px 0;border:3px solid transparent}.card.done{border-color:#1b8a2a33}
.card h3{margin:0 0 8px;font-size:20px}.req{color:#c00}.help{margin:0 0 8px;color:#445;font-size:15px}
.opts{display:grid;gap:8px;grid-template-columns:1fr 1fr}.opts.n3{grid-template-columns:1fr 1fr 1fr}.opts.n1{grid-template-columns:1fr}
.opt{min-height:68px;border-radius:12px;border:3px solid #8a96a8;background:#f7f8fa;font-weight:700;font-size:17px;padding:6px}
.opt.on{background:#142846;color:#fff;border-color:#142846}.opt.pos.on{background:#1b8a2a;border-color:#1b8a2a}.opt.neg.on{background:#c00;border-color:#c00}.opt.na.on{background:#666;border-color:#666}
.mm{font-weight:400}.btn{display:block;text-align:center;padding:16px;border-radius:12px;border:2px dashed #142846;margin:10px 0 0;font-weight:700}
.photos{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.th{position:relative}.th img{width:84px;height:84px;object-fit:cover;border-radius:8px}.th button{position:absolute;top:-6px;right:-6px;width:32px;height:32px;border-radius:50%;border:0;background:#c00;color:#fff}
.err{color:#c00;font-weight:700;margin:6px 0 0;min-height:0}.err:empty{display:none}
.prog{position:sticky;top:64px;z-index:4;height:28px;background:#d5dbe4}.prog div{height:100%;background:#1b8a2a;transition:width .3s}.prog span{position:absolute;right:10px;top:3px;font-weight:700;font-size:15px}
.hdr{background:#fffbe8;border:1px solid #e8a200;border-radius:10px;padding:10px;font-size:15px}.hdr summary{font-weight:700}
canvas.sig{width:100%;height:120px;background:#fff;border:2px dashed #142846;border-radius:10px;touch-action:none;display:block}canvas.sig.big{height:220px}
.chk{display:flex;gap:12px;align-items:center}.chk input{width:32px;height:32px;margin:0}
.status{font-size:26px;font-weight:800;text-align:center;padding:16px;border-radius:12px;color:#fff}.status.ok{background:#1b8a2a}.status.bad{background:#c00}.status.draft{background:#e8a200;color:#000}
.toast{position:fixed;left:50%;bottom:30px;transform:translateX(-50%);background:#111;color:#fff;padding:14px 20px;border-radius:10px;z-index:99;font-weight:600}
.scan{position:fixed;inset:0;background:#000;z-index:50;display:flex;flex-direction:column;padding:16px;color:#fff}.scan video{flex:1;width:100%;object-fit:cover}
[hidden]{display:none!important}
