@font-face {
  font-family: Roboto;
  src: url(/static/font/Roboto-latin-roman.1e41be92.woff2) format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Roboto;
  src: url(/static/font/Roboto-latin-italic.02743a8d.woff2) format("woff2");
  font-weight: 100 900;
  font-style: italic;
  font-display: swap;
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Roboto;
  src: url(/static/font/Roboto-latin-ext-roman.1a634e73.woff2) format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Roboto;
  src: url(/static/font/Roboto-latin-ext-italic.c9a21b8e.woff2) format("woff2");
  font-weight: 100 900;
  font-style: italic;
  font-display: swap;
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Geist Mono;
  src: url(/static/font/GeistMono-Variable.723e11e5.woff2) format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

:root {
  --marke-blau: oklch(.408 .1 252);
  --marke-cyan: oklch(.729 .126 211);
  --bg: oklch(1 0 0);
  --sidebar: oklch(.985 0 0);
  --surface: oklch(1 0 0);
  --surface-2: oklch(.974 0 0);
  --surface-3: oklch(.949 0 0);
  --text: oklch(.2 0 0);
  --text-2: oklch(.44 0 0);
  --text-3: oklch(.53 0 0);
  --border: oklch(.2 0 0 / .09);
  --border-2: oklch(.2 0 0 / .18);
  --wash-1: oklch(.2 0 0 / .045);
  --wash-2: oklch(.2 0 0 / .07);
  --wash-3: oklch(.2 0 0 / .11);
  --wash-4: oklch(.2 0 0 / .15);
  --accent: oklch(.2 0 0);
  --accent-2: oklch(.32 0 0);
  --accent-soft: oklch(.2 0 0 / .07);
  --accent-line: oklch(.2 0 0 / .16);
  --accent-fg: oklch(1 0 0);
  --accent-tief: oklch(.36 0 0);
  --titel: oklch(.2 0 0);
  --tat: oklch(.2 0 0);
  --tat-2: oklch(.34 0 0);
  --tat-fg: oklch(1 0 0);
  --info: oklch(.57 .19 252);
  --info-soft: oklch(.57 .19 252 / .1);
  --marke: oklch(.56 .115 213);
  --marke-soft: oklch(.729 .126 211 / .24);
  --ok: oklch(.55 .165 150);
  --ok-soft: oklch(.55 .165 150 / .13);
  --ok-line: oklch(.55 .165 150 / .3);
  --warn: oklch(.57 .13 88);
  --warn-flaeche: oklch(.73 .168 90);
  --warn-soft: oklch(.73 .168 90 / .17);
  --warn-line: oklch(.73 .168 90 / .4);
  --bad: oklch(.57 .235 26);
  --bad-soft: oklch(.57 .235 26 / .12);
  --bad-line: oklch(.57 .235 26 / .3);
  --mark: oklch(.56 .115 213);
  --shadow-sm: 0 1px 2px oklch(0 0 0 / .06), 0 1px 1px oklch(0 0 0 / .04);
  --shadow: 0 4px 12px oklch(0 0 0 / .08), 0 1px 3px oklch(0 0 0 / .06), 0 0 0 .5px oklch(0 0 0 / .04);
  --shadow-lg: 0 16px 40px oklch(0 0 0 / .14), 0 4px 12px oklch(0 0 0 / .08), 0 0 0 .5px oklch(0 0 0 / .05);
  --lightningcss-light: initial;
  --lightningcss-dark: ;
  --lightningcss-light: initial;
  --lightningcss-dark: ;
  color-scheme: light;
  --band: oklch(.38 .08 257);
  --band-fg: oklch(1 0 0);
  --band-fg-2: oklch(1 0 0 / .78);
  --r-xs: 5px;
  --r-sm: 7px;
  --r: 9px;
  --r-lg: 13px;
  --r-full: 999px;
  --font: "Roboto", -apple-system, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  --mono: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  --topbar-h: 52px;
  --rail-w: 76px;
  --aussenrand: 10px;
}

@media (prefers-color-scheme: dark) {
  :root {
    --bg: oklch(.212 .005 265);
    --sidebar: oklch(.178 .005 265);
    --surface: oklch(.248 .006 265);
    --surface-2: oklch(.278 .006 265);
    --surface-3: oklch(.312 .006 265);
    --text: oklch(.96 .004 265);
    --text-2: oklch(.76 .014 265);
    --text-3: oklch(.66 .012 265);
    --border: oklch(.96 .004 265 / .1);
    --border-2: oklch(.96 .004 265 / .2);
    --wash-1: oklch(.96 .004 265 / .05);
    --wash-2: oklch(.96 .004 265 / .07);
    --wash-3: oklch(.96 .004 265 / .11);
    --wash-4: oklch(.96 .004 265 / .15);
    --accent: oklch(.96 .004 265);
    --accent-2: oklch(.88 .004 265);
    --accent-soft: oklch(.96 .004 265 / .08);
    --accent-line: oklch(.96 .004 265 / .18);
    --accent-fg: oklch(.212 .008 265);
    --accent-tief: oklch(.775 .115 248);
    --titel: oklch(.96 .004 265);
    --tat: oklch(.62 .135 250);
    --tat-2: oklch(.7 .13 250);
    --tat-fg: oklch(.985 .01 250);
    --info: oklch(.72 .16 252);
    --info-soft: oklch(.72 .16 252 / .12);
    --marke: oklch(.755 .12 208);
    --marke-soft: oklch(.755 .12 208 / .24);
    --ok: oklch(.78 .21 155);
    --ok-soft: oklch(.78 .21 155 / .15);
    --ok-line: oklch(.78 .21 155 / .32);
    --warn: oklch(.85 .185 92);
    --warn-flaeche: oklch(.85 .185 92);
    --warn-soft: oklch(.85 .185 92 / .15);
    --warn-line: oklch(.85 .185 92 / .32);
    --bad: oklch(.7 .21 25);
    --bad-soft: oklch(.7 .21 25 / .15);
    --bad-line: oklch(.7 .21 25 / .32);
    --mark: oklch(.755 .12 208);
    --shadow-sm: 0 1px 2px oklch(0 0 0 / .4);
    --shadow: 0 4px 14px oklch(0 0 0 / .5), 0 0 0 .5px oklch(.96 .004 265 / .08);
    --shadow-lg: 0 20px 48px oklch(0 0 0 / .65), 0 4px 12px oklch(0 0 0 / .4), 0 0 0 .5px oklch(.96 .004 265 / .12);
    --lightningcss-light: ;
    --lightningcss-dark: initial;
    color-scheme: dark;
  }
}

:root[data-theme="dark"] {
  --bg: oklch(.215 0 0);
  --sidebar: oklch(.18 0 0);
  --surface: oklch(.25 0 0);
  --surface-2: oklch(.28 0 0);
  --surface-3: oklch(.315 0 0);
  --text: oklch(.96 0 0);
  --text-2: oklch(.76 0 0);
  --text-3: oklch(.66 0 0);
  --border: oklch(.96 0 0 / .11);
  --border-2: oklch(.96 0 0 / .21);
  --wash-1: oklch(.96 0 0 / .05);
  --wash-2: oklch(.96 0 0 / .08);
  --wash-3: oklch(.96 0 0 / .12);
  --wash-4: oklch(.96 0 0 / .16);
  --accent: oklch(.96 0 0);
  --accent-2: oklch(.88 0 0);
  --accent-soft: oklch(.96 0 0 / .09);
  --accent-line: oklch(.96 0 0 / .19);
  --accent-fg: oklch(.2 0 0);
  --accent-tief: oklch(.8 0 0);
  --titel: oklch(.96 0 0);
  --tat: oklch(.955 0 0);
  --tat-2: oklch(.87 0 0);
  --tat-fg: oklch(.2 0 0);
  --info: oklch(.72 .16 252);
  --info-soft: oklch(.72 .16 252 / .14);
  --marke: oklch(.755 .12 208);
  --marke-soft: oklch(.755 .12 208 / .24);
  --ok: oklch(.78 .21 155);
  --ok-soft: oklch(.78 .21 155 / .15);
  --ok-line: oklch(.78 .21 155 / .32);
  --warn: oklch(.85 .185 92);
  --warn-flaeche: oklch(.85 .185 92);
  --warn-soft: oklch(.85 .185 92 / .15);
  --warn-line: oklch(.85 .185 92 / .32);
  --bad: oklch(.7 .21 25);
  --bad-soft: oklch(.7 .21 25 / .15);
  --bad-line: oklch(.7 .21 25 / .32);
  --mark: oklch(.755 .12 208);
  --shadow-sm: 0 1px 2px oklch(0 0 0 / .4);
  --shadow: 0 4px 14px oklch(0 0 0 / .5), 0 0 0 .5px oklch(.96 .004 265 / .08);
  --shadow-lg: 0 20px 48px oklch(0 0 0 / .65), 0 4px 12px oklch(0 0 0 / .4), 0 0 0 .5px oklch(.96 .004 265 / .12);
  --lightningcss-light: ;
  --lightningcss-dark: initial;
  color-scheme: dark;
}

:root[data-theme="light"] {
  --bg: oklch(1 0 0);
  --sidebar: oklch(.985 0 0);
  --surface: oklch(1 0 0);
  --surface-2: oklch(.974 0 0);
  --surface-3: oklch(.949 0 0);
  --text: oklch(.2 0 0);
  --text-2: oklch(.44 0 0);
  --text-3: oklch(.53 0 0);
  --border: oklch(.2 0 0 / .09);
  --border-2: oklch(.2 0 0 / .18);
  --wash-1: oklch(.2 0 0 / .045);
  --wash-2: oklch(.2 0 0 / .07);
  --wash-3: oklch(.2 0 0 / .11);
  --wash-4: oklch(.2 0 0 / .15);
  --accent: oklch(.2 0 0);
  --accent-2: oklch(.32 0 0);
  --accent-soft: oklch(.2 0 0 / .07);
  --accent-line: oklch(.2 0 0 / .16);
  --accent-fg: oklch(1 0 0);
  --accent-tief: oklch(.36 0 0);
  --titel: oklch(.2 0 0);
  --tat: oklch(.2 0 0);
  --tat-2: oklch(.34 0 0);
  --tat-fg: oklch(1 0 0);
  --info: oklch(.57 .19 252);
  --info-soft: oklch(.57 .19 252 / .1);
  --marke: oklch(.56 .115 213);
  --marke-soft: oklch(.729 .126 211 / .24);
  --ok: oklch(.55 .165 150);
  --ok-soft: oklch(.55 .165 150 / .13);
  --ok-line: oklch(.55 .165 150 / .3);
  --warn: oklch(.57 .13 88);
  --warn-flaeche: oklch(.73 .168 90);
  --warn-soft: oklch(.73 .168 90 / .17);
  --warn-line: oklch(.73 .168 90 / .4);
  --bad: oklch(.57 .235 26);
  --bad-soft: oklch(.57 .235 26 / .12);
  --bad-line: oklch(.57 .235 26 / .3);
  --mark: oklch(.56 .115 213);
  --shadow-sm: 0 1px 2px oklch(0 0 0 / .06), 0 1px 1px oklch(0 0 0 / .04);
  --shadow: 0 4px 12px oklch(0 0 0 / .08), 0 1px 3px oklch(0 0 0 / .06), 0 0 0 .5px oklch(0 0 0 / .04);
  --shadow-lg: 0 16px 40px oklch(0 0 0 / .14), 0 4px 12px oklch(0 0 0 / .08), 0 0 0 .5px oklch(0 0 0 / .05);
  --lightningcss-light: initial;
  --lightningcss-dark: ;
  color-scheme: light;
}

* {
  box-sizing: border-box;
}

html, body, #root {
  height: 100%;
}

