: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}}

/* 0.1.4 – visuelle Überarbeitung, Matrix-Mehrfachzeilen, Filter, Druckworkflow und Systemupdate */
body.app-body{background:linear-gradient(180deg,#eaf1f6 0,#f3f6f8 260px,#eef3f7 100%)}
.topbar{height:68px;background:linear-gradient(105deg,#102a40 0%,#173d5c 62%,#1d567c 100%);border-bottom:1px solid rgba(255,255,255,.08)}
.brand-mark{background:linear-gradient(145deg,#fff,#dcecf7);box-shadow:inset 0 0 0 1px #fff8,0 4px 14px #0003}.brand{letter-spacing:-.01em}.sidebar{top:68px;width:242px;padding:20px 13px 16px;background:rgba(255,255,255,.97);box-shadow:6px 0 28px rgba(26,56,78,.04)}.sidebar nav a{position:relative;padding:11px 12px;border:1px solid transparent;transition:.16s ease}.sidebar nav a:hover{transform:translateX(2px);background:#edf6fb;border-color:#d9e9f4}.sidebar nav a.active{background:linear-gradient(90deg,#e4f1fa,#f4f9fc);border-color:#cfdfeb;color:#154f76;box-shadow:inset 3px 0 0 var(--accent)}.nav-ico{width:22px;text-align:center;font-size:17px;color:#577180}.sidebar nav a.active .nav-ico{color:var(--accent)}.main{margin-left:242px;padding-top:98px}.page-head h1{font-size:30px;color:#122e44}.page-head p{font-size:14px}.panel{border-color:#d8e3eb;box-shadow:0 8px 28px rgba(22,52,74,.07)}.panel-head{background:linear-gradient(180deg,#fff,#fbfcfd)}.btn{transition:.14s ease;box-shadow:0 1px 1px #00000008}.btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #1c4f7014}.btn.primary{background:linear-gradient(180deg,#2a7fb7,#1f6fa5);box-shadow:0 5px 15px #2374ab24}.badge{border:1px solid #dce7ed;background:#f1f6f9}.print-pending{background:#fff6df;border-color:#efd69a;color:#76591c}.queue-btn .badge{margin-left:2px;background:#17324d;color:#fff;border-color:#17324d}.kpi{position:relative;overflow:hidden}.kpi:after{content:"";position:absolute;inset:auto -25px -30px auto;width:90px;height:90px;border-radius:50%;background:#2374ab0c}.kpi strong{letter-spacing:-.03em}.filter-panel{display:grid;grid-template-columns:repeat(4,minmax(165px,1fr)) auto;gap:12px;align-items:end;background:#fff;border:1px solid #d8e3eb;border-radius:var(--radius);box-shadow:var(--shadow);padding:16px;margin:16px 0 18px}.filter-panel label{font-size:12px;font-weight:750;color:#465f70}.filter-panel select{margin-top:6px}.filter-actions{display:flex;gap:7px;align-items:center}.matrix-panel{padding:22px}.matrix-wrap{background:#fff;box-shadow:inset 0 0 0 1px #fff}.matrix-table thead th{background:linear-gradient(180deg,#eef5f9,#e8f0f5);color:#3f5f74;padding-top:12px;padding-bottom:12px}.matrix-table tbody th{background:#f6f9fb}.matrix-table tbody tr:nth-child(even) td{background:#fcfdfe}.matrix-table tbody tr:hover td,.matrix-table tbody tr:hover th{background:#eef7fc}.matrix-table input,.matrix-table select{margin:0;background:#fff}.matrix-sector{min-width:150px}.matrix-input:focus{background:#fffdf5}.matrix-row-actions{width:48px;text-align:center}.matrix-actions-head{width:48px}.icon-btn{width:32px;height:32px;border-radius:8px;border:1px solid #d9e2e8;background:#fff;cursor:pointer;font-size:19px;line-height:1}.icon-btn.danger{color:#a22b22}.icon-btn:hover{background:#fff3f2;border-color:#efc7c3}.matrix-help{border-left:4px solid var(--accent)}.capture-panel{max-width:980px}.capture-panel .grid-form{gap:18px 20px}.article-preview{border-left:4px solid var(--accent);box-shadow:inset 0 1px 0 #fff}.print-choice-panel{display:grid;grid-template-columns:minmax(300px,.9fr) minmax(360px,1.1fr);gap:0;overflow:hidden}.print-choice-summary{padding:28px;background:linear-gradient(145deg,#153752,#1d5276);color:#fff}.print-choice-summary .eyebrow{display:block;text-transform:uppercase;font-size:11px;font-weight:800;letter-spacing:1.4px;opacity:.72}.card-number-large{display:block;font-size:31px;margin:6px 0 24px;letter-spacing:.02em}.print-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.print-choice-grid>div{padding:12px;border:1px solid #ffffff26;border-radius:10px;background:#ffffff0c}.print-choice-grid span,.print-choice-grid small{display:block;font-size:11px;opacity:.72}.print-choice-grid strong{display:block;margin:3px 0;font-size:15px}.print-choice-actions{padding:22px;display:flex;flex-direction:column;gap:11px;background:#fbfcfd}.print-choice-actions form{margin:0}.choice-card{width:100%;display:flex;align-items:center;gap:15px;text-align:left;padding:17px;border-radius:12px;border:1px solid #d4e0e8;background:#fff;color:#213d50;cursor:pointer;transition:.14s ease}.choice-card:hover{transform:translateY(-1px);border-color:#9bc2dc;box-shadow:0 7px 20px #1c526f12}.choice-card.primary-choice{border-color:#2a7fb7;background:linear-gradient(180deg,#f1f8fd,#e8f4fb)}.choice-card.muted-choice{background:#f7f9fa}.choice-card .choice-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:11px;background:#edf4f8;font-size:23px;color:#1d6a9b;flex:0 0 auto}.choice-card strong,.choice-card small{display:block}.choice-card strong{font-size:15px}.choice-card small{margin-top:3px;color:#6c7e8a}.update-panel{max-width:1000px}.update-upload{display:flex;gap:12px;align-items:end;max-width:760px}.update-upload label{flex:1;font-size:13px;font-weight:750;color:#405666}.update-upload input[type=file]{background:#f8fafb}.system-kpis{grid-template-columns:repeat(4,minmax(150px,1fr))}code{background:#eef3f6;border:1px solid #dce5eb;border-radius:5px;padding:1px 5px;font-size:.9em}.logout-form button:hover{background:#eaf1f5;color:#183c55}
@media(max-width:1100px){.filter-panel{grid-template-columns:repeat(2,minmax(160px,1fr))}.filter-actions{grid-column:1/-1}.print-choice-panel{grid-template-columns:1fr}.system-kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.sidebar{width:242px}.main{margin-left:0}.print-choice-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.filter-panel{grid-template-columns:1fr}.filter-actions{grid-column:auto;flex-wrap:wrap}.print-choice-grid{grid-template-columns:1fr}.print-choice-summary,.print-choice-actions{padding:18px}.card-number-large{font-size:24px}.update-upload{flex-direction:column;align-items:stretch}.system-kpis{grid-template-columns:1fr 1fr}.matrix-intro{flex-direction:column}.matrix-intro .btn{width:100%}}
