:root{
  --bg:var(--ground);
  --panel:var(--surface);
  --divider:var(--line);
  --primary:var(--info);
  --accent-soft:var(--raised);
  --accent-fill:var(--accent);
  --hover:var(--raised);
  --ok-soft:var(--surface);
  --warn:var(--accent-text);
  --warn-soft:var(--surface);
  --bad:var(--danger);
  --bad-soft:var(--surface);
  --info-soft:var(--surface);
  --epic:var(--epic-fg);
  --epic-soft:var(--epic-bg);
  --control-line:var(--muted);
  --focus:var(--info);
  --st-fertig:var(--ok);
  --st-teilweise:var(--info);
  --st-offen:var(--muted);
  --st-fertig-ink:var(--ok-text);
  --st-teilweise-ink:var(--info);
  --st-offen-ink:var(--muted);
  --code-bg:var(--code);
  --code-header:var(--code);
  --shadow:var(--overlay-shadow);
  --paper:var(--ground);
  --white:var(--surface);
  --teal:var(--info);
  --blue:var(--info);
  --accent-bg:var(--raised);
  --accent-fg:var(--accent-text);
  --success-bg:var(--surface);
  --success-fg:var(--ok);
  --warning-bg:var(--surface);
  --warning-fg:var(--accent-text);
  --error-bg:var(--surface);
  --error-fg:var(--danger);
  --info-bg:var(--surface);
  --info-fg:var(--info);
  --header:var(--surface);
  --header-ink:var(--ink);
  --scrollbar-track:var(--surface);
  --scrollbar-thumb:var(--muted);
  --scrollbar-hover:var(--info);
  --on-ok:var(--ground);--on-warn:var(--ground);--on-bad:var(--ground);--on-info:var(--ground);--on-st-fertig:var(--ground);
}
html[data-theme=light]{--on-ok:var(--surface);--on-warn:var(--surface);--on-bad:var(--surface);--on-info:var(--surface);--on-st-fertig:var(--surface)}

*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);
  font-family:var(--sans);
  font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}
code,.mono{font-family:var(--mono);font-size:.85em}
a{color:var(--info);text-decoration:none}
a:hover{text-decoration:underline}
.muted{color:var(--muted);font-weight:400}
button,input,select,textarea{font:inherit;color:var(--ink);background:var(--panel);accent-color:var(--accent-text)}
input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}
:is(a,button,input,select,textarea,summary,[tabindex]):focus-visible{
  outline:2px solid var(--focus);outline-offset:3px}

header.top{position:sticky;top:0;z-index:30;background:var(--panel);border-bottom:1px solid var(--line);
  min-height:64px;padding:12px 24px;display:flex;align-items:center;gap:18px;flex-wrap:wrap}
header.top h1{font-size:17px;margin:0;font-weight:700;letter-spacing:-.01em}
header.top .sub{font-size:12.5px;color:var(--muted)}
.grow{flex:1}
.btn{border:1px solid var(--control-line);background:var(--panel);color:var(--ink);border-radius:var(--radius);
  padding:7px 12px;font-size:13px;font-weight:500;cursor:pointer;font-family:inherit}
.btn:hover{border-color:var(--accent-text);background:var(--hover);color:var(--accent-text)}

.kpis{display:flex;gap:10px;flex-wrap:wrap;padding:18px 22px 4px}
.kpi{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:12px 16px;min-width:132px;box-shadow:none}
.kpi b{display:block;font-size:22px;line-height:1.2;letter-spacing:-.02em}
.kpi span{font-size:12px;color:var(--muted)}

:root{--scrollbar-track:var(--panel);--scrollbar-thumb:var(--control-line);--scrollbar-hover:var(--accent)}
@media (forced-colors:none){
  *{scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track);scrollbar-width:auto}
  @supports not (scrollbar-color:auto){
    ::-webkit-scrollbar{width:12px;height:12px}
    ::-webkit-scrollbar-track,::-webkit-scrollbar-corner{background:var(--scrollbar-track)}
    ::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border:2px solid var(--scrollbar-track);border-radius:var(--radius)}
    ::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-hover)}
  }
}
@media (forced-colors:active){*{scrollbar-color:auto;scrollbar-width:auto}}

footer{padding:20px 22px 40px;color:var(--muted);font-size:12px;text-align:center}