body {
  background: var(--bg);
  color: var(--text);
  font: 13.5px / 1.55 var(--font);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  -webkit-tap-highlight-color: transparent;
  margin: 0;
  overflow: hidden;
}

::selection {
  background: color-mix(in srgb, var(--accent) 30%, transparent);
}

* {
  scrollbar-width: thin;
  scrollbar-color: var(--wash-4) transparent;
}

::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

::-webkit-scrollbar-track {
  background: none;
}

::-webkit-scrollbar-thumb {
  background: var(--wash-4);
  border-radius: var(--r-full);
}

::-webkit-scrollbar-thumb:hover {
  background: var(--border-2);
}

:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 1px;
  border-radius: var(--r-xs);
}

button {
  font: inherit;
  cursor: pointer;
}

input, select, textarea {
  font: inherit;
  color: inherit;
}

h1, h2, h3 {
  margin: 0;
}

input, select, textarea {
  background: var(--wash-2);
  border-radius: var(--r-sm);
  border: 1px solid #0000;
  padding: 6px 9px;
  transition: background .12s;
}

input:hover:not(:disabled), select:hover:not(:disabled), textarea:hover:not(:disabled) {
  background: var(--wash-3);
}

.ok {
  --ton: var(--ok);
  --ton-lasur: var(--ok-soft);
  --ton-flaeche: var(--ok);
}

.warn {
  --ton: var(--warn);
  --ton-lasur: var(--warn-soft);
  --ton-flaeche: var(--warn-flaeche);
}

.bad {
  --ton: var(--bad);
  --ton-lasur: var(--bad-soft);
  --ton-flaeche: var(--bad);
}

.info {
  --ton: var(--info);
  --ton-lasur: var(--info-soft);
  --ton-flaeche: var(--info);
}

.accent {
  --ton: var(--accent);
  --ton-lasur: var(--accent-soft);
  --ton-flaeche: var(--accent);
}

.flat {
  --ton: var(--text-3);
  --ton-lasur: var(--wash-2);
  --ton-flaeche: var(--text-3);
}

.ok, .warn, .bad, .info, .accent, .flat {
  color: var(--ton);
}

.pill {
  border-radius: var(--r-full);
  white-space: nowrap;
  vertical-align: 1px;
  background: var(--ton-lasur, var(--wash-2));
  color: var(--ton, var(--text-2));
  padding: 2px 9px;
  font-size: 11px;
  font-weight: 600;
  display: inline-block;
}

.pill.flat {
  font-weight: 550;
}

.zitat {
  color: var(--text-2);
  font-style: italic;
}

.klein {
  color: var(--text-2);
  font-size: 12px;
}

div.bad, p.bad {
  max-width: 78ch;
  margin: 6px 0;
  font-size: 12.5px;
  line-height: 1.65;
}

details.werkstatt {
  margin-top: 22px;
}

details.werkstatt > summary {
  cursor: pointer;
  color: var(--text-3);
  -webkit-user-select: none;
  user-select: none;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 12.5px;
}

details.werkstatt > summary:hover {
  color: var(--text-2);
}

details.werkstatt[open] > summary {
  margin-bottom: 10px;
}

.werkstatt-flaeche {
  border-left: 2px solid var(--border);
  gap: 10px;
  padding: 2px 0 2px 12px;
  display: grid;
}

.werkstatt-flaeche label {
  color: var(--text-2);
  gap: 3px;
  font-size: 12px;
  display: grid;
}

pre.roh {
  font: 11.5px / 1.5 var(--mono);
  background: var(--wash-1);
  border-radius: var(--r-sm);
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  max-height: 320px;
  margin: 0;
  padding: 10px;
  overflow: auto;
}

[hidden] {
  display: none !important;
}

.schale {
  background: var(--bg);
  height: 100%;
  min-height: 0;
  display: flex;
}

.rail {
  flex: 0 0 var(--rail-w);
  width: var(--rail-w);
  background: var(--surface-2);
  border-right: 1px solid var(--border);
  z-index: 30;
  flex-direction: column;
  align-items: center;
  gap: 3px;
  padding: 10px 8px 12px;
  display: flex;
}

.rail-logo {
  width: 100%;
  height: auto;
  margin: 2px 0 10px;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .rail-logo {
    filter: brightness(0) invert();
    opacity: .85;
  }
}

:root[data-theme="dark"] .rail-logo {
  filter: brightness(0) invert();
  opacity: .85;
}

.rail-item {
  color: var(--text-3);
  border-radius: var(--r);
  cursor: pointer;
  font: inherit;
  background: none;
  border: 0;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  width: 100%;
  padding: 8px 2px 6px;
  font-size: 10.5px;
  font-weight: 550;
  transition: background .12s, color .12s;
  display: flex;
  position: relative;
}

.rail-item svg {
  width: 20px;
  height: 20px;
}

.rail-item:hover {
  background: var(--surface-3);
  color: var(--text-2);
}

.rail-item.on {
  background: var(--surface-3);
  color: var(--text);
}

.rail-item.on:before {
  content: "";
  border-radius: 0 var(--r-full) var(--r-full) 0;
  background: var(--accent);
  width: 3px;
  height: 22px;
  position: absolute;
  top: 50%;
  left: -8px;
  transform: translateY(-50%);
}

.rail-badge {
  border-radius: var(--r-full);
  background: var(--surface-3);
  color: var(--text-2);
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
  min-width: 16px;
  height: 16px;
  padding: 0 4px;
  font-size: 9.5px;
  font-weight: 650;
  line-height: 16px;
  position: absolute;
  top: 1px;
  right: 3px;
}

.rail-item.on .rail-badge {
  background: var(--border-2);
  color: var(--text);
}

.rail-badge.live {
  background: var(--marke-cyan);
  color: oklch(.2 .045 235);
}

.rail-foot {
  flex-direction: column;
  align-items: center;
  gap: 4px;
  margin-top: auto;
  display: flex;
}

.rail-foot .ikon:hover:not(:disabled) {
  background: var(--surface-3);
}

.rail-schalter {
  border-bottom: 1px solid var(--border);
  gap: 2px;
  margin-bottom: 1px;
  padding-bottom: 5px;
  display: flex;
}

.rail-environment {
  border: 1px solid var(--border);
  color: var(--text-3);
  background: var(--surface);
  font: 650 9px / 1 var(--mono);
  letter-spacing: .08em;
  border-radius: 999px;
  justify-content: center;
  min-width: 42px;
  padding: 4px 7px;
  display: inline-flex;
}

.workspace {
  background: var(--surface);
  margin: var(--aussenrand);
  border-radius: var(--r);
  box-shadow: var(--shadow-sm);
  flex-direction: column;
  flex: auto;
  min-width: 0;
  min-height: 0;
  display: flex;
  overflow: hidden;
}

.workspace > main {
  background: var(--surface);
  flex-direction: column;
  flex: auto;
  min-height: 0;
  display: flex;
  overflow: hidden;
}

.bar {
  min-height: var(--topbar-h);
  border-bottom: 1px solid var(--border);
  background: var(--surface);
  flex-wrap: wrap;
  flex: none;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  display: flex;
}

.spacer {
  flex: auto;
}

.bar-naht {
  background: var(--border-2);
  flex: none;
  align-self: stretch;
  width: 1px;
  margin: 5px 3px;
}

.bar-naht:first-child, .bar-naht:last-child {
  display: none;
}

.view-title {
  letter-spacing: -.01em;
  color: var(--titel);
  font-size: 14.5px;
  font-weight: 650;
}

.view-sub {
  color: var(--text-3);
  font-size: 12px;
}

.lbl {
  color: var(--text-3);
  white-space: nowrap;
  font-size: 11.5px;
}

.lbl b {
  color: var(--text);
  font-weight: 600;
}

.inhalt {
  flex: auto;
  min-height: 0;
  overflow: auto;
}

.btn {
  border-radius: var(--r-sm);
  background: var(--wash-2);
  color: var(--text);
  white-space: nowrap;
  border: 1px solid #0000;
  align-items: center;
  gap: 6px;
  padding: 6px 11px;
  font-size: 12.5px;
  font-weight: 550;
  transition: background .12s, color .12s;
  display: inline-flex;
}

.btn svg {
  flex: none;
  width: 15px;
  height: 15px;
}

.btn:hover:not(:disabled) {
  background: var(--wash-3);
}

.btn:active:not(:disabled) {
  background: var(--wash-4);
}

.btn.primary {
  background: var(--tat);
  border-color: var(--tat);
  color: var(--tat-fg);
  box-shadow: var(--shadow-sm);
}

.btn.primary:hover:not(:disabled) {
  background: var(--tat-2);
  border-color: var(--tat-2);
}

.btn.on {
  background: var(--accent-soft);
  color: var(--accent-tief);
}

.btn.sm {
  padding: 4px 8px;
  font-size: 11.5px;
}

.btn.gross {
  padding: 8px 15px;
  font-size: 13px;
  font-weight: 600;
}

.btn:disabled {
  opacity: .45;
  cursor: not-allowed;
}

select.field, input.field {
  cursor: pointer;
  max-width: 100%;
  padding: 5px 8px;
  font-size: 12.5px;
}

select.field:disabled, input.field:disabled {
  opacity: .5;
  cursor: not-allowed;
}

input.field {
  cursor: text;
}

input.field.num {
  font-variant-numeric: tabular-nums;
  width: 4.5em;
}

.run-batch-select {
  width: min(28rem, 100%);
}

.spin:after {
  content: "▍";
  color: var(--marke);
  animation: 1.8s ease-in-out infinite atmen;
}

@keyframes atmen {
  0%, 100% {
    opacity: .3;
  }

  50% {
    opacity: 1;
  }
}

