
:root{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:#f8fafc;background:#0b1220}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;background:linear-gradient(180deg,#0b1220,#111827 55%,#0b1220)}
button,input{font:inherit}
.top{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;padding:calc(12px + env(safe-area-inset-top)) 16px 12px;background:rgba(11,18,32,.88);backdrop-filter:blur(16px);border-bottom:1px solid #263244}
.top strong{display:block;font-size:18px}.top span{display:block;font-size:11px;color:#94a3b8;margin-top:2px}
main{max-width:620px;margin:auto;padding:18px 16px calc(26px + env(safe-area-inset-bottom))}
h1{font-size:27px;margin:8px 0 4px}h2{margin:0;font-size:22px}.muted{color:#94a3b8}
.category-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}
.cat{min-height:150px;border:1px solid #344256;border-radius:20px;background:linear-gradient(145deg,#172033,#111827);color:#fff;text-align:left;padding:18px;box-shadow:0 12px 30px rgba(0,0,0,.18)}
.cat span{display:block;font-size:38px;margin-bottom:13px}.cat b{display:block;font-size:17px}.cat small{display:block;color:#94a3b8;margin-top:4px}
.hidden{display:none!important}.ghost,.back{border:0;background:#1e293b;color:#e2e8f0;border-radius:12px;padding:10px 12px}
.back{margin-bottom:15px}.workflow-title{display:flex;align-items:center;gap:12px;margin-bottom:18px}.workflow-title>span{font-size:37px}.workflow-title p{margin:2px 0;color:#94a3b8}
.scan-card{margin:10px 0;padding:13px;border:1px solid #344256;border-radius:17px;background:#121b2b}
.scan-card label{display:block;font-size:12px;color:#94a3b8;margin-bottom:8px}.scan-row{display:grid;grid-template-columns:1fr auto;gap:8px}.scan-value{min-height:44px;display:flex;align-items:center;padding:10px 12px;border-radius:12px;background:#0b1220;border:1px solid #2b3749;font-weight:800;overflow-wrap:anywhere}.camera-btn{border:0;border-radius:12px;background:#2c5cc5;color:white;padding:0 14px;font-size:20px}
.manual{margin:12px 0;border:1px solid #2d394b;border-radius:14px;overflow:hidden;background:#111827}.manual summary{padding:12px;cursor:pointer;color:#cbd5e1;font-size:12px;font-weight:800}.manual>div{padding:0 12px 12px}
.manual input,.settings input{width:100%;margin:6px 0 10px;padding:12px;border:1px solid #334155;border-radius:11px;background:#0b1220;color:#fff}
.primary,.execute{width:100%;border:0;border-radius:15px;padding:14px 16px;color:white;font-weight:900;margin-top:10px}
.primary{background:#315fcb}.execute{background:#168a5b}.execute:disabled{opacity:.35}
.result{margin-top:12px;border:1px solid #334155;border-radius:14px;padding:13px;background:#101827;line-height:1.45}.result.ok{border-color:#2f7d5d;background:#10251d}.result.warn{border-color:#9d7935;background:#2b2415}
dialog{width:min(96vw,600px);padding:0;border:1px solid #344256;border-radius:20px;background:#0b1220;color:#fff}dialog::backdrop{background:rgba(0,0,0,.75)}
.camera-shell,.settings{padding:14px}.camera-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}video{width:100%;min-height:280px;background:#000;border-radius:15px;object-fit:cover}.camera-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.upload{display:flex;justify-content:center;align-items:center;margin-top:10px;border-radius:15px;background:#1e293b;font-weight:900}.upload input{display:none}.tiny{font-size:10px;line-height:1.45;color:#94a3b8}
#toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom));transform:translateX(-50%);max-width:90vw;background:#f8fafc;color:#111827;padding:10px 14px;border-radius:999px;font-size:12px;font-weight:800;opacity:0;pointer-events:none;transition:.2s}#toast.show{opacity:1}
@media(max-width:390px){.category-grid{gap:9px}.cat{min-height:135px;padding:14px}.cat span{font-size:32px}}
