:root{--bg:#f4f6fb;--surface:#ffffff;--text:#0d1240;--muted:#5d6585;--border:#e1e5f0;--border-strong:#c9d0e3;--blue:#1a2bd6;--blue-dark:#0a0aa8;--violet:#6a2ad8;--blue-soft:#eceffd;--blue-softer:#f6f7fe;--grad:linear-gradient(90deg,#0a0aa8,#3a1fc4 55%,#6a2ad8);--danger:#c4231f;--danger-bg:#fdeeee;--ok:#157a3c;--ok-bg:#e7f6ec;--warn-bg:#fff7e2;--shadow:0 1px 0 rgba(13,18,64,0.04),0 2px 8px rgba(13,18,64,0.04);--shadow-hover:0 6px 24px rgba(10,10,168,0.10);--ease:cubic-bezier(0.2,0.7,0.2,1);--bar:#0f1c4d;--bar-hover:#1b2b66;--bar-text:#e6eaf7;--orange:#ff7a1a;--orange-dark:#e35f00;--orange-light:#ffa25e;color-scheme:light}*{box-sizing:border-box}[hidden]{display:none!important}.show-sm{display:none}body,html{margin:0}body{background:var(--bg);color:var(--text);font:14.5px/1.55 var(--font-open-sans),Open Sans,Segoe UI,system-ui,-apple-system,Roboto,sans-serif;-webkit-font-smoothing:antialiased}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}::selection{background:#d9ddff}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideRight{0%{opacity:0;transform:translateX(-12px)}to{opacity:1;transform:none}}@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(255,122,26,.6)}70%{box-shadow:0 0 0 8px rgba(255,122,26,0)}to{box-shadow:0 0 0 0 rgba(255,122,26,0)}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes stripes{to{background-position:28px 0}}@keyframes gradientShift{0%,to{background-position:0 50%}50%{background-position:100% 50%}}.content>*{animation:fadeUp .45s var(--ease) both}.content>:nth-child(2){animation-delay:.05s}.content>:nth-child(3){animation-delay:.1s}.content>:nth-child(4){animation-delay:.15s}.content>:nth-child(5){animation-delay:.2s}.grid>*{animation:fadeUp .45s var(--ease) both}.grid>:nth-child(2){animation-delay:.06s}.grid>:nth-child(3){animation-delay:.12s}.grid>:nth-child(4){animation-delay:.18s}tbody tr{animation:fadeIn .35s ease both}.msg{animation:slideRight .3s var(--ease) both}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important}}.topnav{position:-webkit-sticky;position:sticky;top:0;z-index:60;background:var(--bar);color:var(--bar-text);box-shadow:0 1px 0 rgba(0,0,0,.25),0 4px 14px rgba(8,16,60,.28)}.topnav-inner{display:flex;align-items:stretch;height:52px;padding:0 20px;gap:4px}.logo{display:flex;align-items:center;line-height:0;flex-shrink:0}.logo img{width:118px;height:auto;transition:opacity .2s}.logo:hover img{opacity:.85}.brand{display:flex;align-items:center;margin:12px 14px 12px 16px;padding-left:16px;border-left:1px solid rgba(255,255,255,.22)}.brand:hover{text-decoration:none}.brand-name{font-size:15px;font-weight:600;color:#fff;letter-spacing:.01em;white-space:nowrap}.brand-lxo{display:inline-block;margin-left:5px;padding:1px 6px 2px;font-size:11px;font-weight:700;letter-spacing:.08em;color:#fff;background:var(--orange);vertical-align:1px}.auth-sub strong{margin-left:4px}.top-links{display:flex;align-items:stretch;flex:1 1;margin-left:6px}.top-links a{position:relative;display:flex;align-items:center;padding:0 14px;color:#c9d1ec;font-size:14px;font-weight:500;white-space:nowrap;transition:background .2s,color .2s}.top-links a:after{content:"";position:absolute;left:14px;right:14px;bottom:0;height:3px;background:var(--orange);transform:scaleX(0);transition:transform .25s var(--ease)}.top-links a:hover{background:var(--bar-hover);color:#fff;text-decoration:none}.top-links a.active{color:#fff;font-weight:600}.top-links a.active:after{transform:scaleX(1)}.top-right{gap:16px}.top-right,.top-right .email{display:flex;align-items:center}.top-right .email{gap:8px;font-size:13px;color:#b9c2e3;max-width:230px;white-space:nowrap}.top-right .email span{overflow:hidden;text-overflow:ellipsis}.top-right .email svg{flex-shrink:0}.top-icon{background:transparent;border:0;padding:7px;color:#d9d9d9;box-shadow:none!important}.top-icon:after{display:none}.top-icon:hover{background:var(--bar-hover);color:#fff}.live{display:flex;align-items:center;gap:7px;font-size:12px;color:#c9d1ec;font-weight:600;white-space:nowrap}.pulse{width:8px;height:8px;background:var(--orange);border-radius:50%;animation:pulse 2s infinite;flex-shrink:0}.burger{margin-left:auto;align-self:center;width:42px;height:42px;padding:0;flex-direction:column;align-items:center;justify-content:center;gap:5px;background:transparent;border:0;box-shadow:none!important}.burger,.burger:after{display:none}.burger:hover{background:var(--bar-hover)}.burger span{display:block;width:22px;height:2px;background:#fff;transition:transform .3s var(--ease),opacity .2s}.burger.is-open span:first-child{transform:translateY(7px) rotate(45deg)}.burger.is-open span:nth-child(2){opacity:0}.burger.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.drawer-backdrop{position:fixed;inset:0;z-index:70;background:rgba(10,12,24,.5);opacity:0;pointer-events:none;transition:opacity .3s;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.drawer-backdrop.show{opacity:1;pointer-events:auto}.drawer{position:fixed;top:0;right:0;bottom:0;z-index:80;width:min(320px,86vw);display:flex;flex-direction:column;background:#fff;box-shadow:-12px 0 40px rgba(0,0,0,.25);transform:translateX(100%);transition:transform .35s var(--ease);visibility:hidden}.drawer.show{transform:none;visibility:visible}.drawer-head{display:flex;align-items:center;justify-content:space-between;height:56px;padding:0 8px 0 20px;background:var(--bar)}.drawer-close{background:transparent;border:0;color:#fff;width:42px;height:42px;padding:0;box-shadow:none!important}.drawer-close:after{display:none}.drawer-close:hover{background:var(--bar-hover)}.drawer-nav{display:flex;flex-direction:column;padding:10px 0;flex:1 1;overflow-y:auto}.drawer-nav a{display:flex;align-items:center;gap:14px;padding:15px 20px;color:var(--text);font-size:15px;font-weight:500;border-left:3px solid transparent;opacity:0;transform:translateX(16px);transition:opacity .3s,transform .3s var(--ease),background .15s}.drawer.show .drawer-nav a{opacity:1;transform:none}.drawer-nav a svg{color:var(--muted);flex-shrink:0}.drawer-nav a .chev{margin-left:auto;color:#b5bbcc}.drawer-nav a:hover{background:var(--blue-softer);text-decoration:none}.drawer-nav a.active{background:#fff4ea;border-left-color:var(--orange);font-weight:700}.drawer-nav a.active svg{color:var(--orange-dark)}.drawer-foot{padding:16px 20px 22px;border-top:1px solid var(--border);background:var(--blue-softer)}.drawer-foot .live{color:var(--muted)}.drawer-user{display:flex;align-items:center;gap:10px;margin:12px 0 14px}.avatar{width:34px;height:34px;display:grid;place-items:center;flex-shrink:0;background:var(--bar);color:#fff;font-weight:700}.drawer-email{font-size:13px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drawer-logout{width:100%;background:#fff;color:var(--text);border-color:var(--border-strong)}.drawer-logout:after{display:none}.drawer-logout:hover{background:var(--danger-bg);color:var(--danger);border-color:var(--danger);box-shadow:none}.content{padding:32px 24px 64px;max-width:1320px;margin:0 auto}h1{font-size:26px;margin:0;letter-spacing:-.02em}h1,h2{font-weight:700}h2{font-size:13px;margin:0 0 14px;color:var(--blue-dark);text-transform:uppercase;letter-spacing:.08em}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:24px;flex-wrap:wrap}.subtitle{margin:4px 0 0;color:var(--muted)}.card{background:var(--surface);border:1px solid var(--border);padding:22px;margin-bottom:18px;box-shadow:var(--shadow);transition:box-shadow .25s var(--ease),border-color .25s}.card:hover{box-shadow:var(--shadow-hover)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));grid-gap:18px;gap:18px;margin-bottom:18px}.grid .card{margin-bottom:0}.stat{position:relative;overflow:hidden}.stat:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--grad)}.stat:hover{transform:translateY(-2px);transition:transform .25s var(--ease),box-shadow .25s}.stat .label{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:600}.stat .value{font-size:20px;font-weight:700;margin-top:6px;color:var(--text)}label{display:block;font-size:12.5px;color:var(--muted);margin-bottom:6px;font-weight:600}input,select{width:100%;padding:10px 12px;border:1px solid var(--border-strong);border-radius:0;background:#fff;color:var(--text);font:inherit;transition:border-color .15s,box-shadow .15s}input:hover,select:hover{border-color:#aab3cf}input:focus,select:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(26,43,214,.14)}.field{margin-bottom:18px}input[type=checkbox],input[type=radio]{accent-color:var(--blue-dark)}.btn,button{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 18px;border-radius:0;border:1px solid var(--blue-dark);background:var(--blue-dark);color:#fff;font:inherit;font-weight:600;cursor:pointer;transition:background .2s,transform .1s,box-shadow .2s}button:after{content:"";position:absolute;inset:0;background:var(--grad);opacity:0;transition:opacity .25s}button:hover:after{opacity:1}button:hover{box-shadow:0 4px 14px rgba(10,10,168,.25)}button:active{transform:translateY(1px)}button:disabled{opacity:.55;cursor:default;box-shadow:none}button:disabled:after{opacity:0}button.secondary{background:#fff;color:var(--blue-dark);border-color:var(--border-strong)}button.secondary:after{display:none}button.secondary:hover{background:var(--blue-soft);border-color:var(--blue-dark);box-shadow:none}button.small{padding:6px 12px;font-size:13px}button.block{width:100%}button{isolation:isolate}button:after{z-index:-1}.icon-btn{padding:0;width:36px;height:38px;font-size:20px;background:#fff;color:var(--muted);border-color:var(--border-strong)}.icon-btn:after{display:none}.icon-btn:hover:not(:disabled){color:var(--danger);border-color:var(--danger);background:var(--danger-bg);box-shadow:none}.spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}.choice{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));grid-gap:12px;gap:12px}.choice label{border:1px solid var(--border-strong);padding:16px;cursor:pointer;color:var(--text);margin:0;background:#fff;font-weight:600;font-size:14.5px;transition:border-color .2s,background .2s,transform .2s var(--ease)}.choice label:hover{border-color:var(--blue);transform:translateY(-1px)}.choice input{width:auto;margin-right:8px}.choice label:has(input:checked){border-color:var(--blue-dark);background:var(--blue-softer);box-shadow:inset 3px 0 0 var(--blue-dark)}.choice small{display:block;color:var(--muted);margin-top:4px;font-weight:400;font-size:13px}.msg{padding:11px 14px;margin-bottom:16px;border-left:3px solid}.msg.error{background:var(--danger-bg);color:var(--danger);border-color:var(--danger)}.msg.ok{background:var(--ok-bg);color:var(--ok);border-color:var(--ok)}.msg.warn{background:var(--warn-bg);border-color:#d69e00}.table-wrap{overflow-x:auto;margin:0 -22px -22px}table{width:100%;border-collapse:collapse}td,th{text-align:left;padding:11px 22px;border-bottom:1px solid var(--border);vertical-align:middle}thead th{font-size:11.5px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:var(--blue-dark);background:var(--blue-softer);border-bottom:1px solid var(--border-strong)}tbody tr{transition:background .15s}tbody tr:hover{background:var(--blue-softer)}tbody tr:last-child td{border-bottom:0}td.num,th.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}td input{padding:7px 9px}.neg{color:var(--danger);font-weight:700}.pos{color:var(--ok);font-weight:600}.muted{color:var(--muted)}.badge{display:inline-block;padding:2px 8px;font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;background:var(--blue-soft);color:var(--blue-dark)}.badge.error,.badge.skipped{background:var(--danger-bg);color:var(--danger)}.badge.wareneingang{background:var(--ok-bg);color:var(--ok)}.badge.warenausgang{background:#fff1e6;color:#b4530a}.badge.manual{background:#f1ecfd;color:var(--violet)}.toolbar{display:flex;gap:12px;align-items:center;margin-bottom:16px;flex-wrap:wrap}.toolbar>input:not([type]){max-width:360px}.init{border-left:3px solid var(--blue-dark)}.progress{height:8px;background:var(--blue-soft);overflow:hidden}.progress>div{height:100%;transition:width .5s var(--ease);background:repeating-linear-gradient(45deg,var(--blue-dark) 0 10px,var(--violet) 10px 20px);background-size:28px 100%;animation:stripes .8s linear infinite}.we-lines{border:1px solid var(--border)}.we-row{display:grid;grid-template-columns:minmax(240px,1fr) 200px 130px 36px;grid-gap:12px;gap:12px;align-items:center;padding:10px 14px;border-bottom:1px solid var(--border)}.we-row:last-child{border-bottom:0}.we-head{background:var(--blue-softer);font-size:11.5px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:var(--blue-dark)}.loc{color:var(--violet)}.picker{position:relative}.picker-list{position:fixed;z-index:1000;overflow-y:auto;margin:0;padding:0;list-style:none;background:#fff;border:1px solid var(--border-strong);border-top:2px solid var(--blue-dark);box-shadow:0 16px 40px rgba(13,18,64,.18);animation:fadeUp .15s var(--ease) both}.picker-list.up{border-top:1px solid var(--border-strong);border-bottom:2px solid var(--blue-dark)}.picker-list li{padding:8px 12px;cursor:pointer;display:flex;flex-direction:column;border-left:3px solid transparent}.picker-list li small{color:var(--muted)}.picker-list li.active{background:var(--blue-soft);border-left-color:var(--blue-dark)}.picker-list li.empty{color:var(--muted);cursor:default}@keyframes flashRow{0%{background:#dfe4ff}to{background:transparent}}@keyframes shake{0%,to{transform:none}20%,60%{transform:translateX(-6px)}40%,80%{transform:translateX(6px)}}@keyframes beam{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.scan-input{display:flex;align-items:center;gap:10px;padding:0 14px;border:2px solid var(--blue-dark);background:#fff;color:var(--blue-dark);transition:box-shadow .2s}.scan-input:focus-within{box-shadow:0 0 0 4px rgba(26,43,214,.15)}.scan-input input{border:0;padding:14px 0;font-size:18px;font-weight:600;letter-spacing:.02em;box-shadow:none!important}.scan-input.invalid{border-color:var(--danger);color:var(--danger)}.scan-input.shake{animation:shake .35s}.scan-field{margin-bottom:20px}.scan-row{display:flex;gap:10px;align-items:stretch}.scan-row .scan-input{flex:1 1;min-width:0}.cam-btn{flex-shrink:0;padding:0 18px;gap:8px;font-size:14px}td form{margin:0}@keyframes laser{0%,to{top:12%}50%{top:86%}}.cam-overlay{position:fixed;inset:0;z-index:200;display:flex;flex-direction:column;background:#05081f;color:#fff;animation:fadeIn .2s both}.cam-head{display:flex;align-items:center;justify-content:space-between;height:56px;padding:0 8px 0 18px;background:var(--bar);font-weight:600}.cam-close{background:transparent;border:0;color:#fff;width:44px;height:44px;padding:0;box-shadow:none!important}.cam-close:after{display:none}.cam-close:hover{background:var(--bar-hover)}.cam-view{position:relative;flex:1 1;overflow:hidden;display:grid;place-items:center}.cam-view video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.cam-frame{position:relative;width:min(82vw,420px);height:min(46vw,230px);box-shadow:0 0 0 9999px rgba(5,8,31,.55);border:2px solid rgba(255,255,255,.85)}.cam-frame:after,.cam-frame:before{content:"";position:absolute;width:26px;height:26px;border:4px solid var(--orange)}.cam-frame:before{left:-4px;top:-4px;border-right:0;border-bottom:0}.cam-frame:after{right:-4px;bottom:-4px;border-left:0;border-top:0}.cam-laser{position:absolute;left:6%;right:6%;height:2px;background:var(--orange);box-shadow:0 0 12px var(--orange);animation:laser 2s ease-in-out infinite}.cam-error,.cam-hint{position:relative;z-index:1;padding:12px 16px;max-width:86vw;text-align:center;background:rgba(0,0,0,.6)}.cam-error{color:#ffb4b4}.cam-foot{padding:14px 18px calc(14px + env(safe-area-inset-bottom));text-align:center;font-size:14px;color:#c9d1ec;background:var(--bar)}.scan-error{color:var(--danger);margin-top:6px}.link-btn,.scan-error{font-size:13px;font-weight:600}.link-btn{background:none;border:0;padding:6px 0 0;color:var(--blue)}.link-btn:after{display:none}.link-btn:hover{background:none;box-shadow:none;text-decoration:underline}.scan-empty{position:relative;overflow:hidden;padding:38px;text-align:center;color:var(--muted);border:1px dashed var(--border-strong);background:var(--blue-softer);font-weight:600;letter-spacing:.04em}.scan-beam{position:absolute;left:0;right:0;top:50%;height:2px;background:linear-gradient(90deg,transparent,var(--violet),var(--blue-dark),transparent);animation:beam 2.2s ease-in-out infinite;opacity:.7}.scan-table{margin:0;border:1px solid var(--border)}.scan-table td,.scan-table th{padding:9px 14px}tr.flash td{animation:flashRow .9s ease-out}.scan-foot{margin-top:16px;margin-bottom:0}.neg-soft{color:var(--danger)}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:16px;background:linear-gradient(125deg,#020524,#060d4a,#0a0a8a,#1a0f63,#050a3a);background-size:300% 300%;animation:gradientShift 14s ease infinite}.auth{width:100%;max-width:420px;animation:fadeUp .6s var(--ease) both}.auth .card{padding:36px 34px 28px;box-shadow:0 24px 60px rgba(5,5,60,.35);border:0}.auth .card:before{content:"";display:block;height:4px;background:var(--grad);margin:-36px -34px 28px}.auth-logo{display:block;width:220px;height:auto;margin:0 auto 6px}.auth-sub{text-align:center;color:var(--muted);font-size:12px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:24px}.auth-sub strong{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}@media (max-width:1380px){.top-right .email{display:none}}@media (max-width:1100px){.top-links,.top-right{display:none}.burger{display:inline-flex}}@media (min-width:1101px){.drawer,.drawer-backdrop{display:none}}@media (max-width:480px){.topnav-inner{padding:0 6px 0 14px}.logo img{width:96px}.brand{margin:12px 8px 12px 12px;padding-left:12px}.brand-name{font-size:14px}}@media (max-width:760px){.content{padding:20px 14px 48px}h1{font-size:22px}.page-head{margin-bottom:16px}.subtitle{font-size:13.5px}.card{padding:16px}.card,.grid{margin-bottom:14px}.grid{grid-template-columns:1fr 1fr;gap:10px}.stat .value{font-size:16px}.toolbar>input:not([type]){max-width:none;flex:1 1 100%}.hide-sm{display:none}.show-sm{display:block;margin-top:2px;font-size:12px}.scan-table td input{width:64px;padding:7px 6px}.scan-table td,.scan-table th{padding:9px 6px}.scan-table td:first-child,.scan-table th:first-child{padding-left:10px}.scan-table .icon-btn{width:30px;height:34px}.cam-btn span{display:none}.cam-btn{padding:0 14px}.scan-input input{font-size:16px;padding:12px 0}.scan-foot>.muted{display:none}.scan-foot button:not(.secondary){flex:1 1}.we-row{grid-template-columns:1fr 110px 40px;gap:8px;padding:12px 10px}.we-row>:first-child{grid-column:1/-1}.we-row>:nth-child(2){font-size:13px}.we-head{display:none}.toolbar>button{flex:1 1}.toolbar>span[style]{display:none}td,th{padding:10px 12px}.table-wrap{margin:0 -16px -16px}.scan-table{margin:0}.choice{grid-template-columns:1fr}input,select{font-size:16px}}@media (max-width:360px){.grid{grid-template-columns:1fr}}