:root{--navy:#17396f;--navy2:#203f73;--coral:#ec6b58;--ink:#162f59;--muted:#67778b;--line:#d5dde7;--soft:#f2f5f8;--white:#fff;--sidebar:268px}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;color:var(--ink);background:#f4f6f8;font-size:16px}button,input,select,textarea{font:inherit;color:inherit}
.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);background:#18345f;color:#fff;z-index:20;display:flex;flex-direction:column}
.sidebar nav{display:grid}.sidebar nav button{width:100%;max-width:100%;overflow:hidden;border:0;border-left:4px solid transparent;background:none;color:#e5ebf3;min-height:58px;text-align:left;padding:10px 16px;display:flex;gap:11px;align-items:center;cursor:pointer}
.sidebar nav button span.nav-icon{flex:0 0 22px;color:var(--coral);font-weight:800}
.sidebar .nav-label{display:block;min-width:0;max-width:calc(var(--sidebar) - 72px);color:inherit!important;font-weight:inherit;line-height:1.22;white-space:normal;text-align:left}
.sidebar .nav-label small{display:inline;color:#b9c7d8;font-size:12px;font-weight:400}
.sidebar nav button.active{background:#274879;border-left-color:var(--coral);color:#fff}
.sidebar nav button.active .nav-label small{color:#dce5ef}
.sidebar-foot{margin-top:auto;border-top:1px solid #31507b;padding:20px;display:grid;gap:4px}.sidebar-foot small{color:#aebdd0}
.topbar{position:sticky;top:0;margin-left:var(--sidebar);height:72px;background:#fff;border-bottom:1px solid var(--line);z-index:15;display:flex;align-items:center;padding:0 28px;gap:34px}
.project-nav{display:flex;align-self:stretch}.project-nav button{border:0;border-bottom:4px solid transparent;background:none;padding:0 17px;cursor:pointer}.project-nav button.active{border-bottom-color:var(--coral);color:var(--navy);font-weight:800}
.project-badge{margin-left:auto;border-left:3px solid var(--coral);padding:7px 12px;display:grid;gap:3px;background:#f5f7fa;min-width:220px}.project-badge span{font-size:9px;letter-spacing:.12em;color:var(--muted)}.project-badge strong{font-size:12px}
main{margin-left:var(--sidebar)}.view{display:none;min-height:calc(100vh - 72px)}.view.active{display:block}
.hero{background:var(--navy2);color:#fff;padding:24px 34px;display:flex;justify-content:space-between;align-items:center}
.hero .eyebrow,.panel-label{font-size:10px;font-weight:800;letter-spacing:.18em;color:#8293aa}.hero .eyebrow{color:#aebdd0}
.hero h1{margin:5px 0 3px;font-size:30px}.hero h1 em{font-style:normal;color:var(--coral)}.hero p{margin:0;color:#d8e0eb}
.content{padding:22px 28px 44px}
.panel{background:#fff;border:1px solid var(--line)}
.catalog-head,.projects-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}
.catalog-head h2,.projects-head h2{margin:4px 0;font-size:25px}.catalog-head p,.projects-head p{margin:0;color:var(--muted)}
.catalog-head-actions{display:flex;align-items:center;gap:14px}
.count{font-size:28px;font-weight:800;color:var(--navy);border-left:3px solid var(--coral);padding-left:14px}
input,select,textarea{border:1px solid #bdc9d6;background:#fff;padding:10px 12px;min-height:42px}
button.primary,.savebar button{border:0;background:var(--navy);color:#fff;padding:11px 18px;font-weight:800;cursor:pointer}
button.secondary{border:1px solid #9fb0c5;background:#fff;padding:10px 16px;font-weight:800;cursor:pointer}
.secondary-link{display:inline-flex;align-items:center;border:1px solid #9fb0c5;background:#fff;padding:10px 16px;font-weight:800;color:var(--ink);text-decoration:none}
.project-list{display:grid;gap:9px}
.project-row{background:#fff;border:1px solid var(--line);border-left:5px solid var(--navy);padding:14px;display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center}
.project-row strong{display:block;font-size:17px}.project-row small{color:var(--muted)}
.project-row button{border:1px solid #9fb0c5;background:#fff;padding:9px 13px;font-weight:800;cursor:pointer}
.project-row button.danger{border-color:#e4a69c;color:#9c4438}
.project-shell{padding:18px 24px 40px}
.project-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.project-title h2{margin:3px 0}.project-title p{margin:0;color:var(--muted)}
.empty-page{background:#fff;border:1px solid var(--line);min-height:420px;display:grid;place-items:center;text-align:center}
.empty-page div{max-width:520px}
.empty-page b{display:inline-grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--navy);color:#fff;font-size:22px}
.empty-page h3{font-size:24px;margin:13px 0 7px}.empty-page p{color:var(--muted)}
.form-section{background:#fff;border:1px solid var(--line);padding:17px;margin-bottom:14px}.form-section h3{margin:0 0 13px}
.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}
.form-grid label{display:grid;gap:5px}.form-grid label span{font-size:11px;font-weight:800}
.hint{padding:10px 12px;background:#edf2f7;color:var(--muted);font-size:13px}
dialog{border:0;padding:0;box-shadow:0 20px 60px #0d23465c}
.dialog-body{padding:22px;min-width:420px}.dialog-body h3{margin-top:0}.dialog-body div{display:flex;justify-content:flex-end;gap:8px}
.dialog-body button{padding:9px 14px;border:1px solid var(--line);background:#fff}.dialog-body .danger{background:#9c4438;color:#fff;border:0}
.save-status{margin-left:auto;padding:7px 10px;border-left:3px solid #5b8a70;background:#edf4ef;color:#315f48;font-size:11px;font-weight:800;white-space:nowrap}
.help-button{border:1px solid #9fb0c5;background:#fff;padding:9px 14px;font-weight:800;cursor:pointer;margin-left:auto}
.language-control{display:grid;gap:2px;margin-left:auto}.language-control span{font-size:8px;letter-spacing:.1em;color:var(--muted)}.language-control select{min-height:30px;padding:3px 7px;border:1px solid var(--line);background:#fff}.language-control+.save-status,.language-control~.help-button{margin-left:0}
@media(max-width:1050px){:root{--sidebar:72px}.sidebar nav button:not(.active){font-size:0}.sidebar nav button{justify-content:center}.sidebar nav button span.nav-icon{font-size:18px}.sidebar-foot{display:none}.topbar{gap:12px}.project-nav button{padding:0 8px;font-size:13px}.form-grid{grid-template-columns:1fr}}
@media(max-width:720px){.topbar{height:auto;min-height:72px;flex-wrap:wrap;padding:10px 14px}.project-nav{order:3;width:100%;overflow-x:auto;min-height:45px}.project-badge{min-width:0}.content{padding:15px}}

/* Verbindliches NEONEX-Aktions- und Navigationsraster. */
.topbar{height:78px;padding:0 18px;gap:12px;border-bottom-color:#c6d0dc;box-shadow:0 3px 12px #102d5812}
.topbar .brand{flex:0 0 190px;height:52px}.topbar .brand img{width:100%;height:100%;object-fit:contain}
.project-nav{flex:1 1 auto;min-width:0;align-items:stretch;gap:2px;overflow-x:auto}.project-nav button{flex:1 0 124px;min-width:124px;max-width:172px;min-height:78px;padding:8px 10px;font-size:13px;font-weight:600;line-height:17px;text-align:center;white-space:normal}.project-nav button:hover{background:#f7f9fc}.project-nav button.active{background:linear-gradient(180deg,#fff,#f4f7fa)}
.global-history{display:flex;flex:0 0 auto;border:1px solid #b9c5d4;background:#fff}.history-button{height:36px;min-height:36px;padding:0 11px;border:0;border-right:1px solid #dce4ee;background:#fff;color:#263451;font-size:10px;font-weight:700;white-space:nowrap}.history-button:last-child{border-right:0}.history-button:hover:not(:disabled){background:#fff7f4;color:#263f78}.history-button:disabled{opacity:.42}
.topbar .help-button,.topbar .save-status{height:36px;min-height:36px}.topbar .help-button{margin-left:0;padding:0 12px}.topbar .save-status{display:flex;align-items:center;margin-left:0;padding:0 12px;border-left-width:4px}.topbar .language-control{margin-left:0}.topbar .project-badge{flex:0 1 275px;min-width:205px;max-width:275px;min-height:52px;border-left-width:4px}
.page-head,.project-head,.form-section>header{border-left:4px solid #d86f59;background:linear-gradient(110deg,#fff,#f4f7fa)}.page-head p,.project-head p,.form-section>p{color:#68778d;line-height:1.5}
.actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.actions button,.actions label,.modal-actions button{min-height:36px;padding:7px 12px}
@media(max-width:1350px){.topbar{gap:7px;padding-inline:10px}.topbar .brand{flex-basis:150px}.project-nav button{flex-basis:110px;min-width:110px;padding-inline:6px;font-size:12px}.global-history .history-button{font-size:9px}.topbar .project-badge{max-width:220px}}

/* Verbindliche NEONEX-Marke: offizielle Wortmarke und Soleil-Typografie. */
html,body,button,input,select,textarea{font-family:"soleil","Avenir Next",Avenir,"Segoe UI",Arial,sans-serif}.brand{display:flex;align-items:center;justify-content:center;width:178px;height:54px;padding:10px 16px;background:var(--navy);border:0;cursor:pointer}.brand img{display:block;width:146px;height:auto}.sidebar-foot img{display:block;width:150px;height:auto;margin-bottom:8px}@media(max-width:1050px){.brand{width:132px}.brand img{width:108px}}

/* ---- Globale Datenanforderung fuer neue Kunden ---- */
.template-page{display:grid;gap:18px;min-width:0;max-width:100%}.template-intro,.template-next{padding:22px 24px;display:flex;align-items:center;justify-content:space-between;gap:24px}.template-intro h2,.template-next h2,.template-tables h2{margin:5px 0 7px;font-size:24px}.template-intro p,.template-next p{margin:0;max-width:760px;color:var(--muted);line-height:1.5}.template-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.template-card{background:#fff;border:1px solid var(--line);border-top:4px solid var(--navy);padding:18px}.template-card>span{color:var(--coral);font-weight:800;font-size:12px;letter-spacing:.12em}.template-card h3{margin:8px 0 7px}.template-card p,.template-table-groups p{margin:0;color:var(--muted);line-height:1.5;font-size:14px}.template-tables{padding:22px 24px;min-width:0;max-width:100%}.template-table-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:16px;border-top:1px solid var(--line);border-left:1px solid var(--line);min-width:0;max-width:100%}.template-table-groups>div{padding:16px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0;overflow-wrap:anywhere}.template-table-groups h3{margin:0 0 7px;font-size:16px}.template-next{background:#eaf0f6;border-left:5px solid var(--coral)}
@media(max-width:1200px){.template-grid{grid-template-columns:repeat(2,1fr)}.template-table-groups{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.template-intro,.template-next{align-items:flex-start;flex-direction:column}.template-grid,.template-table-groups{grid-template-columns:1fr}.catalog-head-actions{flex-wrap:wrap}}

/* ---- Company-Analysis-spezifisch: KPI-Kacheln, Cluster-Dashboard, Tabellen ---- */
/* align-items:start ist Absicht: ohne das strecken Grid-Items standardmaessig
   auf die Hoehe der groessten Karte in ihrer Zeile, und der so entstehende
   Freiraum landet NICHT zuverlaessig in der Label-Zeile - die feste
   Label-Mindesthoehe unten wirkt dadurch inkonsistent (Fund 23.08.2026). Ohne
   Streckung bestimmt ausschliesslich die Label-Mindesthoehe die Werteposition. */
.kpi-groups{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:18px;min-width:0;max-width:100%;align-items:stretch}.kpi-group{display:grid;align-content:start;gap:10px;flex:var(--group-grow,1) 1 var(--group-width,480px);min-width:0;max-width:100%;padding:12px;border:1px solid #b7c7dc;border-left:4px solid var(--navy);background:#edf2f8}.kpi-group:nth-child(even){border-color:#e9b9af;border-left-color:var(--coral);background:#fff4f0}.kpi-group-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;min-height:24px}.kpi-group-head span{font-size:12px;font-weight:800;color:var(--navy);text-transform:uppercase;letter-spacing:.08em;overflow-wrap:anywhere}.kpi-group-head small{color:var(--muted);font-size:11px}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr));gap:10px;align-items:stretch;min-width:0;max-width:100%}
.dashboard-overview{padding-top:16px;min-width:0;max-width:100%}.project-shell,.detail-body-area{min-width:0;max-width:100%}

.kpi-card{position:relative;background:#fff;border:1px solid var(--line);border-top:4px solid var(--navy);padding:14px 16px;display:grid;grid-template-rows:48px auto 1fr;height:100%;min-width:0;max-width:100%;overflow-wrap:anywhere;gap:5px;cursor:pointer;text-align:left;font:inherit;transition:border-color .15s,box-shadow .15s}
.kpi-card:hover{border-color:#9fb0c5;box-shadow:0 2px 8px #0d234626}
.kpi-card .kpi-label{padding-right:38px}
.kpi-card-tools{position:absolute;top:6px;right:6px;display:flex;gap:3px;z-index:1}
.kpi-tool-btn{width:19px;height:19px;padding:0;border:1px solid var(--line);border-radius:3px;background:#fff;font-size:10px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--muted);opacity:.75}
.kpi-tool-btn:hover{opacity:1;border-color:var(--coral)}
.kpi-tool-btn.active{background:var(--coral);border-color:var(--coral);opacity:1}
.kpi-group-more{margin-top:2px}
.kpi-group-more>summary{cursor:pointer;font-size:11px;font-weight:700;color:var(--navy);list-style:none;user-select:none}
.kpi-group-more>summary::-webkit-details-marker{display:none}
.kpi-group-more>summary::before{content:'▸ ';}
.kpi-group-more[open]>summary::before{content:'▾ ';}
.kpi-group-more[open]>summary{margin-bottom:8px}
.chart-modal-filters{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:14px}
.chart-modal-filters label{display:flex;flex-direction:column;gap:4px;font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase}
.chart-modal-filters input{font:14px/1.3 inherit;padding:7px 9px;border:1px solid var(--line);border-radius:4px;min-width:220px;text-transform:none;letter-spacing:normal}
.chart-panels{display:grid;gap:16px}
.chart-panel{border:1px solid var(--line);background:#fff;padding:10px 12px}
.chart-panel-head{display:flex;align-items:center;gap:8px;margin-bottom:6px;font-size:13px}
.chart-panel-head strong{color:var(--navy)}
.chart-panel-last{margin-left:auto;color:var(--muted);font-size:12px}
.chart-legend-dot{width:11px;height:11px;border-radius:50%;display:inline-block;flex:none}
.chart-svg-wrap{width:100%}
.chart-svg{width:100%;height:160px;display:block}
.chart-rank{margin-top:18px;border:1px solid var(--line);background:#fff;padding:10px 12px}
.chart-rank .chart-panel-head{margin-bottom:2px}
.chart-rank-hit{cursor:pointer}
.chart-rank-hit:hover{fill:#1f386414}
.chart-back-btn{margin-left:auto;padding:5px 11px;border:1px solid var(--line);background:#fff;border-radius:4px;font-size:12px;cursor:pointer;color:var(--navy)}
.chart-back-btn:hover{background:var(--soft)}
/* Kennzahlen-Label bekommt eine feste Mindesthoehe (3 Zeilen), damit der Wert
   darunter in jeder Kachel derselben Zeile auf gleicher Hoehe steht - egal ob
   die Beschreibung 1, 2 oder 3 Zeilen braucht (Fund 23.08.2026: bei manchen
   Labels reichten 2 Zeilen Reserve nicht, z. B. "Kleinpositionen <1.000 EUR"
   bricht bei 220px Kartenbreite auf 3 Zeilen um - Werte standen dadurch trotz
   2-Zeilen-Reserve noch uneinheitlich hoch). */
.kpi-card .kpi-label{font-size:11px;font-weight:800;letter-spacing:.04em;color:var(--muted);text-transform:uppercase;line-height:1.35;min-height:0;overflow:hidden}
.kpi-card .kpi-value{white-space:nowrap;font-size:26px;font-weight:800;color:var(--navy)}
.kpi-card .kpi-note{font-size:12px;color:var(--muted);line-height:1.35}
/* Nur Titel und Cluster-Auswahl bleiben fixiert; KPIs sind vollst?ndig im Seitenfluss. */
.project-sticky-head{position:sticky;top:var(--topbar,78px);z-index:12;background:#f4f6f8;padding-top:4px;margin:0 -24px;padding-left:24px;padding-right:24px;box-shadow:0 2px 0 var(--line);max-height:min(64vh,600px);overflow-y:auto}
.detail-heading{margin-top:14px;padding:12px 0 14px;border-top:1px solid var(--line)}
.detail-heading strong{font-size:15px;color:var(--navy)}
.detail-body-area{margin-top:14px}
.project-title{margin-bottom:10px}
.cluster-tabs{display:flex;flex-wrap:wrap;gap:6px;padding-bottom:12px;margin-bottom:0}
:root{--sticky-head-h:150px}
.cluster-tabs button{border:1px solid var(--line);background:#fff;color:var(--ink);padding:9px 16px;font-weight:700;cursor:pointer;border-radius:2px}
.cluster-tabs button.active{background:var(--navy);border-color:var(--navy);color:#fff}
.data-table-wrap{overflow-x:auto;background:#fff;border:1px solid var(--line);margin-bottom:18px}
table.data-table{border-collapse:collapse;width:100%;min-width:520px}
table.data-table caption{text-align:left;padding:9px 12px;background:#eaf0f6;font-weight:800;color:var(--navy);caption-side:top}
table.data-table th,table.data-table td{border-bottom:1px solid #e4e9ef;padding:6px 10px;text-align:left;font-size:13px;white-space:nowrap;vertical-align:middle}
table.data-table thead th{background:var(--navy);color:#fff;font-size:11px;text-transform:uppercase;letter-spacing:.03em}
table.data-table tbody tr:nth-child(even){background:#f7f9fb}
table.data-table td.num{text-align:right;font-variant-numeric:tabular-nums}
/* NEONEX-Designprinzip: Sticky Tabellenkoepfe NUR fuer die EINE grosse,
   seitenweit scrollende Analyse-/Validierungstabelle je Seite - relativ zum
   Seitenscroll (--sticky-head-h). Fuer alle anderen Tabellen (Popups,
   Kurzuebersichten) NIE seitenweiten Sticky-Offset verwenden: mehrere
   Tabellen auf derselben Seite wuerden sich sonst denselben fixen
   Bildschirm-Offset "teilen" und ihre Kopfzeile faelschlich mitten ueber
   fremdem Inhalt anzeigen (Fund 23.08.2026). Popup-Tabellen bekommen
   stattdessen einen zum eigenen Scroll-Container lokalen top:0-Sticky
   (.modal-table), da dort immer nur eine Tabelle gleichzeitig sichtbar ist.*/
table.detail-table thead th{position:sticky;top:0;z-index:11;padding-right:22px}
table.modal-table thead th{position:sticky;top:0;z-index:11}
/* Die Analysetabelle scrollt lokal; ihr Kopf bleibt im eigenen Container sichtbar. */
.detail-table-wrap{overflow:auto;max-width:100%;max-height:65vh;isolation:isolate}
table.detail-table th:first-child,table.detail-table td:first-child{position:sticky;left:0;z-index:2;max-width:140px;width:140px;overflow:hidden;text-overflow:ellipsis}
table.detail-table td:first-child{background:#fff}table.detail-table tr:nth-child(even) td:first-child{background:#f7f9fb}table.detail-table thead th:first-child{z-index:12}
.source-banner{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding:11px 14px;border-left:5px solid var(--coral);background:#fff3ef;color:#8a3428;font-size:13px}
.source-banner.anon{border-left-color:#2f7d5c;background:#eef7f1;color:#245f42}
.source-banner.pseudonymized{border-left-color:#b7791f;background:#fff8e8;color:#7a4d09}
.generated-note{color:var(--muted);font-size:12px;margin:-6px 0 18px}

/* ---- Management Summary: dicht, farbig, eine Bildschirmseite ---- */
.project-sticky-head.management-head{position:relative;top:auto;max-height:none;overflow:visible}
.management-head .project-title h2{font-size:19px;margin:2px 0 0}
.management-head .project-title p{font-size:11px;margin:1px 0 0}
.management-head{padding-bottom:8px}
.management-summary{display:grid;gap:10px;margin-top:8px}
.management-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,1.05fr);gap:20px;background:var(--navy);color:#fff;padding:12px 18px;border-left:5px solid var(--coral)}
.management-hero-intro{align-self:center}
.management-hero h2{font-size:18px;margin:3px 0 4px;line-height:1.15}
.management-hero p{margin:0;color:#cdd9e6;max-width:640px;line-height:1.4;font-size:11.5px}
.management-total{display:grid;align-content:center;gap:4px;border-left:1px solid #ffffff33;padding-left:20px}
.management-total>span{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#9fb2c8}
.management-total>strong{font-size:23px;line-height:1}
.management-total>small{color:#c7d2df;font-size:11px}
.management-pot-list{list-style:none;margin:4px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:3px 20px}
.management-pot-list li{display:flex;justify-content:space-between;align-items:baseline;gap:10px;border-top:1px solid #ffffff1f;padding-top:3px;font-size:12px}
.management-pot-list li span{display:flex;flex-direction:column;color:#eef3f9;min-width:0}
.management-pot-list li span i{font-style:normal;font-size:9px;letter-spacing:.05em;text-transform:uppercase;color:#8fa8c6}
.management-pot-list li strong{white-space:nowrap;color:#fff;font-size:13px}
.management-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-items:start}
.management-cluster-card{display:flex;flex-direction:column;background:#eef2f8;border:1px solid #c3d0e2;border-left:4px solid var(--navy);padding:11px 13px}
.management-cluster-card:nth-child(even){background:#fff4f0;border-color:#eac4b9;border-left-color:var(--coral)}
.management-cluster-card header{display:flex;justify-content:space-between;align-items:start;gap:10px}
.management-cluster-card .panel-label{font-size:9px}
.management-cluster-card h3{margin:2px 0 0;font-size:14px;line-height:1.2;color:var(--navy)}
.management-cluster-card header button{border:0;background:none;color:var(--navy);font-weight:800;font-size:11px;cursor:pointer;white-space:nowrap}
.management-cluster-card header button:hover{color:var(--coral)}
.management-summary .kpi-card{cursor:default;padding:8px 10px;height:auto;grid-template-rows:auto auto;gap:3px;background:#fff}
.management-summary .kpi-card:hover{border-color:var(--line);box-shadow:none}
.management-summary .kpi-card .kpi-label{font-size:9px;letter-spacing:.02em;overflow:visible;min-height:0}
.management-summary .kpi-card .kpi-value{font-size:19px}
.management-kpi-grid{margin-top:9px;padding-top:9px;border-top:1px solid #0000001a;grid-template-columns:repeat(auto-fit,minmax(min(120px,100%),1fr));gap:7px}
/* ---- Management Summary: aufklappbare Analyse je Cluster ---- */
.mgmt-analysis{margin-top:9px;border-top:1px solid #0000001a}
.mgmt-analysis>summary{list-style:none;display:flex;align-items:center;gap:7px;padding:8px 0 2px;cursor:pointer;font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--navy);user-select:none}
.mgmt-analysis>summary::-webkit-details-marker{display:none}
.mgmt-analysis>summary:hover{color:var(--coral)}
.mgmt-chevron{display:inline-block;transition:transform .15s ease;font-size:11px;color:var(--coral)}
.mgmt-analysis[open]>summary .mgmt-chevron{transform:rotate(90deg)}
.mgmt-analysis-body{margin-top:6px;padding:12px 14px;background:#fff;border:1px solid var(--line);border-left:4px solid var(--coral)}
.mgmt-lead{margin:0 0 10px;line-height:1.5;color:var(--ink);font-size:12.5px}
.mgmt-sub{display:block;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:5px}
.mgmt-measures{margin:0;padding-left:18px;display:grid;gap:5px}
.mgmt-measures li{line-height:1.45;font-size:12px;color:var(--ink)}
.mgmt-jump{margin-top:11px;border:1px solid var(--navy);background:#fff;color:var(--navy);padding:6px 12px;font-weight:800;font-size:11px;cursor:pointer}
.mgmt-jump:hover{background:var(--navy);color:#fff}
@media(max-width:1200px){.management-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.management-hero{grid-template-columns:1fr}.management-total{border-left:0;border-top:1px solid #ffffff33;padding:12px 0 0}.management-pot-list{grid-template-columns:1fr}.management-grid{grid-template-columns:1fr}}

/* ---- Top-Tabellen als Buttons statt Dauer-Anzeige ---- */
.top-table-buttons{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:-6px 0 18px}
.top-table-buttons .button-group-label{font-size:10px;font-weight:800;letter-spacing:.1em;color:var(--muted);text-transform:uppercase;margin-right:2px}
.top-table-buttons button{border:1px solid #9fb0c5;background:#fff;color:var(--navy);padding:9px 14px;font-weight:700;cursor:pointer;font-size:13px}
.top-table-buttons button:hover{background:var(--soft)}
.top-table-buttons.anomaly-buttons button{border-color:#e9b8ab;color:#a4432f}
.top-table-buttons.anomaly-buttons button:hover{background:#fff3ef}

/* ---- Popup fuer Top-Tabellen ---- */
dialog.table-modal{width:min(96vw,1040px);max-width:1040px;max-height:88vh}
dialog.table-modal .dialog-body{padding:20px;min-width:0;max-height:88vh;display:flex;flex-direction:column}
dialog.table-modal .modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px}
dialog.table-modal .modal-head h3{margin:2px 0 6px;font-size:20px}
dialog.table-modal .modal-head p{margin:0;color:var(--muted);max-width:640px;line-height:1.45}
dialog.table-modal .modal-close{border:0;background:none;font-size:24px;line-height:1;color:var(--muted);cursor:pointer;padding:2px 6px}
dialog.table-modal .data-table-wrap{display:block;overflow:auto;margin-bottom:0;flex:1}
dialog::backdrop{background:#10284fb3}
dialog.chart-modal{width:98vw;max-width:none;height:94vh;max-height:94vh}
dialog.chart-modal .dialog-body{max-height:94vh;height:100%;overflow:auto}
dialog.chart-modal .modal-head p{max-width:none}
/* .dialog-body div{display:flex;justify-content:flex-end;gap:8px} (fuer einfache
   OK/Abbrechen-Dialoge gedacht) trifft ungewollt auch jedes <div> hier im
   Diagramm-Modal und wirft Karten/Zeilen nebeneinander statt gestapelt -
   deshalb ueberall mit #chartModalBody-Spezifitaet (statt nur .chart-modal)
   explizit zurueckgesetzt. */
.chart-modal-toprow{display:flex;flex-wrap:wrap;gap:24px;align-items:flex-start;margin-bottom:14px}
#chartModalFilters{display:flex;flex-wrap:wrap;gap:14px;justify-content:flex-start;margin-bottom:0}
#chartModalSummary{display:block;flex:0 1 auto;min-width:0}
#chartModalSummary .wb-kpis{display:flex;flex-wrap:wrap;gap:10px}
#chartModalSummary .wb-kpi{display:flex;flex-direction:column;flex:0 0 auto;min-width:120px}
#chartModalSummary .wb-kpi small{min-height:14px}
#chartModalBody{display:block}
#chartModalBody .chart-panels{display:grid;grid-template-columns:1fr;gap:18px}
#chartModalBody .chart-panel{display:block}
#chartModalBody .chart-svg-wrap{display:block;width:100%}
#chartModalBody .chart-rank{display:block}
#chartModalBody .chart-pareto-table-wrap{display:block}
#chartModalBody .wb-kpis{display:grid}
#chartModalBody .wb-kpi{display:flex;flex-direction:column}
#chartModalBody .chart-panel-head{display:flex;align-items:center;gap:10px;justify-content:flex-start}
dialog.chart-modal .chart-svg{height:240px}
dialog.chart-modal .chart-rank .chart-svg{height:320px}
dialog.chart-modal .chart-panel-head{font-size:15px}
dialog.chart-modal .chart-panel{padding:12px 18px}
dialog.chart-modal .chart-panel-last{font-size:14px}
dialog.chart-modal .chart-axis{font-size:13px}
dialog.chart-modal .chart-ref-label{font-size:12px}
dialog.chart-modal #chartModalBody .chart-panels{gap:12px}
.chart-count-table-wrap{overflow-x:auto;margin-top:6px}
.chart-count-table{width:max-content;min-width:100%;border-collapse:collapse}
.chart-count-table th,.chart-count-table td{padding:3px 7px;font-size:11px;border:1px solid var(--line);white-space:nowrap;text-align:center}
.chart-count-table th:first-child,.chart-count-table td:first-child{position:sticky;left:0;background:#fff;text-align:left;font-weight:700;color:var(--navy)}
.chart-section-divider{border:0;border-top:1px solid var(--line);margin:22px 0}
.chart-pareto-table-wrap{max-height:420px;overflow:auto;border:1px solid var(--line)}
.chart-pareto-table{border-collapse:collapse;min-width:0;width:100%}
.chart-pareto-table th,.chart-pareto-table td{padding:4px 8px;font-size:11px;line-height:16px;border-bottom:1px solid var(--line);white-space:nowrap;text-align:left}
.chart-pareto-table td.num,.chart-pareto-table th.num{text-align:right}
.chart-pareto-table thead th{position:sticky;top:0;background:#f2f5f8;z-index:1;box-shadow:0 1px 0 var(--line)}
.chart-pareto-table td.pareto-mat{font-weight:700;color:var(--navy)}
.chart-pareto-table tr.pareto-row{cursor:pointer}
.chart-pareto-table tr.pareto-row:hover td,.chart-pareto-table tr.pareto-row.is-open td{background:#eef3f9}
.chart-pareto-table tr.pareto-row td.pareto-mat::before{content:'▸ ';color:var(--muted);font-weight:400}
.chart-pareto-table tr.pareto-row.is-open td.pareto-mat::before{content:'▾ '}
.chart-pareto-table tr.pareto-detail-row td{padding:0;background:#f8fafc}
.pareto-detail-wrap{padding:10px 16px}
.chart-pareto-subtable{width:100%;border-collapse:collapse}
.chart-pareto-subtable th,.chart-pareto-subtable td{padding:3px 8px;font-size:10px;border-bottom:1px solid var(--line);text-align:left}
.chart-pareto-subtable th.num,.chart-pareto-subtable td.num{text-align:right}
.kennzahlen-group{margin-bottom:18px;padding:14px 16px}
.kennzahlen-group h3{margin:0 0 10px;font-size:16px;color:var(--navy)}
.kennzahlen-group h3 small{margin-left:8px;font-weight:400;color:var(--muted);font-size:12px}
table.kennzahlen-table{table-layout:fixed;width:100%;min-width:0}
table.kennzahlen-table th,table.kennzahlen-table td{white-space:normal;vertical-align:top;line-height:1.4}
table.kennzahlen-table th:nth-child(1),table.kennzahlen-table td:nth-child(1){width:13%}
table.kennzahlen-table th:nth-child(2),table.kennzahlen-table td:nth-child(2){width:30%}
table.kennzahlen-table th:nth-child(3),table.kennzahlen-table td:nth-child(3){width:47%}
table.kennzahlen-table th:nth-child(4),table.kennzahlen-table td:nth-child(4){width:10%;white-space:nowrap}
.kz-own-row td{background:#fff8e8}
.kz-own-delete{border:0;background:none;color:var(--muted);cursor:pointer;font-size:14px;line-height:1;padding:0 0 0 6px}
.kz-own-delete:hover{color:#9c4438}
.kz-add-btn{margin-top:10px}
.kz-add-form{margin-top:12px;padding:12px 14px;background:var(--soft);border:1px solid var(--line);display:grid;gap:10px;max-width:640px}
.kz-add-form label{display:grid;gap:4px;font-size:12px;font-weight:700;color:var(--muted)}
.kz-add-form input,.kz-add-form textarea{border:1px solid #bdc9d6;padding:8px 10px;font:inherit}
.kz-add-form textarea{min-height:64px;resize:vertical}
.kz-add-actions{display:flex;gap:8px}
.kz-manager-link{display:inline-block;margin-top:6px;border:0;background:none;color:var(--navy);font-weight:700;font-size:12px;cursor:pointer;padding:0;text-decoration:underline}
.kz-manager-link:hover{color:var(--coral)}
.chart-pareto-table td.pareto-bar-cell{width:210px}
.pareto-bar-track{position:relative;height:16px;width:150px;background:#eef1f5;border-radius:2px}
.pareto-bar-fill{position:absolute;left:0;top:0;bottom:0;background:#1F3864;border-radius:2px;min-width:2px}
.pareto-bar-val{position:absolute;left:100%;top:0;margin-left:6px;line-height:16px;color:#263451;font-variant-numeric:tabular-nums}
.chart-grid{stroke:#e2e7ee;stroke-width:1}
.chart-axis{font-size:12px;fill:#67778b}
.chart-zero{stroke:var(--navy);stroke-width:1.6}
.chart-ref{stroke-width:1.6;stroke-dasharray:6 4;opacity:.85}
.chart-ref-label{font-size:11px;font-weight:700}

/* ---- Excel-artiges Spalten-Filtermenue ---- */
/* .col-menu-btn wird absolut zu seinem th positioniert; sticky th zaehlt
   bereits als Positionierungskontext, daher KEIN zusaetzliches position:relative
   hier setzen - eine zweite Regel auf denselben Selektor hat das vorher die
   Sticky-Position stillschweigend mit position:relative ueberschrieben
   (Fund 23.08.2026). padding-right steht deshalb direkt in der Sticky-Regel oben. */
.col-menu-btn{position:absolute;right:2px;top:50%;transform:translateY(-50%);width:16px;height:16px;border:0;background:rgba(255,255,255,.18);color:#fff;font-size:9px;line-height:16px;cursor:pointer;border-radius:2px}
.col-menu-btn:hover,.col-menu-btn.active{background:var(--coral)}
.col-menu{position:fixed;z-index:60;width:260px;max-height:calc(100vh - 16px);overflow-y:auto;background:#fff;border:1px solid #9fb0c5;box-shadow:0 12px 32px #0d23465c;font-size:13px;font-weight:400;text-transform:none;letter-spacing:0;color:var(--ink)}
.col-menu button.col-menu-sort{display:flex;align-items:center;gap:8px;width:100%;text-align:left;border:0;background:none;padding:8px 12px;cursor:pointer;font-weight:600;color:var(--ink)}
.col-menu button.col-menu-sort:hover{background:var(--soft)}
.col-menu .col-menu-search{padding:8px 10px;border-bottom:1px solid var(--line)}
.col-menu .col-menu-search input{width:100%;min-height:32px;padding:5px 8px;font-size:12px;font-weight:400}
.col-menu .col-menu-list{max-height:220px;overflow-y:auto;padding:4px 0}
.col-menu .col-menu-list label{display:flex;align-items:center;gap:7px;padding:4px 12px;cursor:pointer;font-weight:400}
.col-menu .col-menu-list label:hover{background:var(--soft)}
.col-menu .col-menu-list input{width:14px;height:14px;min-height:auto;padding:0;flex:0 0 auto}
.col-menu .col-menu-list span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.col-menu .col-menu-actions{display:flex;justify-content:space-between;gap:8px;padding:8px 10px;border-top:1px solid var(--line)}
.col-menu .col-menu-actions button{border:1px solid #9fb0c5;background:#fff;padding:6px 12px;font-size:12px;font-weight:700;cursor:pointer}
.col-menu .col-menu-actions button.primary{background:var(--navy);color:#fff;border-color:var(--navy)}
.col-menu .col-menu-selectall{padding:4px 12px;border-bottom:1px solid var(--line);display:flex;gap:6px}
.col-menu .col-menu-selectall button{border:1px solid #9fb0c5;background:#fff;padding:5px 10px;font-size:12px;font-weight:700;cursor:pointer}
th[data-filtered="true"] .col-menu-btn{background:var(--coral)}

/* ---- Datenmodell: Cluster-Auswahl + SAP-Tabellen-Swimlane ---- */
.dm-cluster-select{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:0}
.dm-cluster-btn{border:1px solid var(--line);background:#fff;color:var(--ink);padding:9px 16px;font-weight:700;cursor:pointer;border-radius:2px}
.dm-cluster-btn:hover{background:var(--soft)}
.dm-cluster-btn.active{background:var(--navy);border-color:var(--navy);color:#fff}
.dm-swimlane{background:#fff;border:1px solid var(--line);padding:20px 22px;display:grid;gap:20px}
.dm-lane+.dm-lane{border-top:1px solid var(--line);padding-top:20px}
.dm-lane-label{font-size:11px;font-weight:800;letter-spacing:.1em;color:var(--muted);text-transform:uppercase;margin-bottom:10px}
.dm-lane-boxes{display:flex;flex-wrap:wrap;gap:10px}
.dm-box{min-width:150px;background:#fff;border:1px solid var(--line);border-radius:2px;padding:9px 12px;display:grid;gap:3px;transition:opacity .15s,border-color .15s,background .15s}
.dm-box-code{font-size:10px;font-weight:800;letter-spacing:.1em;color:var(--muted)}
.dm-box-name{font-size:13px;font-weight:700;color:var(--ink);line-height:1.25}
.dm-box-active{border-color:var(--coral);border-width:2px;padding:8px 11px;background:#fff3ef}
.dm-box-active .dm-box-code{color:#a4432f}
.dm-box-dim{opacity:.45;background:repeating-linear-gradient(135deg,#fff,#fff 6px,var(--soft) 6px,var(--soft) 12px)}
/* Noch nicht angebundene SAP-Tabellen: bewusst andere Machart (gestrichelt,
   schraffiert, "FEHLT"-Marke) statt der aktiven Coral-Hervorhebung - das ist
   dauerhaft sichtbar, unabhaengig von der Cluster-Auswahl. */
.dm-box-missing{border-style:dashed;border-color:#c7b6a3;background:repeating-linear-gradient(135deg,#fff,#fff 6px,#f7f1e8 6px,#f7f1e8 12px)}
.dm-box-missing .dm-box-code{color:#9c6b2f}
.dm-box-missing-tag{font-size:9px;font-weight:800;letter-spacing:.08em;color:#9c6b2f;background:#f7ead1;border:1px solid #e7d3ac;border-radius:2px;padding:1px 5px;justify-self:start;margin-top:2px}
.dm-legend{display:flex;flex-wrap:wrap;gap:16px;margin:10px 0 0;font-size:12px;color:var(--muted)}
.dm-legend span{display:inline-flex;align-items:center;gap:6px}
.dm-legend i{width:12px;height:12px;border-radius:2px;display:inline-block;border:1px solid var(--line)}
.dm-legend i.dm-lg-active{background:#fff3ef;border-color:var(--coral)}
.dm-legend i.dm-lg-missing{background:#f7f1e8;border-color:#c7b6a3;border-style:dashed}

/* ---- Kennzahlen-Detailpopup (Tabelle + Berechnungslogik) ---- */
dialog.table-modal.kpi-modal{width:min(96vw,1180px);max-width:1180px}
.kpi-modal-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.85fr);gap:18px;align-items:start;overflow:auto}
.kpi-modal-evidence{display:grid;gap:14px;min-width:0}
.kpi-modal-section{display:grid;gap:8px;min-width:0}
.kpi-modal-grid .data-table-wrap{margin-bottom:0;max-height:300px}
.kpi-modal-grid table.kpi-related-table{min-width:0;width:100%}
.kpi-modal-grid table.kpi-related-table th:last-child,.kpi-modal-grid table.kpi-related-table td:last-child{width:108px;text-align:right;white-space:nowrap}
.kpi-modal-logic{background:var(--soft);border:1px solid var(--line);padding:14px 16px;display:grid;gap:9px;align-content:start;position:sticky;top:0}
.kpi-modal-logic p,.kpi-modal-logic li{margin:0;font-size:13px;line-height:1.5;color:var(--ink)}
.kpi-modal-logic ul{margin:0;padding-left:18px;display:grid;gap:5px}
.kpi-modal-value{font-size:22px;font-weight:800;color:var(--navy)}
.kpi-findings{background:#fff;border:1px solid var(--line);border-left:4px solid var(--coral);padding:13px 15px}
.kpi-findings ul{margin:0;padding-left:19px;display:grid;gap:7px}
.kpi-findings li{font-size:13px;line-height:1.48}
.kpi-modal-caution{padding:9px 10px;background:#fff8e8;border-left:3px solid #b7791f;color:#7a4d09;font-size:12px;line-height:1.45;margin:3px 0 5px}
@media(max-width:760px){.kpi-modal-grid{grid-template-columns:1fr}}

/* ---- Projektbezogene Sichtbarkeit von Auswertungen ---- */
dialog.analysis-manager{width:min(92vw,760px);max-height:88vh;border:0;padding:0;color:var(--ink)}
.analysis-manager form{padding:22px;display:grid;gap:16px;max-height:88vh;overflow:auto}
.analysis-manager .modal-head{display:flex;justify-content:space-between;gap:18px}.analysis-manager .modal-head h3{margin:4px 0 5px;font-size:24px}.analysis-manager .modal-head p{margin:0;color:var(--muted)}
.analysis-manager .modal-close{border:0;background:none;font-size:24px;cursor:pointer;align-self:start}
.analysis-manager [data-analysis-options]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.analysis-manager fieldset{border:1px solid var(--line);margin:0;padding:10px 12px;display:grid;gap:5px;align-content:start}.analysis-manager legend{font-size:11px;font-weight:800;letter-spacing:.08em;color:var(--muted);text-transform:uppercase;padding:0 5px}
.analysis-manager fieldset label{display:flex;gap:9px;align-items:flex-start;padding:5px 2px;font-size:13px;line-height:1.35}.analysis-manager input{width:16px;height:16px;min-height:0;flex:0 0 auto}
.analysis-manager-actions{display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--line);padding-top:14px}
.inventory-entry{display:flex;justify-content:space-between;align-items:center;gap:18px;background:#eef3f8;border:1px solid #bdcad9;border-left:4px solid var(--coral);padding:13px 15px;margin:-6px 0 16px}.inventory-entry>div{display:grid;gap:3px}.inventory-entry strong{font-size:14px}.inventory-entry small{color:var(--muted)}
/* ===== Artikelsimulation v2 - Ein-Bildschirm-Ansicht ===== */
.inv2{--z-ist:#6b7885;--z-soll:#2f6fae;--z-sim:#e0892e;font-family:"soleil","Avenir Next",Avenir,"Segoe UI",Arial,sans-serif;display:flex;flex-direction:column;gap:6px;position:relative;height:calc(100dvh - var(--inv-top,200px) - 12px);min-height:0;padding:4px 0 0;min-width:0;max-width:100%}
.inv2-bar{display:flex;align-items:center;gap:12px;flex:0 0 auto}
.inv2-back{border:1px solid #b7c4d3;background:#fff;color:var(--navy);padding:6px 12px;font-weight:700;font-size:12px;cursor:pointer}
.inv2-h{font-weight:800;font-size:15px;color:var(--navy);text-transform:uppercase;letter-spacing:.06em}
.inv2-artchip{margin-right:130px;flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:var(--soft);border:1px solid var(--line);padding:6px 10px;font-size:13px;color:var(--ink)}
.inv2-choose{border:0;background:var(--navy);color:#fff;padding:7px 14px;font-weight:700;font-size:12px;cursor:pointer}
.inv2-kpis{flex:0 0 auto;display:grid;grid-template-columns:1fr 1fr 1.15fr;gap:10px;min-width:0}
.inv2-zone{border:1px solid var(--line);border-left:4px solid #b7c4d3;background:#fff;padding:5px 8px;min-width:0;display:flex;flex-direction:column;gap:3px}
.inv2-zone.z-ist{border-left-color:var(--z-ist);background:#f1f3f5}
.inv2-zone.z-soll{border-left-color:var(--z-soll);background:#eef3f9}
.inv2-zone.z-sim{border-left-color:var(--z-sim);background:#fdf4ea}
.inv2-zone>header{font-weight:800;font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:var(--navy);display:flex;align-items:center;gap:6px}
.inv2-zone>header em{font-style:normal;font-weight:600;color:var(--muted);text-transform:none;letter-spacing:0}
.inv2-dot{width:8px;height:8px;border-radius:50%;background:var(--z-sim);display:inline-block}
.inv2-kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 8px;align-items:start}
.inv2-kpi{display:flex;flex-direction:column;gap:1px;min-width:0}
.inv2-kpi dt{margin:0;line-height:1.15;font-size:11px;color:var(--muted);font-weight:700;overflow-wrap:anywhere}
.inv2-kpi dd{margin:0;line-height:1.2;font-weight:800;font-size:18px;color:var(--navy);white-space:nowrap}
.inv2-kpi dd small{font-size:10px;font-weight:600;color:var(--muted)}
.inv2-kpi dd em{font-style:normal;color:var(--z-sim);font-weight:800}
.inv2-kpi dd b{font-weight:800}
.inv2-kpi dd span{display:block;font-size:10px;font-weight:700;color:var(--muted)}
.inv2-kpi .pos{color:#2f9d68}.inv2-kpi .neg{color:var(--coral)}
.inv2-total{margin-top:3px;flex-wrap:wrap;display:flex;align-items:baseline;gap:6px;border-top:1px dashed #d9b98f;padding-top:5px;font-weight:700;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.inv2-total b{font-size:18px}.inv2-total small{font-weight:600;text-transform:none}
.inv2-total.is-cost b{color:var(--coral)}.inv2-total.is-save b{color:#2f9d68}
.inv2-params{flex:0 0 auto;display:flex;flex-wrap:wrap;align-items:end;gap:8px 12px;border:1px solid #e6c79f;border-left:4px solid var(--z-sim);background:#fdf4ea;padding:4px 8px}
.inv2-params-lbl{font-weight:800;font-size:10px;letter-spacing:.1em;color:#a5651b;text-transform:uppercase;align-self:center}
.inv2-p{flex:1 1 130px;min-width:0;display:flex;flex-direction:column;gap:3px;font-weight:700;font-size:10px;color:#7c5a2a;text-transform:uppercase;letter-spacing:.04em}
.inv2-p select{font-weight:500;font-size:13px;min-height:34px;width:100%;border:1px solid #cdb593;background:#fff;padding:4px 8px;color:var(--ink);text-transform:none;letter-spacing:0}
.inv2-p input{font-weight:500;font-size:13px;min-height:34px;width:100%;border:1px solid #cdb593;background:#fff;padding:4px 8px;color:var(--ink)}
.inv2-p.is-off{opacity:.42}
.inv2-reset{border:1px solid #cdb593;background:#fff;color:#7c5a2a;font-weight:700;font-size:11px;padding:6px 10px;cursor:pointer;align-self:center}
.inv2-charts{flex:1 1 0;min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto minmax(0,1fr);gap:6px}
.inv2-chart{margin:0;min-height:0;display:flex;flex-direction:column;border:1px solid var(--line);border-top:3px solid #b7c4d3;background:#fff;padding:6px 10px 2px}
.inv2-chart.z-ist{border-top-color:var(--z-ist)}
.inv2-chart.z-simfig{border-top-color:var(--z-sim)}
.inv2-chart figcaption{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;flex:0 0 auto}
.inv2-chart figcaption b{font-weight:800;font-size:12px;color:var(--navy);text-transform:uppercase;letter-spacing:.05em}
.inv2-legend{display:flex;gap:12px;flex-wrap:wrap;font-size:11px;color:var(--muted);font-weight:600}
.inv2-lg{display:inline-flex;align-items:center;gap:5px}
.inv2-lg i{display:inline-block}.inv2-lg i.l{width:16px;height:3px}.inv2-lg i.b{width:9px;height:9px}
.inv2-lg i.ist{background:var(--z-ist)}.inv2-lg i.soll{background:var(--z-soll)}.inv2-lg i.sim{background:var(--z-sim)}
.inv2-lg i.out{background:#e2664f}.inv2-lg i.in{background:#3a9d6a}.inv2-lg i.rec{background:#eda54e}.inv2-lg i.init{background:#3a9d6a}
.inv2-lg i.net{background:var(--z-sim)}.inv2-lg i.short{background:#c0392b}.inv2-lg i.pos{background:var(--z-sim);opacity:.55}.inv2-lg i.pre{background:#2f8f8f}
.inv2-src{font-style:normal;font-weight:700;font-size:9px;padding:1px 5px;text-transform:none;letter-spacing:0}
.inv2-src.ok{background:#e2edf7;color:#2f6fae}.inv2-src.warn{background:#fdeccf;color:#a5651b}
.inv2-p.is-ov input,.inv2-p.is-ov select{border-color:#e0892e;background:#fff7ec;box-shadow:inset 0 0 0 1px #e0892e}
.inv2-warn{flex:0 0 auto;border:1px solid #e0b48a;border-left:4px solid #d98a3c;background:#fdf3e8;color:#8a531b;padding:7px 12px;font-size:12px;line-height:1.4}
.inv2-svg{flex:1 1 auto;min-height:0;width:100%;height:100%;display:block}
.inv2-grid{stroke:#e2e7ee;stroke-width:1}
.inv2-zero{stroke:var(--navy);stroke-width:2}
.inv2-axis{font-size:11px;fill:#67778b}
.inv2-ref{font-size:10px;font-weight:700}
.inv2-hint{flex:1 1 auto;display:flex;align-items:center;justify-content:center;gap:18px;border:1px dashed var(--line);background:#fff;padding:32px;text-align:left}
.inv2-hint>b{display:grid;place-items:center;width:44px;height:44px;border:2px solid var(--coral);color:var(--coral);font-weight:800}
.inv2-hint h3{margin:0 0 6px}.inv2-hint p{margin:0;color:var(--muted);max-width:640px;line-height:1.5}
.inv2-scrim{position:fixed;inset:0;background:#0d2340;opacity:.28;z-index:9997}
.inv2-scrim[hidden]{display:none}
.inv2-drawer{position:fixed;top:0;right:0;bottom:0;width:min(460px,94vw);background:#fff;border-left:4px solid var(--navy);z-index:9998;display:flex;flex-direction:column;box-shadow:-14px 0 40px #0d234033}
.inv2-drawer[hidden]{display:none}
.inv2-drawer>header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--line)}
.inv2-drawer>header b{font-weight:800;font-size:14px;color:var(--navy);text-transform:uppercase;letter-spacing:.05em}
.inv2-x{border:0;background:none;font-size:24px;line-height:1;cursor:pointer;color:var(--muted)}
.inv2-drawer-body{padding:14px 16px;display:flex;flex-direction:column;gap:12px;overflow:auto}
.inv2-f{display:flex;flex-direction:column;gap:4px;font-weight:700;font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.inv2-f small{font-weight:500;text-transform:none;letter-spacing:0}
.inv2-f>select,.inv2-f>input{font-weight:500;font-size:14px;min-height:38px;border:1px solid #9fb0c5;background:#fff;padding:7px 10px;color:var(--ink);text-transform:none;letter-spacing:0;width:100%}
.inv2-f-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.inv2-f-grid .inv2-f>span{display:block}
.inv2-seg{display:flex;gap:4px;flex-wrap:wrap}
.inv2-seg button{flex:1 1 auto;min-width:34px;border:1px solid #9fb0c5;background:#fff;color:var(--ink);font-weight:700;font-size:12px;padding:7px 6px;cursor:pointer}
.inv2-seg button.on{background:var(--navy);color:#fff;border-color:var(--navy)}
.inv2-f.is-off{opacity:.4}
.inv2-drawer-head{display:flex;justify-content:space-between;align-items:center;gap:10px}
.inv2-drawer-head small{font-size:11px;color:var(--muted)}
.inv2-list{border:1px solid var(--line);flex:1 1 auto;min-height:180px;overflow:auto;display:flex;flex-direction:column}
.inv2-pick{text-align:left;border:0;border-bottom:1px solid var(--line);background:#fff;padding:9px 12px;cursor:pointer;display:grid;gap:1px}
.inv2-pick:hover{background:var(--soft)}
.inv2-pick.on{background:#eef3f9;box-shadow:inset 3px 0 0 var(--navy)}
.inv2-pick b{font-weight:700;font-size:13px;color:var(--navy)}
.inv2-pick span{font-size:12px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.inv2-pick small{font-size:11px;color:var(--muted)}
.inv2-empty{padding:20px;color:var(--muted);text-align:center;font-size:13px}
.inventory-loading{min-height:420px;display:grid;place-content:center;text-align:center}.inventory-loading b{font-size:40px}.inventory-loading h3{margin:8px 0}.inventory-loading p{color:var(--muted)}
.inventory-data-gap{min-height:180px;padding:24px;display:flex;align-items:center;justify-content:center;gap:16px;background:#fff;border:1px solid var(--line)}.inventory-data-gap>b{display:grid;place-items:center;width:46px;height:46px;border:2px solid #b7791f;color:#b7791f;font-size:24px}.inventory-data-gap h3{margin:4px 0 6px}.inventory-data-gap p{margin:0;max-width:850px;color:var(--muted);line-height:1.5}
@media(max-width:1180px){.inv2-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.inv2-kpi dd{font-size:15px}.inv2-total{font-size:9px}.inv2-total b{font-size:15px}}
@media(max-width:720px){.analysis-manager [data-analysis-options]{grid-template-columns:1fr}.inv2-f-grid{grid-template-columns:1fr}.inventory-entry{align-items:flex-start;flex-direction:column}}
.analysis-scope{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:8px 12px;border:1px solid var(--line);border-left:4px solid var(--coral);background:#fff}
.analysis-scope>div{display:grid;grid-template-columns:auto auto;align-items:baseline;column-gap:10px;min-width:0}.analysis-scope .panel-label{grid-column:1}.analysis-scope strong{grid-column:2;color:var(--navy)}.analysis-scope small{grid-column:1/-1;color:var(--muted);margin-top:2px}
.analysis-scope label{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.analysis-scope select{min-width:210px;height:34px;border:1px solid var(--line);background:#fff;color:var(--navy);font:700 13px var(--font);padding:0 30px 0 10px}
.scope-kpi-lock{grid-column:1/-1;display:flex;gap:12px;align-items:baseline;padding:12px 14px;border-left:4px solid #b3862f;background:#fff8e7;color:var(--navy)}.scope-kpi-lock span{color:var(--muted);font-size:12px}.kpi-group-werk{--group-grow:6}.kpi-group-werk .kpi-group-head span{color:var(--coral)}.kpi-card-werk{grid-template-rows:auto auto 1fr}.kpi-card-werk .kpi-note{font-size:10px;line-height:1.35;color:var(--muted)}.kpi-group-rollup{--group-grow:6}.kpi-group-rollup .kpi-group-head span{color:var(--coral)}.kpi-card-rollup .kpi-value{font-size:24px}.kpi-card-rollup-eur{border-top-color:#2f6fae;background:#eef3f9}.kpi-card-rollup-eur .kpi-value{color:#2f6fae}.kpi-card-rollup-stada{border-top-color:#e0892e;background:#fdf4ea}.kpi-card-rollup-stada .kpi-value{color:#b06a12}.kpi-group-head .kpi-key{display:inline-block;width:9px;height:9px;margin-right:3px;vertical-align:middle}.kpi-group-head .kpi-key.eur{background:#2f6fae}.kpi-group-head .kpi-key.stada{background:#e0892e}
@media(max-width:900px){.analysis-scope{align-items:stretch;flex-direction:column}.analysis-scope label{justify-content:space-between}.analysis-scope select{flex:1}.scope-kpi-lock{display:grid}}

/* Die Sprachwahl ist als kompakte DE/EN-Box selbsterklaerend. */
.topbar .language-control{display:block;flex:0 0 58px;margin-left:0}
.topbar .language-control select{width:58px;height:36px;min-height:36px;padding:0 22px 0 9px;border:1px solid #b9c5d4;background-color:#fff;color:var(--navy);font:700 12px var(--font)}
@media(max-width:900px){.topbar .project-badge{display:none}}
table.data-table.abcxyz-impact-table{width:1160px;min-width:0;max-width:100%;table-layout:fixed}
.abcxyz-impact-table input{-moz-appearance:textfield}
.abcxyz-impact-table input::-webkit-outer-spin-button,.abcxyz-impact-table input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
section.abcxyz-impact{max-width:1400px}
table.data-table.abcxyz-impact-table{width:1400px}
table.data-table.abcxyz-impact-table td:nth-child(3){white-space:normal;overflow-wrap:anywhere;line-height:1.2}
.inventory-article-row{cursor:pointer}.inventory-article-row:focus-visible td{outline:2px solid var(--coral);outline-offset:-2px}
.abcxyz-impact{margin:8px 0 10px;min-width:0;max-width:1180px;padding:8px 10px}.abcxyz-impact-head{display:flex;justify-content:space-between;gap:12px;align-items:start}.abcxyz-impact-head h3{margin:2px 0 3px;font-size:15px}.abcxyz-impact-head p{margin:0;color:var(--muted);font-size:11px;line-height:1.3;max-width:820px}.abcxyz-class-select{display:grid;gap:3px;min-width:92px;font-size:11px;font-weight:700;color:var(--muted)}.abcxyz-class-select select{min-width:74px;height:28px}.abcxyz-impact-kpis{display:grid;grid-template-columns:repeat(2,minmax(170px,230px));gap:6px;margin:7px 0}.abcxyz-impact-kpis .wb-kpi{padding:6px 9px}.abcxyz-impact-kpis .wb-kpi b{font-size:17px}.abcxyz-impact-table{width:100%;min-width:0;max-width:1160px;table-layout:fixed}.abcxyz-impact-table th,.abcxyz-impact-table td{white-space:nowrap;padding:3px 5px;font-size:10px}.abcxyz-impact-table th:nth-child(1){width:6%}.abcxyz-impact-table th:nth-child(2){width:7%}.abcxyz-impact-table th:nth-child(3){width:18%}.abcxyz-impact-table th:nth-child(4),.abcxyz-impact-table th:nth-child(6),.abcxyz-impact-table th:nth-child(7),.abcxyz-impact-table th:nth-child(9){width:12%}.abcxyz-impact-table th:nth-child(5),.abcxyz-impact-table th:nth-child(8){width:10%}.abcxyz-impact-table .abcxyz-impact-group th{background:#e7ecf4;color:var(--navy);font-size:10px;text-align:left}.abcxyz-impact-row{cursor:pointer}.abcxyz-impact-row:hover td,.abcxyz-impact-row:hover th,.abcxyz-impact-row.is-selected td,.abcxyz-impact-row.is-selected th{background:#eef3f9}.abcxyz-impact-table input{box-sizing:border-box;width:52px;padding:2px 4px;border:1px solid #b9c5d4;border-bottom:2px solid var(--navy);background:#fffdf3;color:var(--ink);font:inherit;text-align:right}.abcxyz-impact-table input:focus{outline:2px solid var(--coral);outline-offset:1px}


 .inv2-assessment{position:absolute;top:4px;right:145px;z-index:60;max-width:calc(100vw - 32px);border:1px solid var(--line);border-left:4px solid var(--coral);background:#fff;padding:6px 10px}.inv2-assessment summary{cursor:pointer;font-weight:700;font-size:12px}.inv2-assessment[open]{position:fixed;top:calc(var(--sticky-head-h,190px) + 8px);right:24px;width:560px;max-height:calc(100dvh - var(--sticky-head-h,190px) - 24px);overflow-y:auto;box-shadow:0 8px 28px #18345f33;z-index:9996;padding:12px 16px}.inv2-assessment[open] summary{position:sticky;top:-12px;background:white;padding:10px 0;border-bottom:1px solid var(--line)}.inv2-assessment[open] summary::after{content:" \00d7";float:right;font-size:20px}.inv2-assessment-grid{display:grid;grid-template-columns:1fr;gap:4px}.inv2-assessment article{min-width:0;overflow-wrap:anywhere}.inv2-assessment h3{font-size:14px;margin:8px 0 4px}.inv2-assessment p{font-size:13px;line-height:1.45;margin:6px 0}.inv2-method{border-top:1px solid var(--line);padding-top:8px}

.inventory-launches{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:8px 0 14px;min-width:0}.inventory-launches button{min-width:0;white-space:normal;overflow-wrap:anywhere;padding:12px 8px}.inventory-workbench{min-width:0}.inventory-workbench .workbench-controls{display:flex;gap:12px;flex-wrap:wrap;align-items:end;margin:12px 0}.workbench-controls label{display:grid;gap:4px;font-size:12px}.workbench-controls input{width:95px}.workbench-controls select{min-width:140px}.workbench-table{max-height:60vh;overflow:auto;max-width:100%}.workbench-table th{position:sticky;top:0;background:var(--navy);color:white}.workbench-summary{padding:10px;border-left:4px solid var(--coral);background:var(--soft);margin:10px 0}.workbench-controls select{min-width:120px;max-width:170px}.workbench-controls .wb-check{grid-auto-flow:column;align-items:center;gap:6px;font-weight:600}.workbench-note{font-size:11px;color:var(--muted);line-height:1.45;margin:6px 2px 0}.wb-table{min-width:1820px;border-collapse:separate;border-spacing:0}.wb-table thead th{position:sticky;background:var(--navy);color:#fff;z-index:2}.wb-table thead tr.wb-grp th{top:0;height:22px;font-size:10px;border-right:1px solid #2d4a86;letter-spacing:.04em}.wb-table thead tr:not(.wb-grp) th{top:22px;font-size:10px}.wb-table td{border-bottom:1px solid #e4e9ef;padding:5px 8px;font-size:12px;white-space:nowrap}.wb-table td.num{text-align:right;font-variant-numeric:tabular-nums}.wb-table .wb-txt{max-width:180px;overflow:hidden;text-overflow:ellipsis}.wb-table .wb-pot{font-weight:800;color:var(--navy)}.wb-table tr.has-hoch td:first-child{box-shadow:inset 3px 0 0 var(--coral)}.wb-table tr.has-mittel td:first-child{box-shadow:inset 3px 0 0 #d98a3c}.wb-table tbody tr:hover td{background:#eef3f9}.wb-sort{cursor:pointer;user-select:none;text-align:right}.wb-sort:hover{background:#22458a}.wb-sort.on.asc::after{content:' B2';font-size:9px}.wb-sort.on.desc::after{content:' BC';font-size:9px}.wb-table td.wb-wrap{white-space:normal;min-width:200px;max-width:320px;line-height:1.35}.wb-table td.wb-begr{color:var(--muted);font-size:11px;max-width:280px;white-space:normal;line-height:1.35}.wb-flag{display:inline-block;font-size:10px;font-weight:700;padding:1px 5px;margin:1px 2px 1px 0;border-radius:2px;line-height:1.35}.wb-flag.hoch{background:#fdece9;color:#b23b28}.wb-flag.mittel{background:#fdf3e5;color:#9a5b16}.wb-flag.info{background:#eef1f4;color:#5f6f82}.wb-ok{color:#3a9d6a;font-size:11px}.wb-table .wb-diff{color:#b23b28;font-weight:700}.wb-table td.wb-mark{font-weight:700}.wb-table td.wb-mark.hoch{background:#fdece9;color:#b23b28}.wb-table td.wb-mark.mittel{background:#fdf3e5;color:#9a5b16}.wb-table td.wb-mark.info{background:#eef1f4;color:#5f6f82}.wb-table tbody tr:hover td.wb-mark{filter:brightness(.97)}.wb-kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px;margin:12px 0}.wb-kpi{border:1px solid var(--line);border-left:4px solid var(--navy);background:#fff;padding:8px 11px;display:flex;flex-direction:column;gap:1px;text-align:left;min-width:0}.wb-kpi b{font-size:19px;font-weight:800;color:var(--navy);white-space:nowrap}.wb-kpi span{font-size:11px;font-weight:700;color:var(--muted);line-height:1.25}.wb-kpi small{font-size:10px;color:var(--muted)}.wb-kpi.is-link{cursor:pointer;font:inherit}.wb-kpi.is-link:hover{border-left-color:var(--coral);background:var(--soft)}.wb-kpi.is-link.on{border-left-color:var(--coral);background:#fff4f0}