.schimmer {
  background-image: linear-gradient(90deg, var(--text-3) 42%, var(--text) 50%, var(--text-3) 58%);
  color: #0000;
  background-position: 200% 0;
  background-size: 200% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  animation: 2.4s ease-in-out infinite schimmern;
}

@keyframes schimmern {
  from {
    background-position: 200% 0;
  }

  to {
    background-position: -200% 0;
  }
}

.skelett {
  background: var(--wash-2);
  border-radius: var(--r-xs);
  position: relative;
  overflow: hidden;
}

.skelett:after {
  content: "";
  background: linear-gradient(90deg, transparent, var(--wash-2), transparent);
  animation: 1.5s ease-in-out infinite gleiten;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  transform: translateX(-100%);
}

@keyframes gleiten {
  100% {
    transform: translateX(100%);
  }
}

@keyframes auftauchen {
  from {
    opacity: 0;
    transform: translateY(3px);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

.ocrwrap {
  flex: auto;
  min-height: 0;
  padding: 16px;
  overflow: auto;
}

.fussnote {
  color: var(--text-3);
  max-width: 86ch;
  margin: 8px 0 0;
  font-size: 12px;
  line-height: 1.7;
}

.fussnote b {
  color: var(--text-2);
  font-weight: 600;
}

.fussnote.bad {
  color: var(--ton);
}

.fussnote.fuss-unten {
  margin-top: auto;
  padding-top: 8px;
  font-size: 11px;
  line-height: 1.5;
}

.fussnote code, .fix code {
  font-family: var(--mono);
  background: var(--surface-2);
  border: 1px solid var(--border);
  border-radius: var(--r-xs);
  padding: 0 5px;
  font-size: 11px;
}

.fix {
  background: var(--bad-soft);
  border: 1px solid var(--bad-line);
  border-left: 3px solid var(--bad);
  border-radius: var(--r);
  color: var(--text);
  max-width: 78ch;
  margin-bottom: 14px;
  padding: 12px 14px;
  font-size: 12.5px;
  line-height: 1.7;
}

.fix b {
  color: var(--bad);
}

.stats {
  border-bottom: 1px solid var(--border);
  flex: none;
  grid-template-columns: repeat(auto-fit, minmax(132px, 1fr));
  gap: 4px 8px;
  padding-bottom: 2px;
  display: grid;
}

.stat {
  min-width: 0;
  padding: 9px 14px 10px;
}

.stat-k {
  color: var(--text-3);
  white-space: nowrap;
  text-overflow: ellipsis;
  font-size: 11px;
  font-weight: 600;
  overflow: hidden;
}

.stat-v {
  letter-spacing: -.02em;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  text-overflow: ellipsis;
  margin-top: 2px;
  font-size: 17px;
  font-weight: 640;
  line-height: 1.25;
  overflow: hidden;
}

.stat-n {
  color: var(--text-3);
  font-variant-numeric: tabular-nums;
  margin-top: 2px;
  font-size: 11px;
  line-height: 1.45;
}

.kennzahlen {
  flex: none;
}

.ocrwrap > .kennzahlen {
  margin: -16px -16px 16px;
}

.kennzahlen-band {
  align-items: stretch;
  gap: 12px;
  display: flex;
}

.kennzahlen-name {
  color: var(--text-3);
  text-align: right;
  border-bottom: 1px solid var(--border);
  border-right: 1px solid var(--border);
  white-space: nowrap;
  cursor: help;
  flex: 0 0 66px;
  padding: 11px 12px 10px 0;
  font-size: 11px;
  font-weight: 650;
}

.kennzahlen-band > .stats {
  flex: auto;
  grid-template-columns: repeat(auto-fill, minmax(132px, 1fr));
  min-width: 0;
}

.kennzahlen-band:last-child > .stats {
  border-bottom-width: 1px;
}

@media (max-width: 900px) {
  .kennzahlen-band {
    flex-direction: column;
    gap: 0;
  }

  .kennzahlen-name {
    text-align: left;
    border-bottom: 0;
    border-right: 0;
    flex: none;
    padding: 7px 14px 4px;
  }
}

.table {
  border-collapse: collapse;
  width: 100%;
  max-width: 1180px;
  font-size: 12.5px;
}

.table th, .table td {
  border-bottom: 1px solid var(--border);
  text-align: left;
  vertical-align: top;
  padding: 7px 9px;
}

.table th {
  z-index: 2;
  background: var(--surface);
  color: var(--text-3);
  white-space: nowrap;
  font-size: 11.5px;
  font-weight: 600;
  position: sticky;
  top: -16px;
}

.table td.num, .table th.num {
  text-align: right;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.table td:first-child {
  font-weight: 600;
}

.table tbody tr:hover td {
  background: var(--surface-2);
}

.table th.sortkopf {
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
}

.table th.sortkopf:hover {
  color: var(--text);
  background: var(--surface-2);
}

.table th.sortkopf.an {
  color: var(--text);
}

.sortkopf-pfeil {
  color: var(--accent-tief);
  width: 9px;
  margin-left: 3px;
  font-style: normal;
  display: inline-block;
}

h4 {
  letter-spacing: -.005em;
  align-items: center;
  gap: 7px;
  margin: 24px 0 8px;
  font-size: 12.5px;
  font-weight: 650;
  display: flex;
}

h4:first-child {
  margin-top: 4px;
}

.abschnitt {
  border-top: 1px solid var(--border);
  margin-top: 20px;
}

.abschnitt:first-of-type {
  margin-top: 14px;
}

.abschnitt-kopf {
  flex-wrap: wrap;
  gap: 10px;
  min-height: 34px;
  margin: 0;
  padding: 9px 0 8px;
}

.abschnitt:not(.auf) > .abschnitt-kopf {
  padding-bottom: 9px;
}

.abschnitt-griff {
  border-radius: var(--r-sm);
  font: inherit;
  letter-spacing: -.005em;
  color: var(--titel);
  cursor: pointer;
  background: none;
  border: 0;
  align-items: center;
  gap: 7px;
  margin-left: -4px;
  padding: 3px 8px 3px 4px;
  font-size: 13px;
  font-weight: 650;
  transition: background .12s;
  display: inline-flex;
}

.abschnitt-griff:hover {
  background: var(--wash-2);
}

.abschnitt-griff .pfeil {
  color: var(--text-3);
  width: 10px;
  transition: transform .15s;
  display: inline-block;
}

.abschnitt.auf .abschnitt-griff .pfeil {
  transform: rotate(90deg);
}

.marke-still, .abschnitt-marke, .hinweis-chip, tr.gruppe .wozu {
  color: var(--text-2);
  font-variant-numeric: tabular-nums;
  background: var(--wash-1);
  border-radius: var(--r-full);
  white-space: nowrap;
  padding: 2px 10px;
  font-size: 11.5px;
}

.hinweis-chip {
  cursor: help;
}

tr.gruppe .wozu {
  background: var(--wash-2);
  padding: 1px 7px;
}

.abschnitt.auf > .abschnitt-kopf > .abschnitt-marke {
  color: var(--text-3);
  background: none;
  padding: 2px 0;
}

.abschnitt-kopf .seg {
  margin-left: 2px;
}

.abschnitt-kopf > .spacer {
  min-width: 12px;
}

.abschnitt > h4:first-of-type, .abschnitt > * > h4:first-child {
  margin-top: 6px;
}

.abschnitt > .table, .abschnitt > .kennwerte {
  margin-top: 2px;
}

.pruefung {
  --naht: 9px;
  grid-template-columns: clamp(var(--min-akte, 320px), var(--teiler, 40%), max(var(--min-akte, 320px), calc(100% - var(--min-verzeichnis, 580px)  - var(--naht)))) var(--naht) minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr);
  height: 100%;
  min-height: 0;
  display: grid;
}

.teiler {
  cursor: col-resize;
  touch-action: none;
  -webkit-user-select: none;
  user-select: none;
  position: relative;
}

.teiler:before {
  content: "";
  background: var(--border);
  transition: background .12s, top .12s, bottom .12s, left .12s, right .12s;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 4px;
  right: 4px;
}

.teiler:hover:before {
  background: var(--border-2);
}

.teiler.zieht:before {
  background: var(--accent);
  top: 0;
  bottom: 0;
  left: 3px;
  right: 3px;
}

.teiler:focus-visible:before {
  background: var(--accent);
  top: 0;
  bottom: 0;
  left: 3px;
  right: 3px;
}

.teiler .marke {
  border-radius: var(--r-full);
  background: var(--accent);
  opacity: 0;
  width: 3px;
  height: 30px;
  transition: opacity .12s;
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
}

.teiler:hover .marke, .teiler.zieht .marke {
  opacity: 1;
}

.teiler:focus-visible .marke {
  opacity: 1;
}

.teiler:focus-visible {
  outline: none;
}

.teiler:focus-visible .marke {
  height: 48px;
}

body.teilt, body.teilt * {
  cursor: col-resize !important;
  -webkit-user-select: none !important;
  user-select: none !important;
}

.posten-filter .mehr {
  position: relative;
}

.mehr-flaeche {
  z-index: 20;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--r);
  box-shadow: var(--shadow);
  min-width: 190px;
  padding: 4px;
  display: grid;
  position: absolute;
  top: calc(100% + 5px);
  right: 0;
}

.mehr-flaeche button {
  font: inherit;
  color: var(--text-2);
  text-align: left;
  border-radius: var(--r-xs);
  cursor: pointer;
  white-space: nowrap;
  background: none;
  border: 0;
  padding: 7px 10px;
  font-size: 13px;
}

.mehr-flaeche button:hover {
  background: var(--wash-2);
  color: var(--text);
}

.mehr-flaeche button kbd {
  float: right;
  font: 10.5px var(--mono);
  background: var(--wash-2);
  color: var(--text-3);
  border-radius: var(--r-xs);
  margin-left: 14px;
  padding: 1px 5px;
}

.mehr-flaeche .gefaehrlich {
  border-top: 1px solid var(--border);
  border-radius: 0 0 var(--r-xs) var(--r-xs);
  margin-top: 4px;
}

.mehr-flaeche .gefaehrlich:hover {
  background: var(--bad-soft);
  color: var(--bad);
}

.pruefung .run-akte {
  border-right: 0;
  min-height: 0;
  animation: none;
}

.pruefung .doku-spalte {
  border-right: 0;
}

.doku-spalte {
  border-right: 1px solid var(--border);
  min-width: 0;
  padding: 16px 18px 40px;
  overflow-y: auto;
}

.doku-kopf {
  background: var(--bg);
  z-index: 1;
  align-items: baseline;
  gap: 10px;
  margin-bottom: 10px;
  padding: 6px 0 8px;
  display: flex;
  position: sticky;
  top: -16px;
}

.doku-kopf h2 {
  margin: 0;
  font-size: 14px;
  font-weight: 550;
}

.doku-kopf .lbl {
  margin-left: auto;
}

.doku-text {
  white-space: pre-wrap;
  overflow-wrap: break-word;
  color: var(--text-2);
  font-size: 13px;
  line-height: 2;
}

mark {
  background: var(--wash-2);
  color: var(--text);
  box-shadow: inset 0 -1.5px 0 var(--border-2);
  cursor: pointer;
  border-radius: 3px;
  padding: 1px 2px;
  transition: background .12s;
}

mark:hover {
  background: var(--wash-3);
}

mark .fahne {
  vertical-align: super;
  color: var(--text-3);
  font-variant-numeric: tabular-nums;
  margin-left: 3px;
  font-size: 10px;
}

mark.teilweise {
  box-shadow: none;
  -webkit-text-decoration: underline 1.5px dashed var(--text-2);
  text-decoration: underline 1.5px dashed var(--text-2);
  text-underline-offset: 3px;
}

mark.fundort {
  box-shadow: none;
  outline: 1.5px dashed var(--text-2);
  outline-offset: 1px;
  background: none;
}

mark.matt {
  box-shadow: none;
  color: var(--text-3);
  background: none;
  text-decoration: line-through;
}

mark.matt .fahne {
  opacity: .6;
  text-decoration: none;
}

mark.aktiv {
  background: var(--marke-soft);
  box-shadow: inset 0 -1.5px 0 var(--marke);
  color: var(--text);
}

mark.aktiv .fahne {
  color: var(--marke);
}

.posten-spalte {
  min-width: 0;
  padding-bottom: 80px;
  overflow-y: auto;
  container: verzeichnis / inline-size;
}

@media (max-width: 560px) {
  .posten-rahmen {
    overflow-x: auto;
  }
}

.posten-filter {
  z-index: 3;
  background: var(--bg);
  border-bottom: 1px solid var(--border);
  flex-wrap: wrap;
  align-items: center;
  gap: 5px 12px;
  padding: 10px 14px;
  display: flex;
  position: sticky;
  top: 0;
}

.posten-filter .umfang {
  color: var(--text-2);
  white-space: nowrap;
  font-size: 12.5px;
}

.posten-filter .umfang b {
  color: var(--text);
  font-variant-numeric: tabular-nums;
  font-weight: 650;
}

.posten-filter .umfang .weg {
  color: var(--text-3);
  border-left: 1px solid var(--border);
  font-variant-numeric: tabular-nums;
  margin-left: 8px;
  padding-left: 8px;
}

.ansichtswahl {
  border: 1px solid var(--border);
  border-radius: var(--r-xs);
  flex: none;
  display: inline-flex;
  overflow: hidden;
}

.ansichtswahl button {
  color: var(--text-2);
  font: inherit;
  cursor: pointer;
  background: none;
  border: 0;
  padding: 5px 9px;
  font-size: 11.5px;
  line-height: 1;
}

.ansichtswahl button + button {
  border-left: 1px solid var(--border);
}

.ansichtswahl button:hover {
  background: var(--wash-1);
}

.ansichtswahl button.an {
  background: var(--wash-2);
  color: var(--text);
  font-weight: 650;
}

.posten-filter.sammelt {
  background: var(--accent-soft);
}

.posten-filter.sammelt .umfang b {
  color: var(--accent-tief);
}

.btn.still {
  box-shadow: none;
  color: var(--text-2);
  background: none;
}

.btn.still:hover:not(:disabled) {
  background: var(--wash-2);
}

.posten-filter .konfliktstand {
  border-left: 2px solid var(--bad);
  color: var(--bad);
  white-space: nowrap;
  padding-left: 8px;
  font-size: 12.5px;
}

.posten-filter .konfliktstand b {
  font-variant-numeric: tabular-nums;
  font-weight: 650;
}

.suchfeld {
  background: var(--wash-1);
  border-radius: var(--r-sm);
  color: var(--text-3);
  border: 1px solid #0000;
  flex: 150px;
  align-items: center;
  gap: 6px;
  min-width: 118px;
  max-width: 210px;
  height: 28px;
  padding: 0 9px;
  transition: background .12s, border-color .12s;
  display: flex;
}

.suchfeld:hover {
  background: var(--wash-2);
}

.suchfeld:focus-within {
  background: var(--surface);
  border-color: var(--accent-line);
  color: var(--text-2);
}

.suchfeld svg {
  flex: none;
  width: 14px;
  height: 14px;
}

.suchfeld input {
  color: var(--text);
  background: none;
  border: 0;
  flex: auto;
  min-width: 0;
  padding: 0;
  font-size: 12.5px;
}

.suchfeld input:hover:not(:disabled) {
  background: none;
}

.suchfeld input:focus {
  outline: none;
}

.suchfeld input::placeholder {
  color: var(--text-3);
}

.suchfeld input::-webkit-search-cancel-button {
  cursor: pointer;
}

.ausgaenge {
  align-items: center;
  gap: 4px;
  margin-left: auto;
  display: flex;
}

.ikon {
  width: var(--ikon, 28px);
  height: var(--ikon, 28px);
  color: var(--text-3);
  border-radius: var(--r-sm);
  cursor: pointer;
  background: none;
  border: 0;
  flex: none;
  place-items: center;
  transition: background .12s, color .12s;
  display: inline-grid;
}

.ikon svg {
  width: var(--inputCharacters, 16px);
  height: var(--inputCharacters, 16px);
}

.ikon:hover:not(:disabled) {
  background: var(--wash-2);
  color: var(--text);
}

.ikon.an {
  background: var(--wash-3);
  color: var(--text);
}

.ikon:disabled {
  opacity: .35;
  cursor: default;
}

.ikon.gross {
  --ikon: 34px;
  --inputCharacters: 17px;
}

.ikon.klein {
  --ikon: 23px;
  --inputCharacters: 13px;
}

summary.ikon {
  -webkit-user-select: none;
  user-select: none;
  list-style: none;
}

summary.ikon::-webkit-details-marker {
  display: none;
}

.mehr[open] > summary.ikon {
  background: var(--wash-3);
  color: var(--text);
}

@container verzeichnis (width <= 640px) {
  .posten-filter {
    gap: 8px;
  }

  .posten-filter .umfang .weg {
    display: none;
  }
}

@container verzeichnis (width <= 520px) {
  .posten-filter .umfang {
    display: none;
  }
}

table.posten {
  border-collapse: collapse;
  width: 100%;
  min-width: 460px;
  font-size: 13.5px;
}

.posten-spalte {
  --filterhoehe: 46px;
}

table.posten thead th {
  top: var(--filterhoehe);
  z-index: 2;
  background: var(--band);
  text-align: left;
  color: var(--band-fg);
  white-space: nowrap;
  padding: 10px;
  font-size: 12px;
  font-weight: 600;
  position: sticky;
}

table.posten thead th.r {
  text-align: right;
}

table.posten thead th.feldzelle {
  background: linear-gradient(oklch(1 0 0 / .14), oklch(1 0 0 / .14)), var(--band);
}

table.posten thead .haken {
  accent-color: var(--band-fg);
}

table.posten td {
  vertical-align: top;
  padding: 10px;
}

table.posten td.feldzelle, table.posten td.summe, table.posten td.entscheidung {
  vertical-align: middle;
}

table.posten th:first-child, table.posten td:first-child {
  padding-left: 14px;
}

table.posten th:last-child, table.posten td:last-child {
  padding-right: 14px;
}

table.posten .feldzelle {
  border-left: 1px solid var(--border);
}

table.posten .feldzelle + .feldzelle {
  border-left: 0;
}

table.posten .summe + * {
  border-left: 1px solid var(--border);
}

table.posten .summe + .summe {
  border-left: 0;
}

tr.gruppe td {
  color: var(--text-3);
  background: var(--surface-2);
  border-top: 1px solid var(--border-2);
  border-bottom: 1px solid var(--border);
  padding: 7px 14px;
  font-size: 12px;
}

tr.gruppe .name {
  color: var(--text);
  margin-right: 8px;
  font-size: 13px;
  font-weight: 650;
}

tr.fallkopf td {
  color: var(--text-2);
  border-bottom: 1px solid var(--border);
  padding: 9px 14px;
  font-size: 12px;
}

tr.zwischentitel td {
  color: var(--band-fg);
  background: var(--band);
  padding: 11px 14px;
  font-size: 13.5px;
  font-weight: 650;
}

.zwischentitel-inhalt {
  align-items: baseline;
  gap: 6px;
  min-width: 0;
  display: flex;
}

.zwischentitel .blockname {
  flex: none;
}

.zwischentitel .fallmeta {
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--band-fg-2);
  min-width: 0;
  font-size: 12px;
  font-weight: 400;
  overflow: hidden;
}