.site-nav{display:flex;gap:8px;flex-wrap:wrap;padding:12px 24px;align-items:center}
.site-nav a,.site-nav summary{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:9px 13px;
  border-radius:var(--radius);font-size:12px;font-weight:600;line-height:20px;color:var(--ink);
  background:var(--panel);border:1px solid var(--control-line);text-decoration:none;cursor:pointer}
.site-nav a:hover{color:var(--accent-text);background:var(--accent-soft);text-decoration:none}
.site-nav a.active,.site-nav summary.active,.site-nav summary:hover,.site-nav details[open]>summary{color:var(--accent-text);background:var(--accent-soft)}
.site-nav details{position:relative}.site-nav summary{list-style:none}.site-nav summary::-webkit-details-marker{display:none}
.site-nav summary::after{content:'';width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin:-3px 0 0 6px}
.site-nav details[open]>summary::after{transform:rotate(225deg);margin-top:3px}
.site-nav .nav-menu{position:absolute;top:calc(100% + 6px);left:0;min-width:240px;max-width:min(340px,calc(100vw - 24px));
  padding:6px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--overlay-shadow);z-index:50;max-height:65vh;overflow:auto}
.site-nav .nav-menu a{display:flex;border:0;border-radius:var(--radius);min-height:38px;padding:8px 10px;font-size:13px}
.rail-workspace-navigation{display:grid;gap:var(--s4)}
.rail-workspace-group{border:0;margin:0}.rail-workspace-group>summary.nl-nav-label{display:flex;align-items:center;justify-content:space-between;gap:var(--s2);list-style:none;cursor:pointer;padding:var(--s1) var(--s2);margin:0;min-height:32px}
.rail-workspace-group>summary::-webkit-details-marker{display:none}.rail-workspace-group>summary::after{content:'';flex:none;width:6px;height:6px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(-45deg)}
.rail-workspace-group[open]>summary::after{transform:rotate(45deg);margin-top:-3px}.rail-workspace-group>summary:hover{color:var(--ink);background:var(--raised);border-radius:var(--radius)}
.rail-workspace-links{display:grid;gap:var(--s1);padding-top:var(--s1)}.rail-workspace-links>a{white-space:normal;overflow-wrap:anywhere}
header.top.report-header{display:grid;grid-template-columns:auto minmax(0,1fr) auto}
.report-brand{min-width:0;display:flex;align-items:center;gap:12px}.report-brand-copy{min-width:0}
.report-brand-title{display:block;font-size:14px;font-weight:650;overflow-wrap:anywhere}
.report-mark{display:grid;place-items:center;flex:none;width:34px;height:34px;background:var(--accent-soft);color:var(--accent-text);border-radius:var(--radius);font-size:11px;font-weight:700}
.report-header .site-nav{padding:0;justify-content:center;min-width:0}
.report-tools{display:flex;align-items:center;justify-content:flex-end;gap:12px;white-space:nowrap}
header.top.report-header--rail{grid-template-columns:minmax(0,1fr) auto}
.report-clock{font-size:12px;font-variant-numeric:tabular-nums;color:var(--ink)}
#themeBtn.report-theme-button{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;background:var(--accent-soft);color:var(--accent-text);flex:none}
#themeBtn svg{display:block}
.report-breadcrumbs{display:flex;align-items:center;min-height:60px;padding:12px 24px;background:var(--panel);border-bottom:1px solid var(--line);font-size:12px}
.report-breadcrumbs ol{display:flex;align-items:center;flex-wrap:wrap;list-style:none;gap:5px 0;padding:0;margin:0;min-width:0}
.report-breadcrumbs li{display:flex;align-items:center;min-width:0}
.report-breadcrumbs li+li::before{content:'';width:6px;height:6px;border-top:1.5px solid var(--muted);border-right:1.5px solid var(--muted);transform:rotate(45deg);margin:0 13px 0 9px;flex:none}
.report-breadcrumbs a,.report-breadcrumbs [aria-current]{display:inline-flex;align-items:center;min-height:32px;padding:4px 8px;border-radius:var(--radius);overflow-wrap:anywhere}
.report-breadcrumbs a{color:var(--muted)}.report-breadcrumbs a:hover{color:var(--accent-text);background:var(--accent-soft);text-decoration:none}
.report-breadcrumbs [aria-current]{background:var(--accent-soft);color:var(--accent-text);font-weight:650}
.report-page-content{padding:20px 24px 32px;max-width:1600px;margin:0 auto}
.report-shell{height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden}
.report-shell>header{flex:none}.report-shell .document-layout{display:grid;grid-template-columns:270px minmax(0,1fr);flex:1;min-height:0;min-width:0;margin:0;max-width:none;padding:0;gap:0;align-items:stretch}
.report-shell .document-rail{position:static;min-height:0;max-height:none;overflow:auto;padding:0 12px 20px;background:var(--panel);border:0;border-right:1px solid var(--line);border-radius:0;box-shadow:none;font-size:12px}
.document-rail-header{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:60px;border-bottom:1px solid var(--line);margin-bottom:12px;padding:10px 0}
.document-rail-toggle{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;flex:none}
.document-rail-toggle svg{display:block;transition:transform .15s}.rail-collapsed .document-rail-toggle svg{transform:rotate(180deg)}
.report-shell .document-main{min-width:0;min-height:0;overflow:auto;padding:0 24px 32px;overscroll-behavior:contain}
.document-main>.report-breadcrumbs{margin:0 -24px 20px}.document-main>.kpis{padding:0;margin:0 0 20px}
.report-shell.rail-collapsed .document-layout{grid-template-columns:56px minmax(0,1fr)}
.rail-collapsed .document-rail-content,.rail-collapsed .document-rail-header>strong{display:none}
.rail-collapsed .document-rail-header{justify-content:center}
@media(max-width:700px){.report-shell .document-layout{grid-template-columns:min(240px,65vw) minmax(0,1fr)}.report-shell .document-main{padding:0 12px 24px}.document-main>.report-breadcrumbs{margin:0 -12px 16px}.report-shell .document-rail{padding:0 8px 16px}.document-rail-header{min-height:54px}.report-shell.rail-collapsed .document-layout{grid-template-columns:48px minmax(0,1fr)}}
@media(max-width:1200px){header.top.report-header{grid-template-columns:minmax(0,1fr) auto;padding:12px 20px;gap:12px}.report-header .site-nav{grid-row:2;grid-column:1/-1;justify-content:flex-start}.report-tools{grid-column:2;grid-row:1}}
@media(max-width:700px){header.top,header.top.report-header{padding:10px 12px}.site-nav{padding:10px 12px;gap:6px}.report-clock{font-size:10px}.report-tools{gap:8px}.report-breadcrumbs{padding:10px 12px;min-height:54px}.site-nav a,.site-nav summary{font-size:11px;padding:7px 9px;min-height:40px}}

