:root{--bg:#f3f5f3;--card:#fff;--ink:#15201d;--muted:#65716d;--line:#d8dfdb;--brand:#173f35;--soft:#e6efeb;--ok:#197347;--okbg:#e8f5ee;--warn:#8a5a11;--warnbg:#fff3d8;--bad:#b42318;--badbg:#feeceb}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif}button,input,textarea{font:inherit}.app{width:min(100%,760px);margin:auto;min-height:100dvh}.login-wrap{min-height:100dvh;display:grid;place-items:center;padding:20px}.login-card,.panel,.stat,.truck,.complete{background:var(--card);border:1px solid var(--line);border-radius:15px}.login-card{width:min(100%,420px);padding:24px;box-shadow:0 12px 32px #15201d16}.login-card h1{margin:5px 0}.login-card>p:not(.error){color:var(--muted);margin-top:0}.eyebrow{font-size:12px!important;color:var(--brand)!important}.login-card label,.field label{display:block;font-size:12px;font-weight:700;margin:12px 0 6px}.login-card input,.field input,.field textarea{width:100%;padding:11px;border:1px solid var(--line);border-radius:10px;background:#fff}.primary{width:100%;padding:14px;border:0;border-radius:12px;background:var(--brand);color:#fff;font-weight:800}.login-card .primary{margin-top:16px}header{padding:calc(16px + env(safe-area-inset-top)) 15px 17px;background:var(--brand);color:#fff;display:flex;justify-content:space-between;gap:12px}header small{opacity:.74}header h1{font-size:20px;margin:4px 0 0}header p{font-size:12px;margin:5px 0 0;opacity:.8}.header-btn{align-self:center;border:1px solid #ffffff55;border-radius:10px;background:transparent;color:#fff;padding:7px 10px}main{padding:13px 12px calc(28px + env(safe-area-inset-bottom))}.userbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:13px}.role,.badge{font-size:11px;font-weight:750;padding:5px 8px;border-radius:999px}.role{background:var(--soft);color:var(--brand)}.summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:15px}.stat{padding:11px}.stat strong{display:block;font-size:22px}.stat span{font-size:11px;color:var(--muted)}.section-title{display:flex;justify-content:space-between;align-items:end;margin:0 2px 9px}.section-title h2{font-size:17px;margin:0}.section-title span{font-size:11px;color:var(--muted)}.truck-list{display:grid;gap:9px}.truck{width:100%;display:flex;align-items:center;gap:10px;padding:12px;text-align:left;color:inherit}.truck-code{width:42px;height:42px;display:grid;place-items:center;flex:none;border-radius:10px;background:var(--soft);font-weight:800}.truck-info{flex:1;min-width:0}.truck-info strong,.truck-info span{display:block}.truck-info span{font-size:12px;color:var(--muted);margin-top:3px}.done{color:var(--ok);background:var(--okbg)}.pending{color:var(--warn);background:var(--warnbg)}.defect-badge{color:var(--bad);background:var(--badbg)}.admin-row{display:flex;gap:7px;margin-top:8px}.admin-row input{min-width:0;flex:1;border:1px solid var(--line);border-radius:9px;padding:8px}.secondary{border:1px solid var(--line);border-radius:9px;background:var(--card);padding:7px 9px;color:var(--brand);font-weight:700}.detail-head{display:flex;align-items:center;gap:10px;margin-bottom:12px}.back{width:42px;height:42px;border:1px solid var(--line);border-radius:11px;background:var(--card);font-size:20px}.detail-head h2{font-size:18px;margin:0}.detail-head p{font-size:12px;color:var(--muted);margin:3px 0 0}.panel{padding:13px;margin-bottom:12px}.panel h3{font-size:15px;margin:0 0 11px}.identity{display:grid;gap:11px}.signature-box{border:1px solid var(--line);border-radius:10px;background:#fff;overflow:hidden}.signature-box canvas{display:block;width:100%;height:145px;touch-action:none}.signature-actions{display:flex;justify-content:space-between;padding:7px 9px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.link-btn{border:0;background:transparent;color:var(--brand);font-weight:700}.meter-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.calculated{background:var(--bg)!important}.group{margin-bottom:13px}.group-title{margin:0;padding:9px 11px;border-radius:11px 11px 0 0;background:#dfe3e1;font-size:13px}.check-list{border:1px solid var(--line);border-top:0;border-radius:0 0 11px 11px;overflow:hidden}.check{display:grid;grid-template-columns:1fr 65px 65px;align-items:stretch;border-top:1px solid var(--line);background:#fff}.check:first-child{border-top:0}.check-name{padding:9px 8px}.check-name strong,.check-name span{display:block}.check-name strong{font-size:12px}.check-name span{font-size:11px;color:var(--muted)}.check label{display:grid;place-items:center;border-left:1px solid var(--line);position:relative}.check input[type=radio]{position:absolute;opacity:0}.check label span{width:43px;height:33px;display:grid;place-items:center;border:1px solid var(--line);border-radius:8px;font-size:11px;font-weight:750}.check .ok input:checked+span{color:var(--ok);background:var(--okbg);border-color:#8dc8aa}.check .bad input:checked+span{color:var(--bad);background:var(--badbg);border-color:#e8a29d}.other-input{width:100%;border:0;background:transparent;padding:0;color:var(--ink);font-weight:700}.error{color:var(--bad);font-size:12px}.hint{text-align:center;color:var(--muted);font-size:11px}.complete{padding:18px}.complete h3{color:var(--ok);margin:0 0 7px}.complete p{color:var(--muted);font-size:13px}textarea{min-height:92px;resize:vertical}@media(min-width:640px){main{padding:20px}.truck-list{grid-template-columns:1fr 1fr}.meter-grid{grid-template-columns:repeat(4,1fr)}}
