:root{--bg: #f4f6f8;--card: #fff;--text: #1b2430;--muted: #5d6b7a;--line: #d8dee5;--primary: #1f5f8b;--primary-text: #fff;--ok: #2e9e5b;--warn-bg: #fff4d6;--error: #b3261e;--error-bg: #fde8e6;--ok-bg: #e6f4ec;--moved: #8a5a00;--moved-bg: #fff1d1;--tap: 52px;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:17px;line-height:1.4;color:var(--text);background:var(--bg);-webkit-text-size-adjust:100%}*{box-sizing:border-box}body{margin:0;background:var(--bg);-webkit-tap-highlight-color:transparent}h1{font-size:1.2rem;margin:0}h2{font-size:1rem;margin:0 0 12px}.screen{max-width:640px;margin:0 auto;min-height:100dvh;display:flex;flex-direction:column;gap:12px;padding:0 12px calc(16px + env(safe-area-inset-bottom))}.bar{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 -12px;padding:calc(8px + env(safe-area-inset-top)) 12px 8px;background:var(--primary);color:var(--primary-text)}.bar .btn.ghost{color:inherit;font-size:1.5rem;min-width:var(--tap)}.bar>span{min-width:var(--tap)}.card{background:var(--card);border-radius:12px;padding:16px;box-shadow:0 1px 2px #0000000f}.stack{display:flex;flex-direction:column;gap:10px}.row{display:flex;gap:8px}.row input{flex:1;min-width:0}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field>span{font-weight:600}input,select,textarea{font:inherit;min-height:var(--tap);padding:0 12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--text)}textarea{padding:10px 12px;resize:vertical}textarea:disabled{background:var(--bg)}select{padding:0 8px;min-width:0}input:focus,select:focus,textarea:focus{outline:2px solid var(--primary);outline-offset:1px}.btn{font:inherit;min-height:var(--tap);padding:0 16px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--text);cursor:pointer;touch-action:manipulation}.btn:disabled{opacity:.45;cursor:default}.btn.primary{background:var(--primary);border-color:var(--primary);color:var(--primary-text);font-weight:600}.btn.big{width:100%;min-height:56px}.btn.ghost{background:transparent;border:none}.btn.small{min-height:40px;padding:0 12px;flex-shrink:0}.info{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;margin:0}.info dt{color:var(--muted)}.info dd{margin:0;font-weight:600;word-break:break-all}.actions{margin-top:auto;display:flex;flex-direction:column;gap:8px;text-align:center}.empty{text-align:center;padding:32px 8px}.msg{margin:0;padding:12px;border-radius:10px;background:#e6f4ec;white-space:pre-line;text-align:left}.msg.error{background:var(--error-bg);color:var(--error)}.msg.warn{background:var(--warn-bg)}.banner{display:flex;align-items:center;gap:12px;padding:calc(8px + env(safe-area-inset-top)) 12px 8px;background:var(--warn-bg);font-size:.95rem}.banner span{flex:1}.banner+.banner,.banner+.screen .bar{padding-top:8px}.muted{color:var(--muted)}.small{font-size:.85rem}.center{display:flex;min-height:100dvh;align-items:center;justify-content:center}.center-text{text-align:center}.btn.danger{background:var(--error);border-color:var(--error);color:#fff;font-weight:600}.btn.link{align-self:flex-start;background:none;border:none;color:var(--primary);text-decoration:underline;padding:0}.bar-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}.bar-title small{font-weight:400;opacity:.8}.actions.sticky{position:sticky;bottom:0;margin:auto -12px 0;padding:8px 12px calc(8px + env(safe-area-inset-bottom));background:var(--bg);border-top:1px solid var(--line);z-index:1}.screen:has(.actions.sticky){padding-bottom:0}.search{position:relative;display:flex;flex:1;min-width:0}.search input{flex:1;min-width:0;padding-right:var(--tap)}.search .clear{position:absolute;right:0;top:0;min-width:var(--tap);color:var(--muted)}input[type=search]::-webkit-search-cancel-button{display:none}.toolbar{display:flex;gap:8px}.toolbar .sort{flex:0 0 auto;max-width:40%}.overall{display:flex;justify-content:space-between;color:var(--muted)}.overall b{color:var(--text)}.progress{display:block;height:6px;border-radius:3px;background:var(--line);overflow:hidden}.progress>span{display:block;height:100%;background:var(--ok)}.locations,.assets,.remaining{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.locations button{font:inherit;color:inherit;width:100%;min-height:64px;display:flex;flex-direction:column;justify-content:center;gap:8px;padding:12px 14px;border:none;border-radius:12px;background:var(--card);text-align:left;cursor:pointer;box-shadow:0 1px 2px #0000000f;touch-action:manipulation}.locations .complete button{opacity:.55}.loc-head{display:flex;justify-content:space-between;gap:12px}.loc-naziv{font-weight:600}.loc-count{color:var(--muted);white-space:nowrap}.asset{display:flex;align-items:stretch;background:var(--card);border-radius:12px;box-shadow:0 1px 2px #0000000f;border-left:5px solid var(--line);overflow:hidden}.asset.st-prisutno{border-left-color:var(--ok)}.asset.st-nedostaje{border-left-color:var(--error)}.asset.st-premesteno,.asset.st-nepoznato{border-left-color:var(--moved)}.asset-main{font:inherit;color:inherit;flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;padding:10px 12px;border:none;background:none;text-align:left;cursor:pointer;touch-action:manipulation}.asset-head{display:flex;align-items:center;gap:8px}.asset-head b{font-size:1.1rem}.asset-naziv{overflow-wrap:anywhere}.asset-sub{font-size:.85rem;color:var(--muted);overflow-wrap:anywhere}.asset-info{font-size:.85rem;color:var(--moved);font-weight:600}.badge{font-size:.75rem;font-weight:600;padding:2px 8px;border-radius:999px;background:var(--bg);color:var(--muted);white-space:nowrap}.st-prisutno .badge,.badge.st-prisutno{background:var(--ok-bg);color:var(--ok)}.st-nedostaje .badge,.badge.st-nedostaje{background:var(--error-bg);color:var(--error)}.st-premesteno .badge,.badge.st-premesteno,.st-nepoznato .badge,.badge.st-nepoznato{background:var(--moved-bg);color:var(--moved)}.asset-btns{display:flex;flex-shrink:0}.mark{font:inherit;font-size:1.6rem;font-weight:700;width:60px;min-height:72px;border:none;border-left:1px solid var(--line);background:var(--card);cursor:pointer;touch-action:manipulation}.mark.ok{color:var(--ok)}.mark.no{color:var(--error)}.mark.ok.on{background:var(--ok);color:#fff}.mark.no.on{background:var(--error);color:#fff}.chips{display:flex;gap:6px;overflow-x:auto;margin:0 -12px;padding:0 12px 2px;scrollbar-width:none}.chip{font:inherit;font-size:.9rem;flex-shrink:0;min-height:40px;padding:0 12px;border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--text);cursor:pointer;touch-action:manipulation}.chip.on{background:var(--primary);border-color:var(--primary);color:var(--primary-text)}.chip-n{opacity:.7}.sheet-backdrop{position:fixed;inset:0;z-index:10;display:flex;align-items:flex-end;justify-content:center;background:#00000059}.sheet{width:100%;max-width:640px;max-height:92dvh;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:12px;padding:8px 16px calc(16px + env(safe-area-inset-bottom));border-radius:16px 16px 0 0;background:var(--card)}.sheet .field{margin-bottom:0}.sheet-head{display:flex;align-items:center;justify-content:space-between}.sheet-head h2{margin:0;font-size:1.3rem;display:flex;align-items:center;gap:8px}.sheet-head .btn.ghost{font-size:1.3rem;min-width:var(--tap)}.info.detail{grid-template-columns:1fr;gap:0}.info.detail dt{font-size:.8rem;margin-top:6px}.info.detail dd{word-break:normal;overflow-wrap:anywhere}.sheet-status{display:grid;grid-template-columns:1fr 1fr;gap:8px}.mark-wide{min-height:60px;font-weight:700}.mark-wide.ok{color:var(--ok)}.mark-wide.no{color:var(--error)}.mark-wide.ok.on{background:var(--ok);border-color:var(--ok);color:#fff}.mark-wide.no.on{background:var(--error);border-color:var(--error);color:#fff}.remaining{gap:4px;max-height:40dvh;overflow-y:auto}.toast{position:fixed;left:12px;right:12px;bottom:calc(96px + env(safe-area-inset-bottom));z-index:20;max-width:616px;margin:0 auto;display:flex;align-items:center;gap:12px;padding:8px 8px 8px 16px;border-radius:12px;background:#1b2430;color:#fff;box-shadow:0 4px 12px #00000040}.toast span{flex:1}.toast .btn{background:transparent;border-color:#fff6;color:#ffd166;font-weight:700}.row.two>.btn{flex:1;min-width:0}.viewfinder{position:relative;margin:0 -12px;aspect-ratio:4 / 3;max-height:45dvh;background:#000;overflow:hidden}.viewfinder video{width:100%;height:100%;object-fit:cover;display:block}.viewfinder.paused video{opacity:.4}.viewfinder .aim{position:absolute;inset:35% 10%;border:3px solid rgb(255 255 255 / 80%);border-radius:8px;box-shadow:0 0 0 100vmax #00000040;pointer-events:none}.viewfinder .flash{position:absolute;inset:0;background:var(--ok);opacity:0;animation:flash .5s ease-out;pointer-events:none}@keyframes flash{0%{opacity:.7}to{opacity:0}}.vf-msg,.vf-hint{position:absolute;left:12px;right:12px;text-align:center;color:#fff;font-weight:600;text-shadow:0 1px 2px #000}.vf-msg{top:45%}.vf-hint{bottom:12px;padding:6px 10px;border-radius:8px;background:#0009}.scan-loc{font-weight:600}.manual input{font-size:1.3rem;letter-spacing:.1em}.manual input::placeholder{font-size:1rem;letter-spacing:normal}.scan-log{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.scan-log button{font:inherit;color:inherit;width:100%;min-height:var(--tap);display:flex;align-items:center;gap:10px;padding:8px 12px;border:none;border-radius:10px;background:var(--card);text-align:left;cursor:pointer;box-shadow:0 1px 2px #0000000f;touch-action:manipulation}.scan-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.badge.tone-ok{background:var(--ok-bg);color:var(--ok)}.badge.tone-moved{background:var(--moved-bg);color:var(--moved)}.q-title{margin:8px 0 0;font-size:1.2rem}.bar .torch.on{color:#ffd166}