tr.p {
  border-top: 1px solid var(--border);
  cursor: pointer;
}

tr.p:hover {
  background: var(--wash-1);
}

tr.p > td {
  height: 46px;
}

tr.p.matt td {
  color: var(--text-3);
}

tr.p td:first-child {
  box-shadow: inset 3px 0 0 var(--spurfarbe, transparent);
}

tr.p.spur-still {
  --spurfarbe: var(--border);
}

tr.p.spur-unsicher {
  --spurfarbe: var(--warn-flaeche);
}

tr.p.spur-nein {
  --spurfarbe: var(--bad);
}

tr.p.gewaehlt > td, tr.grund.gewaehlt > td {
  background: var(--wash-2);
}

tr.p.gewaehlt > td {
  box-shadow: inset 0 1px 0 var(--accent-line);
}

tr.p.gewaehlt > td:first-child {
  box-shadow: inset 0 1px 0 var(--accent-line), inset 3px 0 0 var(--spurfarbe, transparent);
}

tr.p.gewaehlt.zu > td {
  box-shadow: inset 0 1px 0 var(--accent-line), inset 0 -1px 0 var(--accent-line);
}

tr.p.gewaehlt.zu > td:first-child {
  box-shadow: inset 0 1px 0 var(--accent-line), inset 0 -1px 0 var(--accent-line), inset 3px 0 0 var(--spurfarbe, transparent);
}

tr.grund.gewaehlt > td {
  box-shadow: inset 0 -1px 0 var(--accent-line);
}

.ikon.tat {
  --ikon: 27px;
  --inputCharacters: 16px;
}

.tat:hover:not(:disabled) {
  background: var(--wash-3);
}

.tat:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: -1px;
}

.tat.an.aktiv {
  background: var(--accent);
  color: var(--accent-fg);
}

.tat.an.aktiv:hover {
  background: var(--accent-2);
  color: var(--accent-fg);
}

.tat.ab.aktiv {
  background: var(--wash-3);
  color: var(--text);
}

.tat.leise {
  opacity: 0;
  transition: opacity .12s, background .12s, color .12s;
}

tr.p:hover .tat.leise, tr.p:focus-within .tat.leise, tr.p.gewaehlt .tat.leise {
  opacity: 1;
}

