:root{--nav:#17324d;--nav2:#0e2438;--accent:#2374ab;--accent2:#155d8f;--bg:#eef3f7;--panel:#fff;--text:#172b3a;--muted:#6b7b88;--line:#dbe4eb;--success:#147a52;--danger:#b42318;--radius:14px;--shadow:0 6px 24px rgba(17,43,64,.08)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:var(--bg)}a{color:var(--accent);text-decoration:none}button,input,select,textarea{font:inherit}.topbar{position:fixed;z-index:30;top:0;left:0;right:0;height:66px;background:linear-gradient(90deg,var(--nav2),var(--nav));color:#fff;display:flex;align-items:center;padding:0 24px;box-shadow:0 2px 12px #0002}.brand{display:flex;align-items:center;gap:11px;font-weight:750;font-size:18px}.brand-mark,.login-logo{display:grid;place-items:center;background:#fff;color:var(--nav);font-weight:900;border-radius:9px}.brand-mark{width:34px;height:34px}.userbox{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;font-size:13px}.userbox span{opacity:.75}.sidebar{position:fixed;z-index:20;top:66px;bottom:0;left:0;width:232px;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;padding:18px 12px}.sidebar nav{display:flex;flex-direction:column;gap:4px}.sidebar nav a{color:#31495a;padding:11px 13px;border-radius:9px;font-weight:600;display:flex;gap:10px}.sidebar nav a:hover{background:#edf5fa;color:#0d5686}.logout-form{margin-top:auto}.logout-form button{width:100%;border:0;background:#f3f6f8;padding:10px;border-radius:9px;color:#536674;cursor:pointer}.main{margin-left:232px;padding:94px 30px 50px;max-width:1600px}.menu-toggle{display:none;background:none;border:0;color:white;font-size:23px;margin-right:12px}.page-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:20px}.page-head h1{margin:0 0 5px;font-size:28px;letter-spacing:-.02em}.page-head p{margin:0;color:var(--muted)}.panel{background:var(--panel);border:1px solid #dfe7ed;border-radius:var(--radius);box-shadow:var(--shadow);margin:18px 0;overflow:hidden}.panel-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--line)}.panel-head h2{margin:0;font-size:17px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:14px}th,td{padding:13px 15px;border-bottom:1px solid #e7edf2;text-align:left;vertical-align:top}th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#647786;background:#f8fafc;white-space:nowrap}tbody tr:hover{background:#fbfdfe}.num{text-align:right}.subtle,.muted{color:var(--muted);font-size:12px}.empty{text-align:center;color:var(--muted);padding:35px}.actions{white-space:nowrap;display:flex;gap:10px;align-items:center}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid #bdcbd6;background:#fff;color:#244052;border-radius:9px;padding:9px 13px;font-weight:700;cursor:pointer}.btn:hover{background:#f5f8fa}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover{background:var(--accent2)}.btn.success{background:var(--success);border-color:var(--success);color:white}.btn.big{padding:14px 18px;font-size:16px}.btn.full,.full{width:100%}.button-row{display:flex;gap:8px;flex-wrap:wrap}.badge{display:inline-flex;padding:4px 8px;border-radius:999px;background:#edf3f7;color:#425868;font-size:11px;font-weight:800;white-space:nowrap}.kpis{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:14px;margin:18px 0}.kpi{background:#fff;border:1px solid #dfe7ed;border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}.kpi span,.kpi small{display:block;color:var(--muted)}.kpi strong{display:block;font-size:31px;line-height:1.1;margin:4px 0;color:#17324d}.toolbar{display:flex;gap:9px;margin:15px 0;align-items:center}.toolbar input,.toolbar select{min-width:260px}.toolbar.wrap{flex-wrap:wrap}.check{display:flex!important;align-items:center;gap:7px;font-weight:600!important}.check input{min-width:auto}.form-panel{padding:20px}.grid-form{display:grid;grid-template-columns:1fr 1fr;gap:16px 18px}.span-2{grid-column:1/-1}.stack{display:flex;flex-direction:column;gap:16px}.grid-form label,.stack label,.inline-add label,.scanner-panel>label{font-size:13px;font-weight:750;color:#405666}input,select,textarea{width:100%;border:1px solid #becbd5;border-radius:9px;padding:10px 11px;background:#fff;color:var(--text);margin-top:5px;outline:none}input:focus,select:focus,textarea:focus{border-color:#5e9fc9;box-shadow:0 0 0 3px #3b82b51c}.form-actions{display:flex;justify-content:flex-end;gap:9px;padding-top:8px}.inline-add{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.inline-add label{min-width:170px;flex:1}.flash{border-radius:10px;padding:12px 14px;margin:0 0 14px;font-weight:600}.flash.success{background:#dcf6e9;color:#166744}.flash.error{background:#fee4e2;color:#8e2017}.notice{padding:14px 16px;border:1px solid #bdd7e8;background:#edf7fd;border-radius:10px;margin:14px 0;color:#285a7a}.notice.strong{font-weight:700}.tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}.tabs a{background:#fff;border:1px solid var(--line);padding:8px 11px;border-radius:8px;color:#435969;font-weight:650}.tabs a.active{background:var(--nav);color:white;border-color:var(--nav)}.pagination{display:flex;justify-content:space-between;padding:15px}.link-button{background:none;border:0;padding:0;color:var(--accent);cursor:pointer}.inline-form{display:inline}.inline-details summary{color:var(--accent);cursor:pointer}.inline-details form{position:absolute;background:white;padding:10px;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);z-index:5}.article-preview{background:#f0f7fb;border:1px solid #c8e0ee;border-radius:10px;padding:12px;color:#234b63}.login-body{background:radial-gradient(circle at 70% 20%,#dbeaf3,transparent 38%),#eef3f7}.login-main{min-height:100vh;display:grid;place-items:center;padding:25px}.login-card{width:min(430px,100%);background:white;padding:34px;border-radius:18px;box-shadow:0 18px 50px #0a29401f}.login-card h1{margin:13px 0 4px}.login-logo{width:52px;height:52px;background:var(--nav);color:#fff;font-size:28px}.scanner-panel{padding:18px;max-width:680px;margin-inline:auto}.scanner-panel>label{display:block;margin-bottom:14px}.scan-zone{background:#f3f7fa;border:1px dashed #9db2c2;border-radius:14px;padding:18px;text-align:center;margin:12px 0 18px}.scan-zone video{width:100%;max-height:320px;background:#111;border-radius:10px;margin-bottom:12px}.mobile-capture{max-width:760px;margin:auto}
@media(max-width:900px){.kpis{grid-template-columns:repeat(2,1fr)}.sidebar{transform:translateX(-100%);transition:.2s}.nav-open .sidebar{transform:none;box-shadow:12px 0 30px #0002}.main{margin-left:0;padding:88px 16px 40px}.menu-toggle{display:block}.topbar{padding:0 14px}.userbox span{display:none}.grid-form{grid-template-columns:1fr}.span-2{grid-column:auto}.page-head{align-items:flex-start;flex-direction:column}.form-actions{justify-content:stretch;flex-wrap:wrap}.form-actions .btn{flex:1}.toolbar{align-items:stretch;flex-wrap:wrap}.toolbar input,.toolbar select{min-width:0;flex:1}.actions{white-space:normal}}@media(max-width:560px){.kpis{grid-template-columns:1fr 1fr;gap:9px}.kpi{padding:13px}.kpi strong{font-size:24px}.page-head h1{font-size:23px}.panel{border-radius:11px}.table-wrap{font-size:13px}.brand span:last-child{display:none}.inline-add{flex-direction:column;align-items:stretch}.inline-add label{width:100%}}
.welcome-panel{padding:0}.welcome-content{padding:22px;display:flex;align-items:center;justify-content:space-between;gap:24px}.welcome-content h2{margin:0 0 6px}.welcome-content p{margin:0;color:var(--muted);max-width:760px}.runtime-error{background:#fff6f5;border:1px solid #efc3bf;border-radius:var(--radius);padding:22px;margin:0 0 18px;box-shadow:var(--shadow)}.runtime-error h1{font-size:22px;margin:0 0 8px;color:#84251d}.runtime-error p{margin:7px 0}.runtime-error pre{white-space:pre-wrap;overflow:auto;background:#fff;border:1px solid #ead4d1;padding:12px;border-radius:9px;font-size:12px}@media(max-width:700px){.welcome-content{align-items:flex-start;flex-direction:column}}

/* 0.1.3 – Lagerplatz-Matrix und kompakte Scanner-Auswahl */
.matrix-intro{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px}.matrix-intro h2,.panel-subhead h2{margin:0 0 5px;font-size:18px}.matrix-intro p,.panel-subhead p{margin:0;color:var(--muted)}.matrix-wrap{border:1px solid var(--line);border-radius:10px;max-height:65vh}.matrix-table{min-width:760px}.matrix-table th,.matrix-table td{border-right:1px solid #e7edf2}.matrix-table thead th{position:sticky;top:0;z-index:3;background:#f4f8fb}.matrix-table tbody th{position:sticky;left:0;z-index:2;background:#f8fafc;min-width:150px}.matrix-corner{left:0!important;z-index:4!important;min-width:180px!important}.matrix-input{min-width:105px;margin:0;padding:8px}.panel-subhead{margin-bottom:15px}.scanner-location-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.scanner-location-grid label{font-size:13px;font-weight:750;color:#405666}.scanner-panel small,.grid-form small{display:block;margin-top:5px;color:var(--muted);font-weight:500;line-height:1.35}.danger-link{color:var(--danger)!important}.row-inactive{opacity:.58;background:#f7f7f7}
@media(max-width:620px){.scanner-location-grid{grid-template-columns:1fr}.matrix-wrap{max-height:58vh}}
