*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#f4f3ef;--surface:#fff;--surface2:#f0eee9;--border:#00000014;--text:#1a1a18;--muted:#6b6a66;--accent:#e63b2b;--accent-soft:#fdf0ef;--green:#1d9e75;--green-soft:#e1f5ee;--amber:#ba7517;--amber-soft:#faeeda;--blue:#185fa5;--blue-soft:#e6f1fb;--radius:10px;--radius-lg:14px}body{background:var(--bg);color:var(--text);font-family:DM Sans,sans-serif;font-size:14px;line-height:1.5}.header{background:var(--surface);border-bottom:.5px solid var(--border);justify-content:space-between;align-items:center;height:54px;padding:0 2rem;display:flex}.header-brand{align-items:center;gap:12px;font-size:13px;display:flex}.logo-dot{background:var(--accent);border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;display:flex}.logo-dot svg{fill:#fff;width:12px;height:12px}.header-meta{color:var(--muted);font-size:12px}.main{max-width:1320px;margin:0 auto;padding:1.75rem 2rem}.breadcrumb{color:var(--muted);cursor:pointer;align-items:center;gap:6px;width:fit-content;margin-bottom:14px;font-size:12.5px;display:flex}.breadcrumb:hover{color:var(--text)}.page-title{margin-bottom:4px;font-size:20px;font-weight:700}.page-sub{color:var(--muted);margin-bottom:20px;font-size:13px}.kpi-row{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:22px;display:grid}.kpi-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px 18px}.kpi-card--placeholder{border-style:dashed}.kpi-label{color:var(--muted);margin-bottom:6px;font-size:12px}.kpi-value{font-size:24px;font-weight:700}.kpi-value.accent{color:var(--accent)}.kpi-value--muted{color:var(--muted);font-size:18px;font-style:italic}.kpi-sub{color:var(--muted);margin-top:3px;font-size:11.5px}.insights-row{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin-bottom:22px;display:grid}.insight-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px 18px}.insight-title{margin-bottom:2px;font-size:13px;font-weight:700}.insight-sub{color:var(--muted);margin-bottom:14px;font-size:11.5px}.insight-empty{color:var(--muted);text-align:center;padding:20px 0;font-size:12.5px;font-style:italic}.donut-layout{align-items:center;gap:16px;display:flex}.donut{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:96px;height:96px;display:flex}.donut-center{background:var(--surface);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:62px;height:62px;display:flex}.donut-center-value{font-size:15px;font-weight:700}.donut-center-label{color:var(--muted);text-align:center;max-width:54px;font-size:9px;line-height:1.2}.donut-legend{flex-direction:column;flex:1;gap:6px;min-width:0;font-size:12px;list-style:none;display:flex}.donut-legend li{align-items:center;gap:7px;display:flex}.legend-swatch{border-radius:2px;flex-shrink:0;width:9px;height:9px}.legend-label{color:var(--text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.legend-value{color:var(--muted);font-variant-numeric:tabular-nums;margin-left:auto;padding-left:8px}.hbar-chart{flex-direction:column;gap:12px;display:flex}.hbar-row{align-items:center;gap:10px;display:flex}.hbar-label{color:var(--text);flex-shrink:0;width:76px;font-size:12px}.hbar-track{background:var(--surface2);border-radius:4px;flex:1;height:20px;overflow:hidden}.hbar-fill{border-radius:4px;min-width:4px;height:100%;transition:width .2s}.hbar-value{text-align:right;font-variant-numeric:tabular-nums;width:30px;font-size:12.5px;font-weight:700}.toolbar{flex-wrap:wrap;align-items:flex-end;gap:14px;margin-bottom:14px;display:flex}.search-box{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:8px;padding:9px 14px;display:flex}.search-box input{background:0 0;border:none;outline:none;width:100%;font-family:inherit;font-size:13.5px}.filter-field{flex-direction:column;gap:5px;display:flex}.filter-field-label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:10.5px;font-weight:700}.filter-field select,.filter-field input[type=date],.filter-field input[type=email],.filter-field input[type=password]{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);min-width:150px;padding:9px 12px;font-family:inherit;font-size:13px}.reset-button{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--muted);cursor:pointer;padding:9px 14px;font-family:inherit;font-size:13px}.reset-button:hover{color:var(--text);border-color:var(--muted)}.logout-button{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--muted);cursor:pointer;padding:6px 12px;font-family:inherit;font-size:12.5px}.logout-button:hover{color:var(--text);border-color:var(--muted)}.login-screen{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;gap:14px;width:100%;max-width:340px;padding:32px 28px;display:flex}.login-brand{align-items:center;gap:10px;font-size:13px;font-weight:600;display:flex}.login-title{margin-top:6px;font-size:17px;font-weight:700}.login-sub{color:var(--muted);margin-top:-10px;margin-bottom:4px;font-size:12.5px}.login-error{color:var(--accent);font-size:12.5px}.login-button{border-radius:var(--radius);cursor:pointer;background:var(--accent);color:#fff;border:none;margin-top:4px;padding:10px 14px;font-family:inherit;font-size:13.5px;font-weight:600}.login-button:disabled{opacity:.6;cursor:default}.login-button:not(:disabled):hover{filter:brightness(1.05)}.login-button--entra{background:var(--surface);color:var(--text);border:1px solid var(--border)}.filter-row{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.filter-chip{cursor:pointer;background:var(--surface);border:1px solid var(--border);color:var(--muted);border-radius:20px;padding:6px 14px;font-size:12.5px;font-weight:600}.filter-chip.active{background:var(--accent);border-color:var(--accent);color:#fff}.filter-chip:hover:not(.active){border-color:var(--muted);color:var(--text)}.result-count{color:var(--muted);margin-bottom:10px;font-size:12px}table.data-table{border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;overflow:hidden}table.data-table th{text-align:left;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);border-bottom:1px solid var(--border);background:var(--surface2);padding:10px 16px;font-size:11.5px}table.data-table th.sortable-th{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}table.data-table th.sortable-th:hover{color:var(--text)}table.data-table td{border-bottom:1px solid var(--border);padding:12px 16px;font-size:13.5px}table.data-table tr:last-child td{border-bottom:none}table.data-table tr.row-hover:hover{background:var(--surface2)}.link-cell{color:var(--blue);cursor:pointer;font-weight:600}.link-cell:hover{text-decoration:underline}.badge{white-space:nowrap;border-radius:20px;padding:3px 10px;font-size:11px;font-weight:700}.badge.offen{background:var(--amber-soft);color:var(--amber)}.badge.fremdlager{background:var(--blue-soft);color:var(--blue)}.badge.fakturiert{background:var(--green-soft);color:var(--green)}.badge.unsicher{background:var(--accent-soft);color:var(--accent);margin-left:6px}tr.row-fremdlager,tr.row-fremdlager:hover{background:var(--blue-soft)}.detail-head{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);justify-content:space-between;align-items:center;margin-bottom:20px;padding:20px 22px;display:flex}.detail-head-title{font-size:18px;font-weight:700}.detail-head-meta{color:var(--muted);margin-top:4px;font-size:12.5px}.detail-head-stat{text-align:right}.detail-head-stat .num{color:var(--accent);font-size:20px;font-weight:700}.detail-head-stat .lbl{color:var(--muted);font-size:11.5px}.section-label{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;margin:22px 0 8px;font-size:12.5px;font-weight:700}.section-label:first-child{margin-top:0}