tr.grund .warum {
  color: var(--text);
  margin-bottom: 5px;
  font-size: 12.5px;
  font-weight: 600;
}

tr.p.blitzt > td {
  animation: 1.3s ease-out zeilenblitz;
}

tr.p.gewaehlt {
  --ruhe: var(--wash-2);
}

@keyframes zeilenblitz {
  0% {
    background: var(--marke-soft);
  }

  100% {
    background: var(--ruhe, transparent);
  }
}

td.code {
  white-space: nowrap;
}

td.code .z {
  font-variant-numeric: tabular-nums;
  font-size: 15px;
  font-weight: 600;
}

tr.p.matt td.code .z {
  color: var(--text-3);
  text-decoration: line-through;
}

td.code .marke {
  color: var(--text-3);
  font-size: 11.5px;
  display: block;
}

td.leistung {
  min-width: 200px;
  line-height: 1.4;
}

td.leistung .txt.fehlt {
  color: var(--text-3);
  font-style: italic;
}

td.leistung .txt {
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  display: -webkit-box;
  overflow: hidden;
}

tr.p.gewaehlt td.leistung .txt, table.posten.details td.leistung .txt {
  -webkit-line-clamp: unset;
  line-clamp: unset;
  display: block;
}

td.leistung .achsen {
  flex-wrap: wrap;
  gap: 4px 10px;
  margin-top: 3px;
  font-size: 11.5px;
  display: flex;
}

td.leistung .achsen i {
  font-style: normal;
}

td.leistung .achsen i.warn {
  color: var(--text-2);
  font-weight: 550;
}

td.leistung .achsen i.bad {
  color: var(--bad);
  font-weight: 550;
}

th.k-wahlfeld, td.wahlfeld {
  width: 1%;
  padding-right: 4px;
}

td.wahlfeld {
  vertical-align: middle;
}

.haken {
  accent-color: var(--accent);
  cursor: pointer;
  width: 15px;
  height: 15px;
  margin: 0;
  display: block;
}

th.k-typ, td.typ {
  text-align: right;
  white-space: nowrap;
  color: var(--text-3);
  width: 1%;
}

td.summe {
  text-align: right;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

td.summe .gross {
  font-weight: 600;
}

td.summe.einzel .gross {
  color: var(--text-2);
  font-weight: 500;
}

td.summe .weg {
  color: var(--text-3);
  margin-top: 2px;
  font-size: 11px;
  display: block;
}

td.feldzelle {
  padding: 6px 4px;
}

table.posten .feldzelle {
  background: var(--wash-1);
}

tr.p.gewaehlt > td.feldzelle {
  background: linear-gradient(var(--wash-1), var(--wash-1)), var(--wash-2);
}

.feld {
  color: var(--text);
  border-radius: var(--r-xs);
  font: inherit;
  text-align: right;
  font-variant-numeric: tabular-nums;
  background: none;
  border: 0;
  width: 100%;
  max-width: 64px;
  padding: 5px 7px;
  font-size: 13.5px;
  transition: background .12s;
}

.feld::placeholder {
  color: var(--text-3);
}

.feld::-webkit-inner-spin-button {
  opacity: 0;
  transition: opacity .12s;
}

.feld:hover::-webkit-inner-spin-button {
  opacity: 1;
}

.feld:focus::-webkit-inner-spin-button {
  opacity: 1;
}

.feld:hover {
  background: var(--wash-2);
}

.feld:focus {
  background: var(--wash-2);
  outline: 2px solid var(--accent);
  outline-offset: -2px;
}

.feld.verstellt {
  background: var(--accent-soft);
  font-weight: 600;
}

.feld.ungueltig, .feld.ungueltig:focus {
  background: var(--bad-soft);
  outline: 2px solid var(--bad);
  outline-offset: -2px;
}

.feldfehler {
  color: var(--bad);
  text-align: right;
  white-space: normal;
  max-width: 90px;
  margin: 3px 2px 0;
  font-size: 10.5px;
  line-height: 1.25;
  display: block;
}

td.entscheidung {
  white-space: nowrap;
  text-align: right;
  width: 1%;
}

.paar {
  justify-content: flex-end;
  align-items: center;
  gap: 2px;
  min-width: 56px;
  display: inline-flex;
}

.tat.zurueck {
  color: var(--text-3);
}

tr.grund td {
  color: var(--text-2);
  padding: 2px 10px 13px 48px;
  font-size: 12.5px;
  line-height: 1.55;
}

tr.grund.matt td {
  opacity: .78;
}

tr.grund .wozu {
  margin-bottom: 4px;
}

tr.grund .wozu .phase {
  color: var(--text-3);
  margin-left: 8px;
}

tr.grund .evidence {
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px 10px;
  display: flex;
}

tr.grund .zitat {
  border: 0;
  border-left: 2px solid var(--border-2);
  border-radius: 0 var(--r-xs) var(--r-xs) 0;
  font: inherit;
  color: var(--text);
  cursor: pointer;
  text-align: left;
  background: none;
  max-width: 100%;
  padding: 1px 8px;
  font-size: 12.5px;
  font-style: italic;
  transition: background .12s, border-color .12s;
}

tr.grund .zitat:hover {
  background: var(--marke-soft);
  border-left-color: var(--marke);
}

tr.grund .quelle {
  color: var(--text-2);
}

tr.grund .fehlend {
  color: var(--bad);
  font-weight: 600;
}

tr.grund .fussnoten {
  color: var(--text-2);
  flex-wrap: wrap;
  gap: 2px 14px;
  margin-top: 5px;
  display: flex;
}

.merk {
  margin-top: 5px;
  display: block;
}

.merk b {
  color: var(--text);
  font-weight: 600;
}

.merk .was {
  color: var(--text-2);
}

.merk.warnung b {
  color: var(--bad);
}

.merk .satz {
  color: var(--text-3);
}

.merk .aufloesung {
  color: var(--text);
  margin-top: 2px;
  display: block;
}

tr.grund .merk {
  border-left: 2px solid var(--border-2);
  flex-wrap: wrap;
  align-items: baseline;
  gap: 3px 8px;
  margin-top: 6px;
  padding-left: 9px;
  display: flex;
}

tr.grund .merk.warnung {
  border-left-color: var(--bad);
}

.merk .springen {
  background: var(--wash-2);
  border-radius: var(--r-full);
  font: inherit;
  color: var(--text-2);
  cursor: pointer;
  border: 0;
  padding: 1px 8px;
  font-size: 11.5px;
}

.merk .springen:hover {
  background: var(--wash-3);
  color: var(--text);
}

tr.p.inwahl:not(.wahl-fest) {
  --spurfarbe: var(--border-2);
}

td.code .zblock {
  align-items: flex-start;
  gap: 10px;
  display: flex;
}

.wahlknopf {
  border-radius: var(--r-full);
  cursor: pointer;
  background: none;
  border: 0;
  flex: none;
  place-items: center;
  width: 22px;
  height: 22px;
  margin-top: -1px;
  transition: background .12s;
  display: inline-grid;
}

.wahlknopf .ring {
  border-radius: var(--r-full);
  box-shadow: inset 0 0 0 1.5px var(--border-2);
  width: 15px;
  height: 15px;
  transition: box-shadow .12s;
}

.wahlknopf:hover {
  background: var(--wash-2);
}

.wahlknopf:hover .ring {
  box-shadow: inset 0 0 0 1.5px var(--text-2);
}

.wahlknopf.an .ring {
  box-shadow: inset 0 0 0 5px var(--accent);
}

.wahlknopf:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 1px;
}

tr.p.matt .wahlknopf .ring {
  box-shadow: inset 0 0 0 1.5px var(--border-2);
}

tr.p.inwahl del {
  -webkit-text-decoration-color: var(--text-3);
  text-decoration-color: var(--text-3);
  text-decoration-thickness: 1px;
}

tr.wahlfrage > td {
  border-top: 1px solid var(--border);
  padding: 10px 14px 12px;
}

.wahlgrund {
  color: var(--text-2);
  margin-bottom: 8px;
  font-size: 12px;
}

.wahlkarten {
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: stretch;
  gap: 10px;
  display: grid;
}

.wahlkarten .oder {
  border: 1px solid var(--border);
  border-radius: var(--r-full);
  background: var(--surface-2);
  color: var(--text-2);
  align-self: center;
  padding: 3px 9px;
  font-size: 11.5px;
  font-weight: 650;
}

.wahlkarte {
  border: 1px solid var(--border-2);
  border-radius: var(--r-sm);
  cursor: pointer;
  align-content: start;
  gap: 6px;
  padding: 10px 12px;
  transition: background .12s, border-color .12s;
  display: grid;
}

.wahlkarte:hover {
  background: var(--wash-1);
}

.wahlkarte.gewaehlt {
  background: var(--wash-2);
  border-color: var(--accent-line);
}

.wahlkarte.blitzt {
  animation: 1.3s ease-out zeilenblitz;
}

.wahlkarte .kopf {
  align-items: center;
  gap: 8px;
  display: flex;
}

.wahlkarte .kopf .z {
  font-variant-numeric: tabular-nums;
  font-size: 15px;
  font-weight: 600;
}

.wahlkarte .kopf .marke.rat {
  color: var(--text-2);
  font-size: 11.5px;
}

.wahlkarte .kopf .betrag {
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  margin-left: auto;
  font-weight: 600;
}

.wahlkarte .txt {
  font-size: 13px;
  line-height: 1.4;
}

.wahlkarte .txt.fehlt {
  color: var(--text-3);
  font-style: italic;
}

.wahlkarte .fakten {
  color: var(--text-2);
  font-variant-numeric: tabular-nums;
  font-size: 12px;
}

.wahlkarte .achsen {
  flex-wrap: wrap;
  gap: 4px 10px;
  font-size: 11.5px;
  display: flex;
}

.wahlkarte .achsen i {
  font-style: normal;
}

.wahlkarte .achsen i.warn {
  color: var(--text-2);
  font-weight: 550;
}

.wahlkarte .achsen i.bad {
  color: var(--bad);
  font-weight: 550;
}

.wahlkarte .wozu {
  color: var(--text-2);
  font-size: 12.5px;
  line-height: 1.5;
}

.wahlkarte .evidence {
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px 10px;
  display: flex;
}

.wahlkarte .zitat {
  border: 0;
  border-left: 2px solid var(--border-2);
  border-radius: 0 var(--r-xs) var(--r-xs) 0;
  font: inherit;
  color: var(--text);
  cursor: pointer;
  text-align: left;
  background: none;
  max-width: 100%;
  padding: 1px 8px;
  font-size: 12.5px;
  font-style: italic;
  transition: background .12s, border-color .12s;
}

