:root{--bg:#f5f7fa;--card:#fff;--text:#16202a;--muted:#6b7785;--border:#dfe5eb;--accent:#1769e0;--good:#147d4c;--bad:#b42318;--warn:#9a6700}*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;background:var(--bg);color:var(--text)}a{color:var(--accent);text-decoration:none}header{background:#101923;color:#fff;display:flex;align-items:center;gap:28px;padding:0 28px;min-height:64px;position:sticky;top:0;z-index:4}.brand{display:flex;align-items:center;gap:8px}.brand a{font-weight:800;color:#fff;font-size:19px}.brand span{font-size:11px;background:#2d3d50;padding:3px 7px;border-radius:99px}nav{display:flex;gap:4px;flex-wrap:wrap}nav a{color:#cdd6df;padding:20px 10px}nav a:hover{color:#fff;background:#1c2a39}main{max-width:1280px;margin:0 auto;padding:28px}footer{max-width:1280px;margin:10px auto 0;padding:18px 28px 36px;color:var(--muted);font-size:13px}.pagehead{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:22px}.pagehead h1{font-size:30px;margin:4px 0 3px}.pagehead p{margin:0;color:var(--muted)}.back{font-size:13px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:18px;box-shadow:0 1px 2px rgba(20,35,50,.03);margin-bottom:18px}.kpi b{display:block;font-size:28px}.kpi span,.muted{color:var(--muted)}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.sectionhead,.line,.recipient,.order{display:flex;justify-content:space-between;gap:12px;align-items:center}.sectionhead h2,.card h2{font-size:18px;margin:0 0 14px}.sectionhead h2{margin:0}.sectionhead{margin-bottom:12px}.button,button{display:inline-block;border:1px solid #c7d0da;background:#fff;color:#1d2b39;border-radius:8px;padding:9px 13px;font-weight:650;cursor:pointer;font:inherit}.button.primary,button.primary{background:var(--accent);border-color:var(--accent);color:#fff}.small{padding:5px 8px;font-size:12px}.badge{display:inline-block;padding:4px 8px;border-radius:99px;background:#eef2f6;color:#334155;font-size:12px;white-space:nowrap}.badge.good{background:#e8f7ef;color:var(--good)}.flash{border-radius:8px;padding:12px 14px;margin-bottom:15px;background:#eef4ff;border:1px solid #cdddf7}.flash.error{background:#fff0ef;border-color:#f0cbc7;color:var(--bad)}.flash.ok{background:#edf9f2;border-color:#cce9d8;color:var(--good)}.flash.warn{background:#fff8e6;border-color:#f0ddb3;color:#6f4c00}.note{background:#fff8e6;border:1px solid #f1e0b8;border-radius:8px;padding:10px;margin:8px 0}.note span{color:#5f5a50}.line{padding:10px 0;border-bottom:1px solid var(--border)}.line:last-child{border:0}.positive{color:var(--good);font-weight:700}.negative{color:var(--bad);font-weight:700}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:14px}th{text-align:left;color:#586575;font-size:12px;text-transform:uppercase;letter-spacing:.03em;padding:9px 10px;border-bottom:1px solid var(--border)}td{padding:11px 10px;border-bottom:1px solid #edf0f3;vertical-align:top}td small{display:block;color:var(--muted);margin-top:4px}tr:last-child td{border-bottom:0}.filters,.inlineform{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:16px}.filters input{min-width:260px}.filters input,.filters select,.inlineform input,.inlineform select,.form input,.form select,.form textarea{border:1px solid #cbd4de;border-radius:8px;padding:9px 10px;background:#fff;font:inherit;color:var(--text)}.form{display:grid;gap:13px}.form label{display:grid;gap:5px;font-size:13px;color:#4f5c69}.form textarea{min-height:82px;resize:vertical}.form .row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.form.compact{gap:9px}.check{display:flex!important;grid-template-columns:none!important;flex-direction:row;align-items:center;gap:8px!important}.check input{width:auto}.narrow{max-width:720px}.modelcard{display:flex;flex-direction:column;gap:8px;color:var(--text)}.modelcard b{font-size:20px}.modelcard span{color:var(--muted)}dl{display:grid;grid-template-columns:150px 1fr;gap:8px 12px;margin:0}dt{color:var(--muted)}dd{margin:0}.recipient,.order{padding:12px 0;border-bottom:1px solid var(--border);color:var(--text)}.recipient div,.order span:first-child{display:flex;flex-direction:column;gap:3px}.recipient span,.order small{color:var(--muted);font-size:13px}@media(max-width:850px){header{align-items:flex-start;flex-direction:column;gap:0;padding-top:14px}nav a{padding:12px 8px}.cards{grid-template-columns:1fr 1fr}.grid2{grid-template-columns:1fr}.pagehead{align-items:flex-start;flex-direction:column}main{padding:18px}.form .row{grid-template-columns:1fr}}@media(max-width:520px){.cards{grid-template-columns:1fr}.filters{align-items:stretch;flex-direction:column}.filters input{min-width:0;width:100%}}

/* BOM editor */
.bom-editor .sectionhead p{margin:4px 0 0}.bom-add-form{display:grid;grid-template-columns:minmax(320px,2fr) minmax(160px,.65fr) auto;gap:10px;align-items:end}.bom-add-form label{display:grid;gap:5px;font-size:13px;color:#4f5c69}.bom-add-form select,.bom-add-form input,.qty-form input{border:1px solid #cbd4de;border-radius:8px;padding:9px 10px;background:#fff;font:inherit;color:var(--text);width:100%}.qty-form{display:flex;gap:6px;align-items:center;margin:0}.qty-form input{width:92px;padding:6px 8px}.danger{color:var(--bad);border-color:#efc1bd;background:#fff7f6}.danger:hover{background:#fff0ef}@media(max-width:850px){.bom-add-form{grid-template-columns:1fr}.qty-form{min-width:160px}}

/* Device lifecycle and administration */
hr{border:0;border-top:1px solid var(--border);margin:18px 0}.hint{font-size:12px;color:var(--muted);margin:10px 0 0}.card h3{font-size:15px;margin:0 0 10px}.color-label{display:inline-flex;align-items:center;gap:7px}.swatch{width:14px;height:14px;border-radius:50%;display:inline-block;border:1px solid rgba(0,0,0,.16);background:#e5e7eb;flex:0 0 auto}.device-facts{grid-template-columns:145px 1fr}.lifecycle-action{align-items:flex-end}.lifecycle-action label{display:grid;gap:5px;font-size:13px;color:#4f5c69}.details-form{margin-top:12px;margin-bottom:0}summary{cursor:pointer;color:#4f5c69;font-weight:650}.timeline{display:flex;flex-direction:column}.timeline-item{display:grid;grid-template-columns:110px 18px 1fr;gap:10px;min-height:66px}.timeline-date{font-size:13px;color:var(--muted);padding-top:2px;text-align:right}.timeline-dot{position:relative}.timeline-dot:before{content:"";position:absolute;width:10px;height:10px;border-radius:50%;background:var(--accent);top:5px;left:4px}.timeline-dot:after{content:"";position:absolute;width:2px;background:#d8e1ea;top:15px;bottom:-3px;left:8px}.timeline-item:last-child .timeline-dot:after{display:none}.timeline-body{padding-bottom:15px}.timeline-body b{display:block;margin-bottom:3px}.admin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.admin-card{display:flex;flex-direction:column;gap:7px;color:var(--text);min-height:170px;transition:transform .12s ease,box-shadow .12s ease}.admin-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(20,35,50,.08)}.admin-card b{font-size:19px}.admin-card span:not(.admin-icon){color:var(--accent);font-weight:700}.admin-card small{color:var(--muted);line-height:1.45}.admin-icon{font-size:25px}.admin-row-form{display:grid;grid-template-columns:minmax(120px,1fr) minmax(140px,1fr) minmax(140px,1fr) auto;gap:6px;align-items:center}.admin-row-form input,.bom-add-form input{border:1px solid #cbd4de;border-radius:8px;padding:7px 8px;background:#fff;font:inherit;color:var(--text);min-width:0}.inline-action{display:inline-block;margin-top:6px}.no-margin{margin:0}.admin-layout code{background:#f1f5f9;padding:2px 5px;border-radius:4px}@media(max-width:1000px){.admin-grid{grid-template-columns:1fr 1fr}.admin-row-form{grid-template-columns:1fr 1fr}}@media(max-width:700px){.admin-grid{grid-template-columns:1fr}.timeline-item{grid-template-columns:86px 18px 1fr}.admin-row-form{grid-template-columns:1fr}.device-facts{grid-template-columns:120px 1fr}}

.bom-special-row { display:grid; grid-template-columns:minmax(260px,1fr) auto auto; gap:14px; align-items:end; margin-top:14px; }
.bom-special-row small { display:block; margin-top:4px; color:var(--muted); }
@media (max-width: 760px) { .bom-special-row { grid-template-columns:1fr; align-items:stretch; } }

.color-admin-row{grid-template-columns:minmax(120px,1fr) minmax(110px,.8fr) minmax(180px,1.2fr) 78px auto;}
@media(max-width:1000px){.color-admin-row{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.color-admin-row{grid-template-columns:1fr}}

/* Recipient detail */
.recipient-link{border-radius:8px;padding:12px 8px;margin:0 -8px}.recipient-link:hover{background:#f7f9fb}.recipient-link small{color:var(--muted);font-size:12px;margin-top:2px}.recipient-counts{display:flex!important;flex-direction:row!important;gap:12px!important;align-items:center}.recipient-counts span{display:flex;flex-direction:column;text-align:right;line-height:1.15}.recipient-counts b{font-size:16px;color:var(--text)}.recipient-kpis{display:flex;gap:8px;flex-wrap:wrap}.mini-kpi{display:flex;flex-direction:column;min-width:96px;background:var(--card);border:1px solid var(--border);border-radius:10px;padding:9px 12px;color:var(--muted);font-size:11px}.mini-kpi b{font-size:19px;color:var(--text)}.recipient-facts{grid-template-columns:135px 1fr}.preserve-lines{white-space:pre-line}.recipient-device{border:1px solid var(--border);border-radius:10px;margin:10px 0;background:#fff;overflow:hidden}.recipient-device>summary{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:14px 16px;list-style:none}.recipient-device>summary::-webkit-details-marker{display:none}.recipient-device>summary:before{content:'›';font-size:24px;line-height:1;color:#7b8794;transition:transform .12s}.recipient-device[open]>summary:before{transform:rotate(90deg)}.recipient-device-main{display:flex;flex-direction:column;gap:3px;margin-right:auto}.recipient-device-main b{color:var(--text);font-size:15px}.recipient-device-main span{font-size:13px;color:var(--muted)}.recipient-device-summary{display:flex;gap:10px;align-items:center;color:var(--muted);font-size:12px}.recipient-device-body{border-top:1px solid var(--border);padding:18px;background:#fbfcfd}.device-info-grid{margin-bottom:18px}.device-info-grid>div{min-width:0}.recipient-stay{border:1px solid #e7ebef;border-radius:8px;padding:10px 12px;margin-bottom:8px;background:#fff}.recipient-stay>div{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:7px}.recipient-stay dl{grid-template-columns:120px 1fr;font-size:13px}.recipient-stay small{display:block;color:var(--muted);margin-top:2px}.compact-timeline{display:flex;flex-direction:column;gap:0}.compact-event{display:grid;grid-template-columns:92px 1fr;gap:10px;border-bottom:1px solid #edf0f3;padding:8px 0;font-size:13px}.compact-event:last-child{border-bottom:0}.compact-event>span{color:var(--muted)}.compact-event small{display:block;color:var(--muted);margin-top:2px}.bom-snapshot{border-top:1px solid var(--border);padding-top:12px}.bom-snapshot>summary{font-size:13px}.bom-snapshot .tablewrap{margin-top:10px;max-height:360px}.recipient-history-card>.sectionhead{align-items:flex-start}@media(max-width:850px){.recipient-kpis{width:100%}.recipient-device>summary{align-items:flex-start;flex-wrap:wrap}.recipient-device-summary{width:100%;padding-left:32px;justify-content:space-between}.recipient-counts{gap:7px!important}.recipient-facts{grid-template-columns:110px 1fr}}

/* Article numbers, storage locations and dashboard purchasing */
.page-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.page-actions form{margin:0}
code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;background:#f2f5f8;border-radius:5px;padding:2px 5px;color:#344054;font-size:.92em}
.stock-zero td{background:#fff2f0}.stock-zero td:first-child{box-shadow:inset 4px 0 0 var(--bad)}
.danger-badge{background:#fee4e2!important;color:#b42318!important;margin-left:7px;font-weight:750}.warn-badge{background:#fff3cd!important;color:#7a5200!important}
.storage-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:5px}.form-label{font-size:13px;color:#4f5c69}.storage-grid label{margin:0}
.model-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto}.inactive-card{opacity:.72;background:#f8fafc}.danger-zone{border-color:#efc1bd}.danger-zone h2{color:var(--bad)}
@media(max-width:700px){.storage-grid{grid-template-columns:1fr}.page-actions{width:100%}}

/* Article categories, activation and stock integrity */
.inactive-row{opacity:.68;background:#f8fafc}.stock-problem td{background:#fff7f6}.stock-problem td:first-child{box-shadow:inset 4px 0 0 var(--bad)}

/* Authentication and user management */
header{gap:18px}.user-menu{margin-left:auto;display:flex;align-items:center;gap:8px}.user-menu>div{display:flex;flex-direction:column;min-width:150px;text-align:right}.user-menu small{color:var(--muted);font-size:11px}.user-menu form{margin:0}.button-link{display:inline-flex;align-items:center;justify-content:center;border:1px solid #cbd4de;border-radius:8px;padding:8px 11px;background:#fff;color:var(--text);font-size:13px;font-weight:650}.button-link.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.auth-main{max-width:620px;min-height:70vh;display:flex;align-items:center;justify-content:center}.auth-card{width:100%;max-width:460px;margin:30px auto}.wide-auth{max-width:620px}.auth-mark{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:var(--accent);color:#fff;font-weight:800;margin-bottom:14px}.auth-card h1{margin-bottom:6px}.auth-card>p{color:var(--muted);margin-top:0;margin-bottom:20px}.user-edit-form{display:grid;grid-template-columns:130px minmax(160px,1fr) 150px auto auto;gap:6px;align-items:center}.user-edit-form input,.user-edit-form select{border:1px solid #cbd4de;border-radius:8px;padding:7px 8px;background:#fff;font:inherit;color:var(--text);min-width:0}.reset-password{margin-top:7px}.reset-password summary{font-size:12px}.reset-password .inlineform{margin-top:7px}.audit-details{max-width:420px;white-space:normal;word-break:break-word;font-size:12px;color:var(--muted)}
@media(max-width:1100px){header{flex-wrap:wrap}.user-menu{width:100%;margin-left:0;justify-content:flex-end}.user-edit-form{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.user-menu{justify-content:flex-start;flex-wrap:wrap}.user-menu>div{text-align:left}.user-edit-form{grid-template-columns:1fr}.auth-main{padding-top:20px;align-items:flex-start}}

/* Kennzeichnung navigation */
.nav-dropdown{position:relative;display:flex;align-items:stretch}.nav-dropdown>.nav-parent{display:flex;align-items:center;gap:5px}.nav-submenu{display:none;position:absolute;top:100%;left:0;min-width:190px;background:#101923;border:1px solid #2b3948;border-top:0;border-radius:0 0 9px 9px;box-shadow:0 10px 24px rgba(0,0,0,.18);padding:6px;z-index:20}.nav-submenu a{display:block;padding:10px 12px;border-radius:6px;white-space:nowrap}.nav-dropdown:hover .nav-submenu,.nav-dropdown:focus-within .nav-submenu{display:block}.section-tabs{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin:-8px 0 20px;padding:5px;background:#eaf0f6;border-radius:10px;width:max-content;max-width:100%}.section-tabs a{padding:8px 12px;border-radius:7px;color:#445364;font-weight:650;font-size:14px}.section-tabs a:hover{background:#fff}.section-tabs a.active{background:#fff;color:var(--accent);box-shadow:0 1px 2px rgba(20,35,50,.08)}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px;background:#8b98a6}.status-dot.good{background:var(--good)}.status-dot.bad{background:var(--bad)}.status-dot.warn{background:var(--warn)}
@media(max-width:850px){.nav-dropdown{display:block;width:100%}.nav-dropdown>.nav-parent{display:none}.nav-submenu{display:flex!important;position:static;min-width:0;border:0;box-shadow:none;padding:0;background:transparent;flex-wrap:wrap}.nav-submenu a{padding:12px 8px}}
.identification-facts{grid-template-columns:minmax(150px,220px) minmax(0,1fr)}
.identification-facts dd{min-width:0;overflow-wrap:anywhere;word-break:break-word}
.wrap-code{overflow-wrap:anywhere;word-break:break-word}
.wrap-code code{white-space:normal;overflow-wrap:anywhere}
