/* Pipeline Punks — driver-first controls. Designed for gloved-thumb size targets. */
:root{color-scheme:dark;--bg:#0c1419;--card:#16252d;--card2:#1d313b;--line:#34515d;--ink:#f4f1e9;--muted:#b4c8cb;--orange:#f2a75b;--teal:#72d2d1;--red:#ff8e84;--green:#a9e2bb;--pad:clamp(15px,4vw,28px)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 87% 2%,#1b3740,#0c1419 39%);color:var(--ink);font:16px/1.48 system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;min-height:100vh}
a{color:var(--teal)}button,input,select,textarea{font:inherit}button{cursor:pointer;touch-action:manipulation}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
h1,h2,h3{line-height:1.14;letter-spacing:-.02em}h1{font-size:clamp(2rem,5vw,3.6rem);margin:.2rem 0 .5rem;font-weight:950;text-transform:uppercase}h2{font-size:1.65rem;margin:0 0 10px}h3{font-size:1.08rem;margin:0 0 8px}p{margin:.55rem 0 1.1rem}small,.small{font-size:.82rem}.muted{color:var(--muted)}.caps{text-transform:uppercase;letter-spacing:.12em;font-weight:850;font-size:.73rem;color:var(--orange)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.hidden,[hidden]{display:none!important}
.site-header{position:sticky;top:0;z-index:25;background:#0b1419f5;border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.head-main{max-width:1060px;margin:auto;display:flex;gap:12px;justify-content:space-between;align-items:center;padding:10px var(--pad)}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}.brand img{height:43px;width:43px}.brand b{display:block;font-size:.94rem;line-height:1.05;letter-spacing:.08em}.brand small{color:var(--orange);font-size:.65rem;font-weight:850;letter-spacing:.11em}.head-actions{display:flex;gap:7px;align-items:center}.chip{border:1px solid var(--line);border-radius:99px;padding:6px 10px;color:var(--muted);font-size:.76rem;font-weight:750;white-space:nowrap}.chip.good{color:var(--green);border-color:#3e725d}.chip.warn{color:#ffd4a4;border-color:#805d3b}.chip.bad{color:var(--red);border-color:#834e4e}
.topnote{padding:7px var(--pad);background:#4c3423;color:#ffdfb7;font-weight:800;text-align:center;font-size:.76rem;letter-spacing:.02em}.shell{max-width:1060px;padding:0 var(--pad) 70px;margin:0 auto}.intro{padding:34px 0 18px}.intro p{font-size:1.06rem;max-width:680px;color:#d3e2e1}.banner{padding:13px 17px;background:#1f383d;border:1px solid #3d6b6a;border-radius:10px;color:#e0e9de;margin:16px 0}.banner.warn{background:#392b22;border-color:#795a3c;color:#ffe0bb}.banner.error{background:#382127;border-color:#79434a;color:#ffd6d1}.banner strong{font-weight:900}
.menu{display:flex;gap:7px;overflow-x:auto;scrollbar-width:thin;white-space:nowrap;margin:14px 0 23px;padding:0 0 10px}.menu button{background:#13212a;color:#c7d9d9;border:1px solid var(--line);border-radius:9px;padding:12px 15px;min-height:50px;font-size:.85rem;font-weight:900}.menu button.selected{background:var(--orange);border-color:var(--orange);color:#101a20}
.view{display:none}.view.active{display:block}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:20px;min-width:0}.card.soft{background:#102028}.card h3{margin-bottom:5px}.card p:last-child{margin-bottom:0}.stack>*+*{margin-top:12px}.stat{background:#0e1d24;border:1px solid #284e55;padding:15px;border-radius:9px}.stat strong{font-size:1.55rem;line-height:1.1;display:block;color:var(--teal)}.stat span{color:var(--muted);font-size:.8rem}.statusline{font-size:.83rem;font-weight:800;color:var(--muted);min-height:22px}
.btnrow{display:flex;gap:9px;flex-wrap:wrap;margin-top:13px}.btn{background:var(--orange);color:#121b20;border:1px solid var(--orange);border-radius:8px;min-height:48px;padding:11px 16px;font-weight:900;text-align:center}.btn.alt{background:transparent;color:var(--teal);border-color:var(--teal)}.btn.neutral{background:#263b44;color:var(--ink);border-color:#44626e}.btn.danger{background:#4d2930;color:#ffdcd7;border-color:#a15359}.btn.small{min-height:39px;padding:7px 11px;font-size:.81rem}.btn:active{transform:translateY(1px)}
.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.field{display:flex;flex-direction:column;gap:5px}.field label{font-weight:800;color:#dce9e7;font-size:.82rem}.field input,.field select,.field textarea{background:#0a171d;color:var(--ink);border:1px solid #4a6770;border-radius:8px;padding:12px;min-height:48px;width:100%;max-width:100%}.field textarea{min-height:100px}.field input[type=file]{padding:10px;min-height:48px}.full{grid-column:1/-1}.meter{height:12px;border-radius:10px;background:#354a55;overflow:hidden;margin-top:10px}.meter>div{background:linear-gradient(90deg,#f2a75b,#72d2d1);height:100%;width:0%}.stop{padding:15px 0;border-bottom:1px solid #395360}.stop:last-child{border:0}.stop b{display:block;font-size:1.04rem}.stop .bar{height:5px;background:#39505a;border-radius:8px;overflow:hidden;margin:7px 0}.stop .bar i{display:block;height:100%;background:var(--teal)}
.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:480px}th,td{text-align:left;border-bottom:1px solid var(--line);padding:10px 6px;font-size:.87rem}th{color:var(--orange);font-size:.72rem;text-transform:uppercase}code,pre{background:#0c1b22;padding:3px 5px;border-radius:3px;color:#b4edec;font-size:.88em}pre{padding:12px;overflow:auto;max-height:200px}.event{border-left:3px solid var(--teal);padding:8px 12px;margin:8px 0;background:#11232a;font-size:.85rem}.event.void{border-color:var(--red)}
.footer{border-top:1px solid var(--line);padding:24px var(--pad);color:var(--muted);font-size:.79rem;max-width:1100px;margin:auto}.bottom-actions{display:none}
#gate{position:fixed;z-index:45;inset:0;background:#0a1218ee;display:flex;align-items:flex-start;justify-content:center;overflow:auto;padding:clamp(18px,4vh,70px) 13px}.gate-panel{max-width:500px;width:100%;background:#18272f;border:1px solid #4c6872;border-radius:15px;padding:24px;box-shadow:0 30px 110px #000a}.gate-panel .brand{margin-bottom:18px}.gate-panel h2{font-size:1.75rem}.gate-panel .field{margin:12px 0}#gate-error{color:var(--red);font-size:.88rem;min-height:22px;font-weight:800}.loading{opacity:.5;pointer-events:none}
@media(max-width:700px){.grid,.grid.three,.fields{grid-template-columns:1fr}.shell{padding-bottom:100px}.card{padding:17px}.menu{display:none}.intro{padding:25px 0 12px}.bottom-actions{position:fixed;bottom:0;left:0;right:0;z-index:24;display:grid;grid-template-columns:repeat(5,1fr);background:#0b171fe8;backdrop-filter:blur(12px);border-top:1px solid #45616b;padding:7px 6px max(8px,env(safe-area-inset-bottom));gap:3px}.bottom-actions button{background:transparent;border:0;border-radius:8px;color:#a9c1c5;padding:8px 1px;font-weight:800;font-size:.73rem;min-height:49px}.bottom-actions button.selected{color:#101b21;background:var(--orange)}.head-actions .chip{display:none}.brand small{font-size:.57rem}.brand b{font-size:.86rem}.intro h1{font-size:2.2rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.teal{color:var(--teal)}.file-label{cursor:pointer}.mt15{margin-top:15px}.mt16{margin-top:16px}

@media(max-width:500px){.site-header .head-actions a{font-size:.65rem;padding:7px}.bottom-actions button{font-size:.69rem}}

/* Camera scanner remains opt-in and never saves video frames. */
.scan-video{display:block;width:100%;max-height:340px;object-fit:contain;background:#080d10;border:1px solid #64748b;border-radius:10px;margin-top:14px}
.scan-video[hidden]{display:none!important}
#asset-delivery-list .stop{margin-bottom:9px}
@media(max-width:430px){.bottom-actions button{font-size:12px;padding:10px 3px}.scan-video{max-height:250px}}
