:root{--bg:#f3f6fb;--card:#fff;--text:#0f172a;--muted:#5b677a;--border:#dbe3ee;--blue:#1457d9;--blue2:#e8f0ff;--navy:#071f44;--green:#16a34a;--green2:#dcfce7;--red:#dc2626;--red2:#fee2e2;--amber:#b45309;--amber2:#ffedd5;--shadow:0 14px 34px rgba(15,23,42,.08);--radius:22px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;background:linear-gradient(180deg,#eef4ff 0,#f8fafc 240px,var(--bg));color:var(--text);font-size:16px;line-height:1.45;-webkit-tap-highlight-color:transparent}.app-shell{max-width:1240px;margin:auto;padding:18px 18px 92px}.appbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}.brand-lockup{display:flex;align-items:center;gap:13px}.logo{width:64px;height:64px;border-radius:18px;background:#fff;border:1px solid var(--border);object-fit:cover;box-shadow:var(--shadow)}h1{margin:0;font-size:clamp(28px,4.4vw,44px);letter-spacing:-.045em;line-height:1}.appbar p,.card-head p,.microcopy,.hint{margin:4px 0 0;color:var(--muted)}.top-summary{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.state-pill{display:inline-flex;align-items:center;border-radius:999px;background:var(--green2);color:#166534;font-weight:900;padding:9px 12px}.state-pill.warn{background:var(--amber2);color:#92400e}.layout{display:grid;grid-template-columns:minmax(360px,.9fr) minmax(420px,1.1fr);gap:16px}.left-stack,.right-stack{display:flex;flex-direction:column;gap:16px}.card{background:rgba(255,255,255,.96);border:1px solid var(--border);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}.priority-card{border-color:#bfd2ff}.card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}.card h2{margin:0;font-size:21px;letter-spacing:-.025em}.step-badge{display:grid;place-items:center;min-width:34px;height:34px;border-radius:999px;background:var(--blue2);color:#123d93;font-weight:900}.field-label{display:block;font-weight:900;margin:12px 0 6px}.scan-input,.small-input{width:100%;border:1px solid var(--border);border-radius:16px;background:#f8fafc;color:var(--text);font-size:18px;padding:15px 14px;outline:none}.scan-input{font-size:22px;padding:18px}.scan-input:focus,.small-input:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(20,87,217,.12)}.btn{border:0;border-radius:15px;padding:13px 15px;min-height:48px;font-size:16px;font-weight:900;cursor:pointer;background:#e7edf6;color:#1e293b;margin:4px;touch-action:manipulation}.btn.primary{background:var(--blue);color:#fff}.btn.secondary{background:var(--navy);color:#fff}.btn.ghost{background:#edf2f8;color:#334155}.btn.full{display:block;width:100%;margin:10px 0 0}.btn:focus-visible{outline:4px solid rgba(20,87,217,.25);outline-offset:2px}.button-row,.mode-actions{display:flex;gap:8px;flex-wrap:wrap}.mode-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.mode-item{background:#f8fafc;border:1px solid var(--border);border-radius:18px;padding:12px}.mode-item small,.queue-summary small{display:block;color:var(--muted);font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.pill{display:inline-flex;align-items:center;margin-top:7px;border-radius:999px;padding:9px 12px;font-weight:900;background:#e2e8f0}.pill.good{background:var(--green2);color:#166534}.pill.caution{background:var(--amber2);color:#92400e}.camera-box{position:relative;border-radius:20px;overflow:hidden;background:#020617;border:2px solid #1d4ed8;box-shadow:0 16px 35px rgba(15,23,42,.2)}.camera-box video{display:block;width:100%;max-height:380px;min-height:260px;object-fit:cover;background:#000}.camera-topline{display:flex;justify-content:space-between;gap:8px;padding:10px 12px;background:#dbeafe;color:#1e3a8a;font-weight:900}.scan-frame{position:absolute;left:12%;right:12%;top:28%;bottom:27%;border:4px solid rgba(34,197,94,.95);border-radius:20px;pointer-events:none;box-shadow:0 0 0 999px rgba(0,0,0,.22)}.camera-status{padding:11px 12px;background:#0f172a;color:#e0f2fe;font-weight:800}.camera-scan-now{width:calc(100% - 24px);margin:12px;background:var(--green);color:#fff;font-size:18px}.camera-dont-capture{width:calc(100% - 24px);margin:0 12px 12px}.qr-display{text-align:center;background:#f8fafc;border:1px solid var(--border);border-radius:18px;padding:14px;margin-top:12px}.qr-display img{max-width:280px;width:100%;height:auto}.status-groups{display:flex;flex-direction:column;gap:12px}.status-group h3{font-size:15px;text-transform:uppercase;letter-spacing:.06em;color:#475569;margin:8px 0}.status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.status-btn{border:2px solid transparent;border-radius:16px;padding:12px;min-height:52px;font-weight:900;text-align:left;box-shadow:0 4px 12px rgba(15,23,42,.06);cursor:pointer}.status-btn.active{border-color:#071f44;box-shadow:0 0 0 4px rgba(7,31,68,.12)}.queue-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:10px}.queue-summary div{background:#f8fafc;border:1px solid var(--border);border-radius:18px;padding:12px}.queue-summary strong{font-size:30px;line-height:1}.queue-list{margin-top:12px;max-height:360px;overflow:auto;border-top:1px solid var(--border)}.queued-row{padding:10px 0;border-bottom:1px solid var(--border)}.queued-row.synced b{color:var(--green)}.queued-row.failed b{color:var(--red)}.log{background:#0f172a;color:#e5eefc;border-radius:18px;padding:12px;min-height:120px;max-height:260px;overflow:auto;font-size:15px;line-height:1.55}.log .ok{color:#86efac}.log .err{color:#fca5a5}.log .info{color:#bfdbfe}.check-row{display:flex;gap:10px;align-items:center;padding:12px;border:1px solid var(--border);border-radius:15px;background:#f8fafc;margin:8px 0;font-weight:800}.check-row input{width:22px;height:22px}.advanced{margin:10px 0;padding:12px;border:1px solid var(--border);border-radius:16px;background:#f8fafc}.advanced summary{font-weight:900;cursor:pointer}.guide-dialog{width:min(940px,94vw);max-height:88vh;border:0;border-radius:24px;padding:0;box-shadow:0 24px 80px rgba(0,0,0,.32)}.guide-header{position:sticky;top:0;background:#fff;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;gap:10px;padding:16px;z-index:2}.quick-help{padding:16px;background:#f8fafc}.guide-panels{padding:16px}.guide-panel{display:block;max-width:100%;height:auto;border:1px solid var(--border);border-radius:14px;margin:0 auto 14px}.bottom-nav{display:none}.hidden{display:none!important}.toast{position:fixed;top:16px;left:50%;transform:translateX(-50%);z-index:9999;border-radius:999px;padding:13px 18px;font-weight:1000;box-shadow:0 16px 40px rgba(0,0,0,.2);background:var(--green);color:#fff}.toast.err{background:var(--red)}.scan-feedback-flash::before{content:"QR Scanned";position:fixed;z-index:9998;left:50%;top:18px;transform:translateX(-50%);background:#22c55e;color:#052e16;font-weight:1000;padding:12px 18px;border-radius:999px;box-shadow:0 10px 28px rgba(0,0,0,.25);animation:scanFlash .25s ease-out}.scan-error-flash::before{content:"Not scanned";position:fixed;z-index:9998;left:50%;top:18px;transform:translateX(-50%);background:#ef4444;color:white;font-weight:1000;padding:12px 18px;border-radius:999px;box-shadow:0 10px 28px rgba(0,0,0,.25);animation:scanFlash .25s ease-out}@keyframes scanFlash{from{opacity:.2;transform:translateX(-50%) scale(.92)}to{opacity:1;transform:translateX(-50%) scale(1)}}
@media (max-width:860px){body{font-size:17px}.app-shell{padding:12px 12px 96px}.appbar{position:sticky;top:0;z-index:5;background:rgba(243,246,251,.94);backdrop-filter:blur(14px);padding:8px 0}.logo{width:48px;height:48px}.appbar p{display:none}.top-summary{font-size:13px}.layout{display:block}.right-stack{display:block}.tab-panel{display:none}.tab-panel.active{display:block}.card{padding:16px;margin-bottom:14px;border-radius:20px}.mode-grid{grid-template-columns:1fr}.status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.button-row .btn{flex:1 1 140px}.camera-box video{min-height:310px;max-height:58vh}.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:20;display:grid;grid-template-columns:repeat(4,1fr);gap:4px;background:rgba(255,255,255,.94);backdrop-filter:blur(18px);border-top:1px solid var(--border);padding:8px max(8px,env(safe-area-inset-left)) calc(8px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-right))}.bottom-nav button{border:0;background:transparent;border-radius:14px;padding:10px 4px;font-weight:1000;color:#475569}.bottom-nav button.active{background:var(--blue2);color:#123d93}.scan-input{font-size:21px}.btn{min-height:52px}.card h2{font-size:22px}}
@media (min-width:861px){.tab-panel{display:block!important}}