:root{--ink:#1d3038;--muted:#667983;--pine:#173e49;--teal:#176b72;--bg:#f3f6f6;--line:#d9e3e5;--white:#fff;--red:#aa3a35;--green:#166c48}*{box-sizing:border-box}html{font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}body{margin:0;background:var(--bg);color:var(--ink);font-size:15px;line-height:1.5}a{color:#0e606a;text-decoration:none}a:hover{text-decoration:underline}.topbar{background:var(--pine);color:#fff;display:flex;align-items:center;gap:18px;padding:13px max(22px,calc((100vw - 1190px)/2));min-height:67px}.topbar .brand{color:white;font-size:19px;font-weight:800;margin-right:auto;letter-spacing:-.3px}.user-label{font-size:13px;color:#c9dade}.topbar button{color:white}.nav{display:flex;align-items:center;gap:7px;background:#fff;padding:7px max(15px,calc((100vw - 1190px)/2));box-shadow:0 2px 10px #1d34410b;overflow-x:auto;white-space:nowrap}.nav a{padding:11px 15px;color:#405962;border-radius:7px;font-weight:620}.nav a:hover,.nav a.active{background:#e6f1f1;color:#124c55;text-decoration:none}.container{max-width:1200px;margin:24px auto 90px;padding:0 19px}.login-container{max-width:480px;margin:70px auto 80px;padding:0 18px}.heading{display:flex;align-items:center;justify-content:space-between;margin:13px 0 22px}h1{margin:0;font-size:29px;line-height:1.25;letter-spacing:-.7px}h2{font-size:19px;margin:0 0 16px}h3{margin:12px 0}p{margin:0 0 13px}.panel{padding:23px 25px;margin-bottom:19px;background:var(--white);border:1px solid var(--line);border-radius:11px;box-shadow:0 3px 10px #1f43520a}.notice{background:#e4f7ed;border-left:4px solid var(--green);border-radius:5px;padding:12px 16px;margin-bottom:17px}.notice.error{background:#fff0f0;border-left-color:var(--red)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:0 0 22px}.stat{background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px 24px;box-shadow:0 2px 10px #192c3908}.stat span{display:block;font-size:13px;color:var(--muted)}.stat strong{display:block;font-size:34px;line-height:1.5}.row-between{display:flex;align-items:center;justify-content:space-between;gap:14px}.actionbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:0 0 18px}.btn{appearance:none;border:1px solid #b6cbd0;cursor:pointer;color:#284a56;font-weight:650;background:#fff;display:inline-block;padding:10px 17px;border-radius:7px;font-size:14px;line-height:1.4}.btn:hover{background:#e9f2f2;text-decoration:none}.btn.primary{background:var(--teal);border-color:var(--teal);color:#fff}.btn.primary:hover{background:#12545a}.btn.small{font-size:12px;padding:6px 10px}.ghost{background:none;border:none;cursor:pointer;font-size:13px}.filterbar{display:flex;align-items:end;flex-wrap:wrap;gap:10px;padding:15px 0 19px}.filterbar label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted)}.filterbar input,.filterbar select{min-width:210px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;background:#fff}th{text-align:left;font-size:12px;font-weight:750;letter-spacing:.03em;color:#526d79;background:#f3f7f7}td,th{border-bottom:1px solid #e2e9ea;padding:12px 13px;vertical-align:top}td{font-size:14px}tr:last-child td{border-bottom:none}.tag{display:inline-block;border-radius:15px;background:#edf3f5;color:#50656c;padding:2px 9px;font-size:12px}.tag.bad{color:#9c302e;background:#fcebea}.tag.warn{color:#996114;background:#fff3d8}.tag.good{color:#176344;background:#e3f4ea}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 22px}.field{display:flex;flex-direction:column;gap:6px;font-weight:600;color:#496069;font-size:13px}.field.full{grid-column:1/-1}.field input,.field select,.field textarea,.filterbar input,.filterbar select,#item-picker{width:100%;border:1px solid #bbccd0;padding:11px 12px;border-radius:7px;font:inherit;font-weight:450;color:var(--ink);background:#fff}.field textarea{resize:vertical}.check-field{flex-direction:row;align-items:center;gap:8px}.check-field input{width:auto}.form-actions{grid-column:1/-1;display:flex;align-items:center;gap:10px;margin-top:5px}.help,small{font-size:12px;color:var(--muted)}.detail-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:20px}.details{display:grid;grid-template-columns:minmax(125px,36%) 1fr;row-gap:10px;margin:0}.details dt{color:#697e85;font-size:13px}.details dd{margin:0;font-size:14px;overflow-wrap:anywhere}.qrcode-render{max-width:210px;margin:10px auto;display:flex;align-items:center;justify-content:center}.qrcode-render svg{max-width:100%;height:auto}.label-cell .qrcode-render{width:40mm;height:40mm}.labels{display:flex;flex-wrap:wrap;gap:12px;background:#fff;padding:22px;border-radius:10px}.label-cell{width:52mm;min-height:63mm;border:1px dashed #c5d2d6;padding:4mm 3mm;display:flex;align-items:center;flex-direction:column;justify-content:start;text-align:center;page-break-inside:avoid}.label-cell strong{font-size:12px;margin-top:-2px}.label-cell small{font-size:10px;overflow-wrap:anywhere}.label-cell button{margin-top:12px}.inline{display:flex;gap:8px}.inline select{flex:1}.selected-items{margin-top:13px;display:flex;flex-wrap:wrap;gap:8px;min-height:26px}.item-pill{display:flex;gap:7px;align-items:center;background:#e5f2f1;border:1px solid #bedbd9;color:#265661;padding:5px 9px;border-radius:8px;font-size:13px}.item-pill button{border:0;background:transparent;font-size:16px;cursor:pointer;color:#30585a}dialog{border:1px solid var(--line);border-radius:12px;padding:23px;max-width:min(94vw,580px);box-shadow:0 12px 80px #0004}dialog::backdrop{background:#071c28b8}#scanner-video{display:block;max-width:100%;width:500px;background:#102528;margin:20px auto;aspect-ratio:4/3;object-fit:cover;border-radius:10px}.footer{text-align:center;font-size:12px;color:#798a90;padding:15px}.login-form{display:flex;flex-direction:column;gap:16px}.login-form h1{font-size:25px}@media(max-width:850px){.stats{grid-template-columns:repeat(2,1fr)}.nav a{font-size:13px;padding:8px 11px}.detail-grid{grid-template-columns:1fr}}@media(max-width:620px){h1{font-size:24px}.container{padding:0 12px;margin-top:13px}.topbar{padding:12px}.topbar .brand{font-size:16px}.user-label{display:none}.nav{padding:5px 7px}.stats{gap:9px}.stat{padding:15px}.stat strong{font-size:27px}.panel{padding:17px 15px}.form-grid{grid-template-columns:1fr}.form-actions{flex-wrap:wrap}.inline{flex-wrap:wrap}.inline select{min-width:100%}.filterbar label{width:100%}.details{grid-template-columns:1fr}.details dt{padding-top:9px;border-top:1px solid #f0f0f0}.details dd{padding-bottom:8px}}@media print{body{background:white}.topbar,.nav,.footer,.heading,.noprint,.actionbar,.notice{display:none!important}.container{max-width:none;margin:0;padding:0}.labels{padding:0;gap:0}.label-cell{border:1px solid #eee;border-radius:0}.label-cell .qrcode-render{margin:0 auto}.panel{border:0;box-shadow:none}}

.item-photo img{max-width:100%;max-height:350px;border-radius:8px;margin-top:15px;object-fit:contain}

.account-link{color:#dbe9e9;font-size:13px}.account-link:hover{color:white}@media(max-width:620px){.account-link{font-size:11px}}

/* v0.1.5: optionale Zustandsfotos pro ausgewähltem Inventargegenstand */
.selected-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));width:100%}
.item-pill{display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:11px 13px}
.item-pill-title{display:flex;align-items:start;justify-content:space-between;gap:8px;font-weight:650}
.item-pill-title span{overflow-wrap:anywhere}
.photo-upload-label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:500}
.photo-upload-label input{font:inherit;max-width:100%;background:#fff;border:1px solid #bedbd9;border-radius:6px;padding:7px}

/* v0.1.6 Etappe 1: klare Einrückung für hierarchische Standorte */
.location-tree-label{display:inline-block;min-width:0;overflow-wrap:anywhere}

/* v0.1.6 Etappe 1: neu vergebene Inventarnummer unmittelbar sichtbar */
.inventory-number-highlight{background:#e8f4f3;border:1px solid #b4d5d3;border-radius:9px;padding:15px 18px;margin-bottom:22px;display:flex;flex-direction:column;gap:3px}
.inventory-number-highlight span{font-size:12px;font-weight:700;color:#47666d}
.inventory-number-highlight strong{font-size:clamp(21px,3vw,28px);letter-spacing:.01em;line-height:1.25;overflow-wrap:anywhere;color:#145b62;font-variant-numeric:tabular-nums}
.inventory-number-highlight small{color:#536d73}