.wahlkarte .zitat:hover {
  background: var(--marke-soft);
  border-left-color: var(--marke);
}

.wahlkarte .fehlend {
  color: var(--bad);
  font-weight: 600;
}

.code .marke.rat {
  color: var(--text-2);
}

tr.klapp td {
  border-top: 1px solid var(--border);
  padding: 0;
}

.rejected-schalter {
  font: inherit;
  color: var(--text-3);
  cursor: pointer;
  text-align: left;
  background: none;
  border: 0;
  width: 100%;
  padding: 14px 10px;
  font-size: 13px;
  display: block;
}

.rejected-schalter:hover {
  background: var(--wash-1);
  color: var(--text);
}

.rejected-schalter .n {
  font-variant-numeric: tabular-nums;
  opacity: .8;
}

.rejected-schalter .pfeil {
  transition: transform .15s;
  display: inline-block;
}

.rejected-schalter.auf .pfeil {
  transform: rotate(90deg);
}

.summenfuss td {
  background: var(--surface-2);
  border-top: 1px solid var(--border-2);
  vertical-align: middle;
  padding: 10px;
}

.summenfuss .fusstitel {
  text-align: right;
  font-size: 13px;
  font-weight: 650;
}

.summenfuss .fusstitel .klein {
  color: var(--text-3);
  margin-top: 2px;
  font-size: 11px;
  font-weight: 400;
  display: block;
}

.summenfuss td.summe .gross {
  font-size: 15px;
  font-weight: 700;
}

.summenfuss .fusstitel .fehlend {
  color: var(--bad);
  font-weight: 600;
}

.weitere-notices {
  padding: 18px 10px 0;
}

.weitere-notices h3 {
  margin: 0 0 6px;
  font-size: 13px;
  font-weight: 600;
}

.werkzeug-corrections {
  padding: 12px 10px 0;
}

.werkzeug-corrections h3 {
  margin: 0 0 5px;
  font-size: 13px;
  font-weight: 600;
}