@media print{
  header.top,header.top.report-header,.kpis,.site-nav,.report-breadcrumbs{display:none}
  .report-shell{height:auto;display:block;overflow:visible}.report-shell .document-layout{display:block}.report-shell .document-rail{display:none}.report-shell .document-main{overflow:visible;padding:0}
}

.report-page-layout.nl-app{display:grid;grid-template-columns:var(--rail-width) minmax(0,1fr);height:100vh;height:100dvh;min-height:0;overflow:hidden}
.report-page-rail.nl-rail{min-height:0;overflow:auto;padding:var(--s4) var(--s3);gap:var(--s5);border-right:1px solid var(--line)}
.report-page-rail nav{display:grid;gap:var(--s1)}
.report-page-main.nl-main{min-height:0;min-width:0;overflow:auto;padding:0}
.report-page-main>header.top.report-header{position:sticky;top:0;padding:var(--s3) var(--s5);min-height:64px;z-index:40}
.report-page-main>.wrap{max-width:none;margin:0;padding:var(--s5)}
.report-page-main>.report-breadcrumbs{min-height:44px;padding:var(--s2) var(--s5);background:var(--ground)}
.report-shell .document-rail .nl-brand{padding:0;font-size:14px}
.kpis{gap:var(--s5);padding:var(--s3) var(--s5);font:12px/20px var(--mono)}
.kpi{display:flex;gap:var(--s2);align-items:baseline;min-width:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none}
.kpi b{font-size:16px;font-weight:500}.kpi span{font-size:12px}
@media(max-width:720px){
 .report-page-layout.nl-app{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr)}
 .report-page-rail.nl-rail{border-right:0;border-bottom:1px solid var(--line);max-height:32vh;padding:var(--s3)}
 .report-page-rail nav{display:flex;flex-wrap:wrap;gap:var(--s1)}
 .report-page-main>header.top.report-header{padding:var(--s3);position:relative}
 .report-page-main>.wrap{padding:var(--s4)}
}