.werkzeug-corrections ul {
  gap: 3px;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.werkzeug-corrections li {
  color: var(--text-2);
  flex-wrap: wrap;
  align-items: baseline;
  gap: 2px 8px;
  font-size: 12.5px;
  line-height: 1.45;
  display: flex;
}

.werkzeug-kennung {
  color: var(--text);
  font-variant-numeric: tabular-nums;
}

.werkzeug-feld {
  color: var(--text-3);
  font-size: 11.5px;
}

@container verzeichnis (width <= 860px) {
  table.posten td, table.posten thead th {
    padding: 9px 6px;
  }

  table.posten th:first-child, table.posten td:first-child {
    padding-left: 12px;
  }

  table.posten th:last-child, table.posten td:last-child {
    padding-right: 12px;
  }

  td.leistung {
    min-width: 110px;
  }

  .feld {
    max-width: 44px;
  }

  td.summe .weg {
    display: none;
  }

  th.k-typ, td.typ {
    padding-left: 4px;
    padding-right: 4px;
  }

  table.posten thead th {
    white-space: normal;
  }

  td.entscheidung {
    white-space: nowrap;
  }

  tr.grund td {
    padding-left: 26px;
  }
}

tr.p.ergaenzt {
  cursor: default;
}

tr.p.ergaenzt:hover {
  background: none;
}

tr.p.ergaenzt .feldzelle .wert {
  text-align: right;
  font-variant-numeric: tabular-nums;
  padding: 5px 7px;
  font-size: 13.5px;
  display: block;
}

td.leistung .comment {
  color: var(--text-3);
  margin-top: 2px;
  font-size: 11.5px;
  display: block;
}

td.leistung .konflikthinweis {
  color: var(--text-2);
  margin-top: 3px;
  font-size: 12.5px;
  display: block;
}

td.leistung .konflikthinweis b {
  color: var(--bad);
  font-weight: 600;
}

tr.ergaenzen-zeile > td {
  background: var(--wash-1);
  border-top: 1px solid var(--border);
  padding: 12px 14px;
}

.ergaenzen {
  gap: 8px;
  display: grid;
}

.ergaenzen .reihe {
  flex-wrap: wrap;
  align-items: end;
  gap: 12px;
  display: flex;
}

.ergaenzen label {
  color: var(--text-3);
  gap: 3px;
  font-size: 12px;
  display: grid;
}

.ergaenzen input {
  width: 92px;
}

.ergaenzen input.breit {
  width: 200px;
}

.ergaenzen input.ungueltig {
  border-color: var(--bad);
  outline-color: var(--bad);
}

.ergaenzen .eingabefehler {
  color: var(--bad);
  max-width: 130px;
  font-size: 10.5px;
  line-height: 1.25;
}

.ergaenzen .lookup {
  color: var(--text-2);
  flex-basis: 100%;
  font-size: 12px;
}

.ergaenzen .lookup.ok {
  color: var(--ok);
}

.ergaenzen .lookup.warn {
  color: var(--warn);
}

.ergaenzen .lookup.error {
  color: var(--bad);
}

.ergaenzen .lookup-neu {
  color: inherit;
  font: inherit;
  text-underline-offset: 2px;
  cursor: pointer;
  background: none;
  border: 0;
  margin-left: 8px;
  font-weight: 600;
  text-decoration: underline;
}

.empty {
  color: var(--text-3);
}

.leerstelle {
  color: var(--text-3);
  text-align: center;
  justify-items: center;
  gap: 12px;
  margin: 0;
  padding: 40px 18px;
  display: grid;
}

.leerstelle p {
  margin: 0;
}

.kein-ergebnis {
  gap: 14px;
  max-width: 640px;
  margin: 60px auto;
  padding: 0 20px;
  display: grid;
}

.kein-ergebnis p {
  margin: 0;
}

.kein-ergebnis h2 {
  letter-spacing: -.01em;
  color: var(--titel);
  font-size: 19px;
}

.kein-ergebnis .grund {
  color: var(--bad);
}

.kein-ergebnis .weg {
  color: var(--text-2);
  max-width: 52ch;
  line-height: 1.7;
}

.kein-ergebnis .weg b {
  color: var(--text);
  font-weight: 600;
}

.kein-ergebnis .knoepfe {
  flex-wrap: wrap;
  gap: 8px;
  display: flex;
}

.nichtgefunden {
  justify-items: start;
  gap: 14px;
  max-width: 640px;
  margin: 60px auto;
  padding: 0 20px;
  display: grid;
}

.nichtgefunden .ng-code {
  font: 700 64px / 1 var(--mono);
  letter-spacing: -.04em;
  color: var(--wash-4);
}

.nichtgefunden h2 {
  letter-spacing: -.01em;
  color: var(--titel);
  font-size: 19px;
}

.nichtgefunden .grund {
  color: var(--text-2);
  max-width: 52ch;
}

.nichtgefunden .grund code {
  font: 12.5px var(--mono);
  background: var(--wash-2);
  border-radius: var(--r-xs);
  color: var(--text);
  padding: 1px 6px;
}

.ng-wahl {
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 4px;
  display: flex;
}

.toast {
  background: var(--text);
  color: var(--bg);
  border-radius: var(--r-full);
  box-shadow: var(--shadow-lg);
  z-index: 20;
  pointer-events: none;
  padding: 7px 16px;
  font-size: 13px;
  animation: 2.4s forwards toast-weg;
  position: fixed;
  bottom: 18px;
  left: 50%;
  transform: translateX(-50%);
}

@keyframes toast-weg {
  0%, 75% {
    opacity: 1;
  }

  100% {
    opacity: 0;
  }
}

.laufgrid {
  flex: auto;
  grid-template-columns: minmax(270px, 340px) minmax(0, 1fr);
  min-height: 0;
  display: grid;
  overflow: hidden;
}

.laufgrid.akte {
  grid-template-columns: minmax(220px, 280px) minmax(0, 1.05fr) minmax(0, 1fr);
}

.run-akte {
  border-right: 1px solid var(--border);
  background: var(--surface-2);
  flex-direction: column;
  min-height: 0;
  animation: .2s cubic-bezier(.22, 1, .36, 1) both auftauchen;
  display: flex;
  position: relative;
  overflow: hidden;
}

.akte-bild .skelett {
  aspect-ratio: 210 / 297;
  height: min(100cqh, 141.429cqw);
  margin: auto;
}

.akte-belege {
  border-bottom: 1px solid var(--border);
  flex-wrap: wrap;
  flex: none;
  gap: 5px;
  padding: 8px 10px;
  display: flex;
}

.akte-belege .bm-z {
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  font-family: inherit;
}

.akte-belege .bm-z.warn {
  cursor: default;
}

.akte-belege .bm-z.sel {
  outline: 2px solid var(--accent);
}

.akte-belege .bm-z.matt {
  color: var(--text-3);
  background: var(--wash-2);
  text-decoration: line-through;
}

.akte-bild {
  flex: auto;
  min-height: 0;
  padding: 16px;
  display: flex;
  overflow: auto;
  container-type: size;
}

.akte-pagebox {
  --zoom: 1;
  height: calc(min(100cqh, 100cqw * var(--seite-h) / var(--seite-b)) * var(--zoom));
  aspect-ratio: var(--seite-b) / var(--seite-h);
  flex: none;
  margin: auto;
  position: relative;
}

.akte-bild img {
  border: 1px solid var(--border);
  box-shadow: var(--shadow-sm);
  background: #fff;
  width: 100%;
  height: 100%;
  display: block;
}

.akte-bild .bad, .akte-bild .empty {
  margin: auto;
}

.akte-steuer {
  z-index: 3;
  border-radius: var(--r-full);
  background: color-mix(in oklch, var(--surface) 88%, transparent);
  border: 1px solid var(--border);
  box-shadow: var(--shadow);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  opacity: .6;
  align-items: center;
  gap: 2px;
  padding: 3px;
  transition: opacity .14s;
  display: flex;
  position: absolute;
  bottom: 12px;
  left: 50%;
  translate: -50%;
}

.run-akte:hover .akte-steuer, .akte-steuer:focus-within {
  opacity: 1;
}

.akte-steuer .lbl, .akte-steuer .stufe {
  font: 11.5px / 1 var(--mono);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.akte-steuer .lbl {
  color: var(--text-2);
  padding: 0 5px;
}

.akte-steuer .stufe {
  justify-content: center;
  min-width: 48px;
}

.akte-steuer-naht {
  background: var(--border);
  align-self: stretch;
  width: 1px;
  margin: 2px 4px;
}

.akte-mark {
  background: var(--wash-3);
  box-shadow: 0 0 0 2px var(--wash-3);
  pointer-events: none;
  border-radius: 2px;
  position: absolute;
}

.akte-mark.sel {
  background: var(--marke-soft);
  box-shadow: 0 0 0 2px var(--marke);
  z-index: 2;
}

.akte-mark.klickbar {
  pointer-events: auto;
  cursor: pointer;
}

.akte-mark.klickbar:hover {
  box-shadow: 0 0 0 2px var(--marke);
}

.akte-mark.fundort {
  box-shadow: none;
  border: 2px dashed var(--marke-cyan);
  background: none;
}

.akte-mark.fundort.sel {
  background: var(--marke-soft);
  border-color: var(--marke);
}

.akte-mark.matt {
  box-shadow: 0 0 0 1px var(--border-2);
  background: none;
}

.akte-mark.matt.sel {
  background: var(--wash-2);
  box-shadow: 0 0 0 2px var(--border-2);
}

.akte-mark-tag {
  border-radius: var(--r-xs);
  background: var(--marke-cyan);
  color: oklch(.2 .045 235);
  white-space: nowrap;
  padding: 3px 6px;
  font-size: 10.5px;
  font-style: normal;
  font-weight: 700;
  line-height: 1;
  display: none;
  position: absolute;
  top: 50%;
  right: 100%;
  transform: translate(-6px, -50%);
}

.akte-mark.sel .akte-mark-tag {
  display: block;
}

.run-list {
  border-right: 1px solid var(--border);
  flex-direction: column;
  gap: 2px;
  padding: 8px;
  display: flex;
  overflow-y: auto;
}

.run-row {
  border-radius: var(--r-sm);
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  transition: background .12s;
  display: grid;
}

.run-row:hover {
  background: var(--wash-1);
}

.run-waehlen {
  text-align: left;
  border-radius: var(--r-sm);
  font: inherit;
  background: none;
  border: 0;
  grid-template-rows: auto auto;
  grid-template-columns: 10px minmax(0, 1fr);
  align-items: center;
  gap: 1px 8px;
  width: 100%;
  min-width: 0;
  padding: 7px 6px 8px 9px;
  display: grid;
}

.run-waehlen .run-dot {
  grid-area: 1 / 1;
}

.run-waehlen .run-name {
  grid-area: 1 / 2;
}

.run-waehlen .run-meta {
  grid-area: 2 / 2;
}

.run-waehlen:disabled {
  cursor: default;
}

.run-waehlen:disabled .run-name {
  color: var(--text-3);
}

.run-row.sel {
  background: var(--wash-3);
}

.run-dot {
  border-radius: var(--r-full);
  background: var(--border-2);
  width: 8px;
  height: 8px;
}

.run-dot.s-runningCount {
  background: var(--marke-cyan);
  box-shadow: 0 0 0 3px var(--marke-soft);
  animation: 2.6s ease-in-out infinite atmen;
}

.run-dot.s-fertig {
  background: var(--ok);
}

.run-dot.s-error {
  background: var(--bad);
}

.run-dot.s-abgebrochen {
  background: var(--warn-flaeche);
}

.run-name {
  color: var(--text);
  white-space: nowrap;
  text-overflow: ellipsis;
  min-width: 0;
  font-size: 12.5px;
  font-weight: 600;
  overflow: hidden;
}

.run-meta {
  color: var(--text-3);
  font-variant-numeric: tabular-nums;
  align-items: center;
  gap: 6px;
  min-width: 0;
  font-size: 11.5px;
  display: flex;
}

.run-meta.bad {
  color: var(--ton);
}

.run-meta .quote {
  white-space: nowrap;
}

.run-meta .quote b {
  color: var(--text-2);
  font-weight: 600;
}

.run-meta .quote.fehlt b {
  color: var(--warn);
}

.run-meta .extra {
  color: var(--text-3);
}

.run-taten {
  opacity: .45;
  gap: 2px;
  padding-right: 6px;
  transition: opacity .12s;
  display: flex;
}

.run-row:hover .run-taten, .run-row:focus-within .run-taten, .run-row.sel .run-taten {
  opacity: 1;
}

.run-taten .ikon {
  color: var(--text-2);
}

.run-taten .ikon:hover:not(:disabled) {
  background: var(--wash-3);
}

.dialog {
  width: min(var(--dialog-breite, 92vw), 92vw);
  border-radius: var(--r-lg);
  background: var(--surface);
  color: var(--text);
  box-shadow: var(--shadow-lg);
  border: 0;
  max-height: 84vh;
  padding: 0;
  overflow: hidden;
}

.dialog[open] {
  flex-direction: column;
  display: flex;
}

.dialog::backdrop {
  background: oklch(0 0 0 / .38);
  -webkit-backdrop-filter: blur(2px);
  backdrop-filter: blur(2px);
}

.dialog[open] {
  animation: .16s ease-out dialog-auf;
}

.dialog[open]::backdrop {
  animation: .16s ease-out backdrop-auf;
}

@keyframes dialog-auf {
  from {
    opacity: 0;
    transform: translateY(8px)scale(.99);
  }
}

@keyframes backdrop-auf {
  from {
    opacity: 0;
  }
}

.dialog-kopf {
  border-bottom: 1px solid var(--border);
  flex: none;
  align-items: baseline;
  gap: 12px;
  padding: 14px 16px;
  display: flex;
}

.dialog-kopf h3 {
  margin: 0;
  font-size: 14.5px;
  font-weight: 600;
}

.dialog-kopf .ikon {
  align-self: center;
  margin-left: auto;
}

.dialog-flaeche {
  min-height: 0;
  padding: 0 4px 4px;
  overflow: auto;
}

.tasten-liste {
  columns: 2;
  column-gap: 28px;
  padding: 14px 16px 4px;
}

.tasten-liste section {
  break-inside: avoid;
  margin-bottom: 20px;
}

.tasten-liste h4 {
  color: var(--titel);
  margin: 0 0 4px;
  font-size: 12.5px;
  font-weight: 600;
}

.tasten-liste dl {
  margin: 0;
}

.tastenzeile {
  border-bottom: 1px solid var(--border);
  align-items: baseline;
  gap: 12px;
  padding: 7px 0;
  display: flex;
}

.tastenzeile dt {
  color: var(--text-2);
  flex: 1;
  min-width: 0;
  font-size: 12.5px;
  line-height: 1.35;
}

.tastenzeile dd {
  white-space: nowrap;
  flex: none;
  align-items: center;
  gap: 4px;
  margin: 0 0 0 auto;
  display: flex;
}

.tastenzeile kbd {
  font: 11px var(--mono);
  background: var(--wash-2);
  color: var(--text);
  border-radius: var(--r-xs);
  padding: 2px 6px;
}

.tastenzeile .plus {
  color: var(--text-3);
  margin: 0 2px;
  font-style: normal;
}

@media (max-width: 640px) {
  .tasten-liste {
    columns: 1;
  }
}

.nichts-gewaehlt {
  text-align: center;
  place-items: center;
  height: 100%;
  padding: 40px 24px;
  display: grid;
}

.nichts-gewaehlt p {
  color: var(--text-3);
  max-width: 42ch;
  margin: 0;
}

.pane-kopf {
  z-index: 5;
  background: var(--bg);
  border-bottom: 1px solid var(--border);
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin: -16px -16px 12px;
  padding: 9px 16px;
  display: flex;
  position: sticky;
  top: -16px;
}

.denk {
  border-left: 2px solid var(--border-2);
  margin: 5px 0 7px;
  padding: 6px 0 6px 10px;
}

.denk-kopf {
  color: var(--text-3);
  align-items: baseline;
  gap: 7px;
  font-size: 11.5px;
  display: flex;
}

.denk-zahl {
  font-variant-numeric: tabular-nums;
  opacity: .75;
}

.denk-text {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  font: 11.5px / 1.55 var(--mono);
  color: var(--text-3);
  margin-top: 4px;
}

.miss-panel {
  border-left: 2px solid var(--border);
  max-width: 1180px;
  margin: 14px 0 4px;
  padding-left: 12px;
}

.miss-panel > h4 {
  color: var(--text-2);
  margin: 16px 0 7px;
}

.miss-panel > h4:first-child {
  color: var(--titel);
  margin-top: 0;
  font-size: 13px;
}

.miss-panel > h4:not(:first-child) {
  font-variant-numeric: tabular-nums;
}

.bm-summary {
  border-bottom: 1px solid var(--border);
  max-width: 1180px;
  margin-bottom: 16px;
  padding: 0 0 14px;
}

.bm-head {
  flex-wrap: wrap;
  align-items: baseline;
  gap: 10px;
  font-size: 14px;
  display: flex;
}

.bm-head b {
  letter-spacing: -.01em;
}

.bm-table td:first-child {
  white-space: nowrap;
}

.bm-table:has(tr.bm-detailrow) {
  max-width: none;
}

tr.bm-case {
  cursor: pointer;
}

tr.bm-case.open td {
  background: var(--wash-2);
}

tr.bm-case.open td:first-child {
  box-shadow: inset 2px 0 0 var(--accent);
}

.bm-caret {
  color: var(--text-3);
  width: 14px;
  display: inline-block;
}

tr.bm-detailrow td, tr.bm-detailrow:hover td {
  background: var(--surface-2);
}

.bm-detail {
  white-space: normal;
  padding: 6px 0 10px;
}

.bm-cols {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  display: grid;
}

.bm-cols > div {
  min-width: 0;
}

.bm-cols h5 {
  color: var(--text-3);
  align-items: center;
  gap: 6px;
  margin: 2px 0 8px;
  font-size: 11.5px;
  font-weight: 650;
  display: flex;
}

.bm-row {
  align-items: baseline;
  gap: 8px;
  margin: 0 0 6px;
  font-size: 12.5px;
  display: flex;
}

.bm-txt {
  overflow-wrap: anywhere;
  min-width: 0;
}

.bm-txt i {
  color: var(--text-3);
  font-style: normal;
}

.bm-txt .bm-fehl {
  color: var(--bad);
}

.bm-txt .bm-oder {
  color: var(--warn);
  white-space: nowrap;
  cursor: help;
  margin-right: 6px;
  font-weight: 600;
}

.bm-txt .zitat {
  color: var(--text-3);
  margin-top: 3px;
  font-size: 11.5px;
  font-style: normal;
  line-height: 1.5;
  display: block;
}

.bm-z {
  text-align: center;
  border-radius: var(--r-xs);
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
  color: var(--ton);
  background: var(--ton-lasur);
  border: 1px solid #0000;
  flex: none;
  min-width: 46px;
  padding: 1px 6px;
  font-size: 11.5px;
  font-weight: 650;
  display: inline-block;
}

.bm-z.fundort {
  border-style: dashed;
  border-color: currentColor;
}

.balken {
  border-radius: var(--r-full);
  background: var(--wash-1);
  gap: 1px;
  min-width: 40px;
  height: 9px;
  display: flex;
  overflow: hidden;
}

.balken.duenn {
  height: 6px;
}

.balken-seg {
  background: var(--ton-flaeche, var(--ton));
  min-width: 2px;
}

.balken-legende {
  font-variant-numeric: tabular-nums;
  flex-wrap: wrap;
  gap: 3px 14px;
  margin-top: 7px;
  font-size: 11.5px;
  display: flex;
}

.balken-legende > span {
  color: var(--text-3);
  align-items: center;
  gap: 5px;
  display: inline-flex;
}

.balken-legende b {
  color: var(--text);
  font-weight: 600;
}

.balken-anteil {
  opacity: .65;
}

.balken-punkt {
  border-radius: var(--r-full);
  background: var(--ton-flaeche, var(--ton, var(--text-3)));
  flex: none;
  width: 7px;
  height: 7px;
}

.legende-satz {
  color: var(--text-3);
  flex-basis: 100%;
  max-width: 86ch;
  margin-top: 3px;
  font-size: 11px;
  line-height: 1.6;
  display: block;
}

.balkenreihe {
  grid-template-columns: repeat(auto-fit, minmax(290px, 1fr));
  gap: 8px 34px;
  max-width: 1180px;
  display: grid;
}

.balkenblock {
  min-width: 0;
  padding: 2px 0 4px;
}

.balkenblock-kopf {
  align-items: baseline;
  gap: 10px;
  margin-bottom: 9px;
  display: flex;
}

.balkenblock-titel {
  color: var(--text-2);
  font-size: 12px;
  font-weight: 600;
}

.balkenblock-wert {
  letter-spacing: -.01em;
  font-variant-numeric: tabular-nums;
  margin-left: auto;
  font-size: 13.5px;
}

.kennwerte {
  margin: 0 0 22px;
}

.kennwerte-kopf {
  flex-wrap: wrap;
  align-items: baseline;
  gap: 12px;
  margin-bottom: 10px;
  display: flex;
}

.kennwerte-kopf h4 {
  margin: 0;
  font-size: 13px;
}

.kennwerte-gitter {
  grid-template-columns: repeat(auto-fit, minmax(330px, 1fr));
  gap: 4px 34px;
  display: grid;
}

.kennwert-gruppe {
  flex-direction: column;
  min-width: 0;
  padding: 0 0 6px;
  display: flex;
}

.table.kennwert-tab {
  max-width: none;
  font-size: 12px;
}

.kennwert-tab thead th:first-child {
  color: var(--titel);
  font-size: 12px;
  font-weight: 650;
}

.kennwert-tab th {
  padding: 4px 6px 6px;
  position: static;
}

.kennwert-tab td {
  vertical-align: baseline;
  border-bottom: 0;
  padding: 4px 6px;
}

.kennwert-tab tbody tr:hover td {
  background: var(--wash-1);
}

.kennwert-tab td:first-child {
  color: var(--text-2);
  font-weight: 400;
}

.kennwert-tab td.stark {
  color: var(--text);
  font-size: 12.5px;
  font-weight: 650;
}

.kennwert-tab td.spanne {
  color: var(--text-3);
  font-size: 11.5px;
}

.hinweisreihe {
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 10px;
  max-width: 1180px;
  margin-top: 10px;
  display: flex;
}

.hinweis-chip b {
  color: var(--text);
  font-variant-numeric: tabular-nums;
  font-weight: 650;
}

.balkenspalte {
  width: 132px;
}

td.balkenzelle {
  vertical-align: middle;
  width: 132px;
}

td.balkenzelle .balken + .balken {
  margin-top: 3px;
}

tr.summenzeile td {
  border-top: 1px solid var(--border-2);
  color: var(--text-2);
  border-bottom: 0;
  font-weight: 600;
}

tr.summenzeile td:first-child {
  color: var(--text-3);
}

.table tbody tr.summenzeile:hover td {
  background: none;
}

.dateipfad {
  font-family: var(--mono);
  color: var(--text-3);
  overflow-wrap: anywhere;
  font-size: 11.5px;
}

.dateipfad b {
  color: var(--text);
  font-weight: 600;
}

.table td:first-child .dateipfad {
  font-weight: 400;
}

.dateipfad .pill.weg {
  font-style: normal;
  font-family: var(--font);
  margin-left: 6px;
}

.verlauf {
  max-width: 1180px;
  margin-bottom: 14px;
  padding: 2px 0 11px;
}

.verlauf-bild {
  width: 100%;
  height: auto;
  margin: 4px 0 2px;
  display: block;
}

.verlauf-gitter {
  stroke: var(--border);
  stroke-width: 1px;
}

.verlauf-achse {
  fill: var(--text-3);
  font-variant-numeric: tabular-nums;
  font-size: 11px;
}

.verlauf-achse.gewaehlt {
  fill: var(--text);
  font-weight: 600;
}

.verlauf-wahl {
  stroke: var(--accent-line);
  stroke-width: 1.5px;
  stroke-dasharray: 3 3;
}

.verlauf-linie {
  fill: none;
  stroke: var(--ton);
  stroke-width: 1.75px;
  stroke-linejoin: round;
  stroke-linecap: round;
}

.verlauf-linie.stark {
  stroke-width: 2.75px;
}

.verlauf-punkt {
  fill: var(--ton);
  stroke: var(--surface);
  stroke-width: 1.5px;
}

.verlauf-punkt.duenn {
  fill: var(--surface);
  stroke: var(--ton);
  stroke-width: 2px;
}

.verlauf-punkt.gewaehlt {
  stroke-width: 2px;
}

.verlauf-spalte {
  fill: #0000;
  cursor: pointer;
}

.verlauf-spalte:hover {
  fill: var(--wash-1);
}

.verlauf-diff {
  margin-left: 7px;
  font-size: 12px;
  font-weight: 600;
}

.seg {
  background: var(--wash-1);
  border-radius: var(--r-sm);
  gap: 2px;
  padding: 2px;
  display: inline-flex;
}

.seg button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  color: var(--text-3);
  font: inherit;
  border-radius: var(--r-xs);
  cursor: pointer;
  white-space: nowrap;
  background: none;
  border: 0;
  padding: 3px 9px;
  font-size: 11.5px;
}

.seg button:hover {
  color: var(--text);
}

.seg button.on {
  background: var(--surface);
  color: var(--text);
  box-shadow: var(--shadow-sm);
}

.metrics-tafel {
  max-width: 1180px;
  margin-bottom: 14px;
}

.stats.tafel {
  border-top: 1px solid var(--border);
  grid-template-columns: repeat(auto-fit, minmax(114px, 1fr));
  padding-top: 4px;
}

.stats.tafel .stat {
  padding-left: 0;
}

.zeitband {
  margin-top: 12px;
}

.metrics-tafel .fussnote {
  margin-top: 10px;
}

.werkzeug-tab {
  max-width: 580px;
}

.werkzeug-tab .balkenspalte, .werkzeug-tab td.balkenzelle {
  width: 96px;
}

.datenblock {
  flex-direction: column;
  flex: auto;
  min-height: 0;
  display: flex;
  overflow: hidden;
}

.datenblock-kopf {
  border-bottom: 1px solid var(--border);
  flex: none;
  align-items: center;
  gap: 10px;
  padding: 8px 16px;
  display: flex;
}

.datenblock-flaeche {
  flex: auto;
  min-height: 0;
  padding: 0 16px 16px;
  overflow: auto;
}

.table.daten {
  width: max-content;
  min-width: 100%;
  max-width: none;
}

.table.daten th {
  top: 0;
}

.table.daten td {
  vertical-align: middle;
}

.table.daten th.fallspalte, .table.daten td.fallspalte {
  z-index: 1;
  white-space: nowrap;
  background: var(--bg);
  position: sticky;
  left: 0;
}

.table.daten th.fallspalte {
  z-index: 3;
  background: var(--surface);
}

.table.daten tbody tr:hover td.fallspalte {
  background: var(--surface-2);
}

.fallwahl {
  cursor: pointer;
  align-items: center;
  gap: 7px;
  display: inline-flex;
}

.fallwahl input {
  cursor: pointer;
  accent-color: var(--accent);
  margin: 0;
}

.table.daten tr.ab td {
  opacity: .38;
}

.table.daten tr.ab td.fallspalte {
  opacity: 1;
  color: var(--text-3);
}

.table.daten tr.ab td.fallspalte .fallwahl {
  text-decoration: line-through;
}

.table.daten td.knapp {
  white-space: nowrap;
  font-size: 11px;
}

.table.daten td.knapp .warn, .table.daten td.knapp .bad {
  font-weight: 600;
}

.table.daten .summenzeile td.fallspalte .lbl {
  font-weight: 400;
}

.zchips {
  flex-wrap: wrap;
  gap: 3px;
  max-width: 260px;
  display: flex;
}

.zchip {
  font: 600 11px / 1.4 var(--mono);
  border-radius: var(--r-xs);
  white-space: nowrap;
  cursor: help;
  color: var(--ton);
  background: var(--ton-lasur);
  padding: 1px 5px;
}

@media (max-width: 1100px) {
  .laufgrid {
    grid-template-columns: minmax(210px, 260px) minmax(0, 1fr);
  }

  .laufgrid.akte {
    grid-template-columns: minmax(180px, 220px) minmax(0, 1fr) minmax(0, 1fr);
  }

  .bm-cols {
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
  }
}

@media (max-width: 1080px) {
  .workspace {
    --aussenrand: 5px;
  }

  .pruefung {
    grid-template-rows: auto;
    grid-template-columns: minmax(0, 1fr);
    grid-auto-rows: min-content;
    overflow-y: auto;
  }

  .doku-spalte, .pruefung .run-akte {
    border-right: 0;
    border-bottom: 1px solid var(--border);
    max-height: 60vh;
  }

  .pruefung .run-akte {
    height: 60vh;
  }

  .posten-spalte {
    overflow-y: visible;
  }

  .teiler {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .spin:after, .run-dot.s-runningCount, .skelett:after, .run-akte, mark.aktiv, tr.p.blitzt > td {
    animation: none;
  }

  .teiler:before, .teiler .marke {
    transition: none;
  }

  .schimmer {
    color: var(--text-3);
    background: none;
    -webkit-background-clip: initial;
    background-clip: initial;
    animation: none;
  }
}

.app-start {
  color: var(--text);
  background: var(--bg);
  text-align: center;
  place-content: center;
  gap: 12px;
  min-height: 100%;
  padding: 32px;
  display: grid;
}

.app-start h1, .app-start p {
  margin: 0;
}

.app-start .small {
  color: var(--text-2);
  max-width: 560px;
}

.app-start dl {
  text-align: left;
  grid-template-columns: auto auto;
  justify-content: center;
  gap: 4px 18px;
  margin: 10px 0;
  display: grid;
}

.app-start dt {
  color: var(--text-3);
}

.app-start dd {
  font-family: var(--mono);
  margin: 0;
}

