:root {
  /* Basis */
  --color-bg: #f8f7f3;
  --color-surface: #f4f7f8;
  --color-surface-alt: #ffffff;
  --color-border: #d8e2e5;
  --color-text: #1f2933;
  /* Tabellen: Fließtext Anthrazit, Verweise Petrol */
  --color-table-text: #1f2933;
  --color-table-link: #256d7b;
  --color-table-link-hover: #1d5663;
  --color-text-muted: #52606d;

  /* Akzente: Petrol für Links, Buttons, Überschriften */
  --color-heading: #123a46;
  --color-primary: #123a46;
  --color-primary-hover: #0e2f38;
  --color-success: #6f8f72;
  --color-warning: #c58a2a;
  --color-danger: #a94a4a;
  --color-focus: #123a46;

  /* Native Checkbox/Radio: gefüllter Zustand (Safari/Chrome accent-color) */
  --color-checkbox-accent: #256d7b;

  /* Warmes Braun: Header-Rand & Akzentlinien (nicht Flächenrahmen) */
  --color-accent-brown: #8b7355;

  /*
   * Navigation (Sidebar) — Clinical Clean / Scandinavian Medical
   * Kanonische Quelle: --om-sidebar-*; Legacy --color-nav-* / --sidebar-* als Aliase.
   */
  --om-sidebar-bg: #163f43;
  --om-sidebar-hover: #205257;
  --om-sidebar-active: #4e756b;
  --om-sidebar-text: #f2f6f4;
  --om-sidebar-text-muted: #c3d1cc;
  --om-sidebar-section: #91aba3;
  --om-sidebar-divider: rgba(255, 255, 255, 0.1);
  --om-sidebar-badge-bg: #dde9e4;
  --om-sidebar-badge-text: #31554c;
  --om-sidebar-badge-warning: #d3a45b;
  --om-sidebar-badge-critical: #c95d57;

  /* Kompatibilitäts-Aliase (eine Palette, keine Parallelwelt) */
  --om-sidebar-muted: var(--om-sidebar-text-muted);
  --om-sidebar-border: var(--om-sidebar-divider);

  --color-nav-bg: var(--om-sidebar-bg);
  --color-nav-text: var(--om-sidebar-text);
  --color-nav-text-muted: var(--om-sidebar-text-muted);
  --color-nav-hover: var(--om-sidebar-hover);
  --color-nav-active-bg: var(--om-sidebar-active);
  --color-nav-active-text: #ffffff;
  --color-nav-border: var(--om-sidebar-divider);

  --sidebar-bg: var(--om-sidebar-bg);
  --sidebar-hover: var(--om-sidebar-hover);
  --sidebar-active: var(--om-sidebar-active);
  --sidebar-text: var(--om-sidebar-text);
  --sidebar-muted: var(--om-sidebar-text-muted);
  --sidebar-border: var(--om-sidebar-divider);

  --color-header-bg: #ffffff;

  /* Semantic blends (precomputed; replaces per-selector color-mix) */
  --color-blend-primary-tint: rgba(18, 58, 70, 0.08);
  --color-blend-surface-card: #fdfefe;
  --color-blend-surface-card-88: #fefefe;
  --color-blend-primary-border-soft: rgba(18, 58, 70, 0.35);
  --color-blend-success-border: #a9bdb1;
  --color-blend-success-border-kpi: #bbcbc5;
  --color-blend-success-bg: #f1f4f1;
  --color-blend-success-border-strong: #9eb4a6;
  --color-blend-success-bg-medium: #dce4e0;
  --color-blend-success-bg-soft: #e4ebe8;
  --color-blend-success-bg-surface: #e1e8e5;
  --color-blend-success-text: #57705f;
  --color-blend-success-text-strong: #5b7662;
  --color-blend-success-text-medium: #536b5c;
  --color-blend-success-text-soft: #4b6156;
  --color-blend-warning-text: #936d2d;
  --color-blend-warning-text-strong: #9c722c;
  --color-blend-warning-text-kpi: #7a5e2e;
  --color-blend-danger-text: #8d4345;
  --color-blend-danger-text-strong: #944547;
  --color-blend-border-faint: rgba(216, 226, 229, 0.85);
  --color-blend-surface-hover: #f1f5f6;
  --color-blend-border-soft: rgba(216, 226, 229, 0.70);
  --color-blend-primary-border: rgba(18, 58, 70, 0.40);
  --color-blend-surface-glass: rgba(255, 255, 255, 0.90);
  --color-blend-primary-text-strong: #143743;
  --color-blend-border-dashed: rgba(216, 226, 229, 0.80);
  --color-blend-surface-glass-muted: rgba(244, 247, 248, 0.55);
  --color-blend-danger-tint: rgba(169, 74, 74, 0.12);
  --color-blend-warning-tint: rgba(197, 138, 42, 0.12);
  --color-blend-link-border-hover: #87adb5;
  --color-blend-link-ring: rgba(37, 109, 123, 0.24);
  --color-blend-warning-bg-soft: #f7efe1;
  --color-blend-surface-track: #f7f9fa;
  --color-blend-link-border: #90b3bb;
  --color-blend-surface-hover-strong: #fafcfc;
  --color-blend-primary-on-surface-alt: #e3e7e9;
  --color-blend-link-border-active: #76a2ab;
  --color-blend-link-ring-strong: rgba(37, 109, 123, 0.28);
  --color-blend-surface-hover-subtle: #fcfdfd;
  --color-blend-surface-muted-85: #f0f4f5;
  --color-blend-surface-muted-88: #f1f4f6;
  --color-blend-surface-muted-90: #f1f5f6;
  --color-blend-reporting-card: #fcfdfd;
  --color-blend-primary-on-card: #dee3e5;
  --color-blend-link-border-reporting: #7ea8b0;
  --color-blend-link-ring-reporting: rgba(37, 109, 123, 0.30);
  --color-blend-warning-border: #ceb688;
  --color-blend-warning-tint-soft: rgba(197, 138, 42, 0.14);
  --color-blend-heading-ring: rgba(18, 58, 70, 0.35);
  --color-blend-primary-accent: #8da2a9;
  --color-blend-warning-border-kpi: #d1c3a4;
  --color-blend-warning-bg-kpi: #f8f1e5;
  --color-blend-danger-border-kpi: #cab4b6;
  --color-blend-danger-bg-kpi: #f6eded;
  --color-blend-danger-text-kpi: #6f3c40;
  --color-blend-primary-border-kpi: #acbdc2;
  --color-blend-primary-bg-kpi: #eceff0;
  --color-blend-primary-text-kpi: #1a2f3a;
  --color-blend-danger-border-badge: #c39e9f;
  --color-blend-danger-bg-badge: #eadfe0;
  --color-blend-danger-text-badge: #804043;
  --color-blend-warning-border-badge: #cfba91;
  --color-blend-warning-bg-badge: #eeeadf;
  --color-blend-warning-text-badge: #9c722c;
  --color-blend-primary-border-badge: #7f969d;
  --color-blend-primary-bg-badge: #d9e0e3;
  --color-blend-primary-text-badge: #17343f;

  /*
   * OncoMax Clinical Tokens
   * Ziel: 70 % Clinical Clean / 30 % Scandinavian Medical
   * Sidebar- und Shell-Tokens kanonisch; Content-Karten nicht flächig umfärben.
   */
  --om-bg: var(--color-bg);
  --om-page-bg: #f6f7f4;
  --om-surface: #ffffff;
  --om-surface-soft: #f8f9f7;
  --om-surface-card: var(--color-blend-surface-card);
  --om-surface-muted: var(--color-blend-surface-muted-90);
  --om-surface-sage: var(--color-blend-success-bg);
  --om-surface-sage-soft: var(--color-blend-success-bg-soft);
  --om-surface-petrol-soft: var(--color-blend-primary-tint);
  --om-surface-sand: var(--color-blend-warning-bg-soft);
  --om-border: #dde4e0;
  --om-border-subtle: var(--color-blend-border-faint);
  --om-border-accent: var(--color-blend-primary-border-soft);
  --om-text: #1f2d2e;
  --om-text-muted: #687876;
  --om-heading: var(--color-heading);
  --om-primary: #557c70;
  --om-primary-hover: #476a61;
  --om-accent: var(--color-checkbox-accent);
  --om-accent-strong: var(--color-primary);
  --om-success: #638777;
  --om-success-text: var(--color-blend-success-text-strong);
  --om-warning: #c49a55;
  --om-warning-text: var(--color-blend-warning-text-strong);
  --om-warning-border: var(--color-blend-warning-border);
  --om-danger: #c95d57;
  --om-danger-text: var(--color-blend-danger-text-strong);
  --om-danger-tint: var(--color-blend-danger-tint);
  --om-radius-sm: 8px;
  --om-radius: 10px;
  --om-radius-lg: 12px;
  --om-space-1: 0.25rem;
  --om-space-2: 0.5rem;
  --om-space-3: 0.75rem;
  --om-space-4: 1rem;
  --om-space-5: 1.25rem;
  --om-shadow: none;
  --om-shadow-soft: 0 1px 2px rgba(18, 58, 70, 0.045);
  --om-font-size-label: 0.78rem;
  --om-font-size-body: 0.9rem;
  --om-font-size-title: 0.82rem;
  --om-line-height: 1.4;

  /* Seitenfläche unter der Topbar (Content) */
  --page-bg: var(--om-page-bg);
}

/* Dunkelmodus: petrol-warm, ohne kaltes Blau-Schwarz */
@media (prefers-color-scheme: dark) {
  :root {
    --color-bg: #15262c;
    --color-surface: #1b3139;
    --color-surface-alt: #223a44;
    --color-border: #2f4a54;
    --color-text: #e8eef0;
    --color-table-text: var(--color-text);
    --color-table-link: var(--color-primary);
    --color-table-link-hover: var(--color-primary-hover);
    --color-text-muted: #9fb0b8;

    --color-heading: #c9dae1;
    --color-primary: #6eb8c9;
    --color-primary-hover: #5aa5b8;
    --color-success: #7faa82;
    --color-warning: #d9a84e;
    --color-danger: #c96b6b;
    --color-focus: #6eb8c9;

    /* Checkbox-Füllung (Petrol heller als Primärfläche) */
    --color-checkbox-accent: #256d7b;

    --color-accent-brown: #a69078;

    /* Sidebar: etwas tiefer, gleiche Salbei-Logik (kein leuchtendes Türkis) */
    --om-sidebar-bg: #122f32;
    --om-sidebar-hover: #1a4549;
    --om-sidebar-active: #45685f;
    --om-sidebar-text: #f2f6f4;
    --om-sidebar-text-muted: #b0c2bc;
    --om-sidebar-section: #7f9a92;
    --om-text: #e8eef0;
    --om-text-muted: #9fb0b8;
    --om-surface-soft: #223a44;
    --om-sidebar-divider: rgba(255, 255, 255, 0.1);

    --color-header-bg: #1b3139;

    --color-blend-primary-tint: rgba(110, 184, 201, 0.08);
    --color-blend-surface-card: #213942;
    --color-blend-surface-card-88: #213943;
    --color-blend-primary-border-soft: rgba(110, 184, 201, 0.35);
    --color-blend-success-border: #537569;
    --color-blend-success-border-kpi: #456561;
    --color-blend-success-bg: #2b454a;
    --color-blend-success-border-strong: #5b7f6d;
    --color-blend-success-bg-medium: #2d4746;
    --color-blend-success-bg-soft: #274042;
    --color-blend-success-bg-surface: #294243;
    --color-blend-success-text: #9ebea3;
    --color-blend-success-text-strong: #99bb9e;
    --color-blend-success-text-medium: #a4c2a8;
    --color-blend-success-text-soft: #aec9b4;
    --color-blend-warning-text: #debd7f;
    --color-blend-warning-text-strong: #ddba76;
    --color-blend-warning-text-kpi: #e0c897;
    --color-blend-danger-text: #cf8586;
    --color-blend-danger-text-strong: #ce7f7f;
    --color-blend-border-faint: rgba(47, 74, 84, 0.85);
    --color-blend-surface-hover: #27404a;
    --color-blend-border-soft: rgba(47, 74, 84, 0.70);
    --color-blend-primary-border: rgba(110, 184, 201, 0.40);
    --color-blend-surface-glass: rgba(34, 58, 68, 0.90);
    --color-blend-primary-text-strong: #80c0cf;
    --color-blend-border-dashed: rgba(47, 74, 84, 0.80);
    --color-blend-surface-glass-muted: rgba(27, 49, 57, 0.55);
    --color-blend-danger-tint: rgba(201, 107, 107, 0.12);
    --color-blend-warning-tint: rgba(217, 168, 78, 0.12);
    --color-blend-link-border-hover: #4b7c89;
    --color-blend-link-ring: rgba(110, 184, 201, 0.24);
    --color-blend-warning-bg-soft: #3c4945;
    --color-blend-surface-track: #253d47;
    --color-blend-link-border: #487683;
    --color-blend-surface-hover-strong: #243c46;
    --color-blend-primary-on-surface-alt: #2b4954;
    --color-blend-link-border-active: #528694;
    --color-blend-link-ring-strong: rgba(110, 184, 201, 0.28);
    --color-blend-surface-hover-subtle: #233b45;
    --color-blend-surface-muted-85: #1e353d;
    --color-blend-surface-muted-88: #1d343c;
    --color-blend-surface-muted-90: #1d343c;
    --color-blend-reporting-card: #233b45;
    --color-blend-primary-on-card: #2d4c57;
    --color-blend-link-border-reporting: #4e818e;
    --color-blend-link-ring-reporting: rgba(110, 184, 201, 0.30);
    --color-blend-warning-border: #847951;
    --color-blend-warning-tint-soft: rgba(217, 168, 78, 0.14);
    --color-blend-heading-ring: rgba(201, 218, 225, 0.35);
    --color-blend-primary-accent: #477480;
    --color-blend-warning-border-kpi: #6a6b52;
    --color-blend-warning-bg-kpi: #384745;
    --color-blend-danger-border-kpi: #5d545b;
    --color-blend-danger-bg-kpi: #333f48;
    --color-blend-danger-text-kpi: #d6a2a3;
    --color-blend-primary-border-kpi: #3d626e;
    --color-blend-primary-bg-kpi: #28444f;
    --color-blend-primary-text-kpi: #bddbe2;
    --color-blend-danger-border-badge: #74595e;
    --color-blend-danger-bg-badge: #333940;
    --color-blend-danger-text-badge: #d29293;
    --color-blend-warning-border-badge: #7c7451;
    --color-blend-warning-bg-badge: #323f3c;
    --color-blend-warning-text-badge: #ddba76;
    --color-blend-primary-border-badge: #4b7c89;
    --color-blend-primary-bg-badge: #25414a;
    --color-blend-primary-text-badge: #99cbd7;
  }
}

* {
  box-sizing: border-box;
}

body.app{
  margin: 0;
  background: var(--color-bg);
  color: var(--color-text);
  font-family: "Segoe UI", Arial, sans-serif;
}

.app-shell {
  display: grid;
  grid-template-columns: var(--sidebar-width, 240px) minmax(0, 1fr);
  grid-template-rows: var(--header-height, 64px) auto;
  grid-template-areas:
    "topbar topbar"
    "sidebar content";
  min-height: 100vh;
}

.app-sidebar {
  grid-area: sidebar;
  background: var(--om-sidebar-bg, var(--sidebar-bg, var(--color-nav-bg)));
  border-right: 1px solid var(--om-sidebar-divider, var(--om-sidebar-border, var(--sidebar-border, var(--color-nav-border))));
  padding: 0;
}

.app-topbar {
  grid-area: topbar;
  padding: 0 1.25rem;
  border-bottom: 1px solid var(--om-border-subtle, var(--color-border));
  background: var(--color-header-bg);
}

.app-content {
  grid-area: content;
  background: var(--om-page-bg, var(--page-bg, var(--om-bg, var(--color-bg))));
  min-width: 0;
}

.col-right,
.module-card,
.context-panel {
  background: var(--color-surface-alt);
  border: 1px solid var(--color-border);
  border-radius: 10px;
}

.context-panel__actions {
  margin: 0 0 0.75rem;
  font-size: 0.95rem;
}

.col-main {
  padding: 0;
}

.col-right {
  padding: 1rem;
}

/* Fall-Detail: Workflow-Timeline (kompakt, dezent) */
.case-workflow-timeline.module-card {
  padding: 0.65rem 0.75rem 0.7rem;
  margin: 0.5rem 0 0.75rem;
}
.case-workflow-timeline__track {
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-start;
  gap: 0;
  overflow-x: auto;
  padding: 0.35rem 0.15rem 0.2rem;
}
.case-workflow-timeline__step {
  position: relative;
  flex: 1 1 0;
  min-width: 3.75rem;
  max-width: 7rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
/* Verbindungslinie zwischen Dots (gruen bis zum aktuellen Schritt) */
.case-workflow-timeline__step:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 7px;
  left: calc(50% + 8px);
  width: calc(100% - 8px);
  height: 2px;
  background: var(--color-border, #c8c4bc);
  z-index: 0;
  pointer-events: none;
}
.case-workflow-timeline__step.is-done:not(:last-child)::after {
  background: var(--color-workflow-done, #2e7d32);
}
.case-workflow-timeline__step-display {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
}
.case-workflow-timeline__step-btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
  font: inherit;
  color: inherit;
  cursor: pointer;
  text-align: center;
}
.case-workflow-timeline__step-btn:hover .case-workflow-timeline__dot,
.case-workflow-timeline__step-btn:focus-visible .case-workflow-timeline__dot {
  background: var(--color-primary-muted, #5a8fc4);
  box-shadow: 0 0 0 2px var(--color-primary-muted, #5a8fc4);
}
.case-workflow-timeline__step-btn:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
  border-radius: 4px;
}
.case-workflow-jump-dialog__message {
  margin: 0;
  line-height: 1.5;
}
.case-workflow-jump-dialog__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.5rem;
  padding: 0.75rem 0 0;
  border-top: 1px solid var(--color-border);
  margin-top: 0.75rem;
}
.case-workflow-timeline__dot {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: var(--color-border, #c8c4bc);
  border: 1.5px solid var(--color-surface, #fff);
  box-shadow: 0 0 0 1px var(--color-border, #c8c4bc);
}
.case-workflow-timeline__check {
  font-size: 0.58rem;
  font-weight: 700;
  line-height: 1;
  color: #fff;
}
.case-workflow-timeline__step.is-done .case-workflow-timeline__dot {
  background: var(--color-workflow-done, #3d7a47);
  box-shadow: 0 0 0 1px var(--color-workflow-done, #3d7a47);
}
.case-workflow-timeline__step.is-done.is-warning .case-workflow-timeline__dot {
  background: var(--color-warn, #b45309);
  box-shadow: 0 0 0 1px var(--color-warn, #b45309);
}
.case-workflow-timeline__step.is-done.is-warning:not(:last-child)::after {
  background: var(--color-warn, #b45309);
}
.case-workflow-timeline__step.is-done .case-workflow-timeline__label {
  color: var(--color-workflow-done, #3d7a47);
}
.case-workflow-timeline__step.is-done.is-warning .case-workflow-timeline__label {
  color: var(--color-warn, #b45309);
}
.case-workflow-timeline__step.is-current.is-warning .case-workflow-timeline__dot {
  width: 16px;
  height: 16px;
  background: var(--color-warn, #b45309);
  box-shadow: 0 0 0 1px var(--color-warn, #b45309);
}
.case-workflow-timeline__step.is-current.is-warning .case-workflow-timeline__label {
  color: var(--color-warn, #b45309);
  font-weight: 600;
}
.case-workflow-timeline__current-missing {
  margin: 0.5rem 0 0;
  font-size: 0.8125rem;
}
.case-workflow-timeline__warn {
  font-size: 0.72rem;
  font-weight: 800;
  line-height: 1;
  color: #fff;
}
.case-workflow-timeline__step.is-current .case-workflow-timeline__dot {
  width: 18px;
  height: 18px;
  background: var(--color-primary);
  box-shadow: 0 0 0 2px var(--color-primary-muted, rgba(18, 58, 70, 0.18));
}
/* Aktueller Schritt noch offen: kein Häkchen (blauer Punkt). */
.case-workflow-timeline__step.is-current:not(.is-done) .case-workflow-timeline__dot .case-workflow-timeline__check {
  display: none;
}
/* Aktueller Schritt vollständig (z. B. Abrechnung abgerechnet + VNk/VNg): grün mit Häkchen. */
.case-workflow-timeline__step.is-current.is-done .case-workflow-timeline__dot {
  width: 16px;
  height: 16px;
  background: var(--color-workflow-done, #3d7a47);
  box-shadow: 0 0 0 1px var(--color-workflow-done, #3d7a47);
}
.case-workflow-timeline__step.is-current.is-done .case-workflow-timeline__dot .case-workflow-timeline__check {
  display: inline-flex;
}
.case-workflow-timeline__step.is-current.is-done .case-workflow-timeline__label {
  color: var(--color-workflow-done, #3d7a47);
  font-weight: 500;
}
.case-workflow-timeline__step.is-upcoming .case-workflow-timeline__dot {
  background: var(--color-surface-alt, #f0eeea);
  box-shadow: 0 0 0 1px var(--color-border, #c8c4bc);
}
.case-workflow-timeline__step.is-inactive .case-workflow-timeline__dot {
  opacity: 0.45;
}
.case-workflow-timeline__closed-hint {
  margin: 0 0 0.35rem;
  font-size: 0.8125rem;
  color: var(--color-workflow-done, #2e7d32);
}
.case-workflow-timeline__step.is-optional {
  flex: 0.85 1 0;
  min-width: 3.25rem;
  opacity: 0.92;
}
/* Verbindung Abrechnung → Follow Up: gestrichelt (Linie sitzt am Vorgänger-Schritt). */
.case-workflow-timeline__step:has(+ .case-workflow-timeline__step.is-optional):not(:last-child)::after {
  top: 7px;
  height: 0;
  background: none;
  border-top: 2px dashed var(--color-border, #c8c4bc);
}
.case-workflow-timeline__step.is-done:has(+ .case-workflow-timeline__step.is-optional):not(:last-child)::after {
  background: none;
  border-top-color: var(--color-workflow-done, #2e7d32);
}
.case-workflow-timeline__optional-tag {
  display: block;
  font-size: 0.625rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  color: var(--color-text-muted, #6b6560);
  line-height: 1.2;
}
.case-workflow-timeline--closed .case-workflow-timeline__step.is-optional .case-workflow-timeline__dot {
  border: 1px dashed var(--color-border, #c8c4bc);
  background: var(--color-surface, #fff);
}
.case-workflow-timeline__step-btn:hover .case-workflow-timeline__dot.is-done,
.case-workflow-timeline__step-btn:focus-visible .case-workflow-timeline__dot {
  filter: brightness(1.05);
}
.case-workflow-timeline__label {
  margin-top: 0.3rem;
  font-size: 0.62rem;
  line-height: 1.15;
  color: var(--color-muted, #888);
}
.case-workflow-timeline__step.is-current .case-workflow-timeline__label {
  font-weight: 500;
  color: var(--color-text-muted, #555);
}
.case-workflow-timeline__aufgabe {
  margin: 0.45rem 0 0;
  padding: 0.35rem 0.5rem;
  font-size: 0.75rem;
  line-height: 1.35;
  color: var(--color-text-muted, #666);
  background: transparent;
  border-left: 2px solid var(--color-border, #d8d4cc);
  border-radius: 0 4px 4px 0;
}
.case-workflow-timeline__aufgabe-label {
  font-weight: 500;
  color: var(--color-muted, #999);
}
.case-workflow-timeline__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 0.75rem;
}
.case-workflow-timeline__empty {
  margin: 0;
  font-size: 0.9rem;
  color: var(--color-muted, #666);
}

/* Fall-Detail: Änderungsprotokoll */
.case-audit-log__table td {
  vertical-align: top;
}
.case-audit-log__row--status {
  background: var(--color-blend-primary-tint);
}
.case-audit-log__time {
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.case-audit-log__action {
  display: block;
  font-weight: 600;
}
.case-audit-log__object,
.case-audit-log__note {
  display: block;
  font-size: 0.82rem;
  color: var(--color-muted, #666);
  margin-top: 0.15rem;
}
.case-audit-log__changes {
  margin: 0;
  padding: 0;
  list-style: none;
}
.case-audit-log__changes li + li {
  margin-top: 0.35rem;
}
.case-audit-log__field {
  font-weight: 600;
}
.case-audit-log__old {
  color: var(--color-muted, #666);
  text-decoration: line-through;
}
.case-audit-log__arrow {
  margin: 0 0.2rem;
  color: var(--color-muted, #666);
}
.case-audit-log__new {
  font-weight: 500;
}
.case-audit-log__empty {
  margin: 0.5rem 0 0;
  color: var(--color-muted, #666);
}

/* Fall-Detail: Tabs — textuell, Auswahl per Unterstreichung */
.case-tabs {
  margin-top: 0.5rem;
}

.case-tabs__bar {
  display: flex;
  flex-wrap: wrap;
  gap: 0.15rem 0.85rem;
  margin-bottom: 1rem;
  padding: 0 0 0.35rem;
  background: transparent;
  border: none;
  border-radius: 0;
  border-bottom: none;
}

.case-tabs__bar [role="tab"] {
  margin: 0;
  padding: 0.35rem 0.1rem 0.45rem;
  border: none;
  border-radius: 0;
  background: transparent;
  color: var(--color-text);
  font: inherit;
  font-weight: 400;
  cursor: pointer;
  text-decoration: none;
  box-shadow: none;
}

.case-tabs__bar [role="tab"]:hover {
  background: transparent;
  color: var(--color-table-link);
}

.case-tabs__bar [role="tab"][aria-selected="true"] {
  background: transparent;
  border: none;
  font-weight: 700;
  color: var(--color-table-link);
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 0.35em;
}

.case-tabs__panel {
  min-height: 2rem;
}

.case-tabs__panel[hidden] {
  display: none !important;
}

.case-stack {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

#case-tab-lab > .case-stack {
  gap: 0.45rem;
}

.nav,
.app-nav {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 0;
  padding: 0.75rem 0.65rem 0.75rem;
  overflow: hidden;
}

.nav__scroll,
.app-nav__scroll,
.app-sidebar__main {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  padding-right: 0.15rem;
}

.app-nav__section {
  margin: 0;
}

.app-nav__section-title {
  margin: 22px 12px 7px;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: var(--om-sidebar-section);
}

.nav__section-label,
.sidebar-secondary__heading {
  margin: 22px 12px 7px;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: var(--om-sidebar-section, var(--om-sidebar-muted, var(--sidebar-muted, var(--color-nav-text-muted))));
}

.app-nav__section > .app-nav__section-title {
  margin-top: 22px;
}

.app-sidebar__main > .app-nav__list:first-child + .app-nav__section > .app-nav__section-title,
.app-nav__section:first-of-type > .app-nav__section-title {
  margin-top: 0.85rem;
}

.app-nav__section-title--footer {
  margin-top: 0;
}

.app-nav__list,
.nav__list,
.nav ul,
.sidebar-secondary__list {
  list-style: none;
  padding: 0;
  margin: 0 0 0.25rem;
}

.app-nav__list li + li,
.nav__list li + li,
.nav li + li {
  margin-top: 0.12rem;
}

.sidebar-secondary,
.app-nav__footer,
.app-sidebar__admin {
  flex: 0 0 auto;
  margin-top: 0.75rem;
  padding: 0.85rem 0.15rem 0.15rem;
  border-top: 1px solid var(--om-sidebar-divider, var(--om-sidebar-border, var(--sidebar-border, var(--color-nav-border))));
}

.breadcrumbs {
  margin-bottom: 1rem;
  padding-bottom: 0.65rem;
  border-bottom: 1px solid var(--color-accent-brown);
  color: var(--color-text-muted);
  font-size: 0.95rem;
}

/* Fließtext anthrazit; Überschriften Petrol */
.page-title,
.section-title,
.case-follow-up-block {
  margin-top: 1.25rem;
  padding-top: 1rem;
  border-top: 1px solid var(--color-border);
}

.case-follow-up-block:first-of-type {
  margin-top: 0.75rem;
  padding-top: 0;
  border-top: none;
}

.case-follow-up-block__actions {
  margin: 0.5rem 0 0;
}

.case-tabs__panel-title,
.page-header .page-title,
.patients-panel__title,
.patients-overview-head__title,
.reporting-dashboard__header h2,
.reporting-card > h3,
.module-card > h3 {
  color: var(--color-heading);
}

.app-brand {
  display: inline-flex;
  align-items: center;
  gap: 0;
  min-width: 0;
  text-decoration: none;
  color: inherit;
  flex: 0 0 auto;
}

.app-brand__logo {
  display: block;
  width: auto;
  height: 44px;
  max-width: min(220px, 42vw);
  object-fit: contain;
  flex: 0 0 auto;
}

.app-search {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.45rem;
  min-width: 0;
  max-width: 36rem;
  width: 100%;
  justify-self: center;
  padding: 0.35rem 0.75rem;
  border: 1px solid var(--om-border, var(--color-border));
  border-radius: 999px;
  background: var(--om-surface-muted, var(--color-blend-surface-muted-90));
}

.app-search__icon {
  display: inline-flex;
  color: var(--om-text-muted, var(--color-text-muted));
  font-size: 0.95rem;
  flex: 0 0 auto;
}

.app-search__input {
  flex: 1 1 auto;
  min-width: 0;
  height: auto !important;
  border: none !important;
  background: transparent !important;
  padding: 0.15rem 0 !important;
  font: inherit;
  font-size: 0.85rem;
  color: var(--om-text, var(--color-text));
  box-shadow: none !important;
}

.app-search__input:disabled {
  opacity: 0.85;
  cursor: not-allowed;
}

.app-search__input::placeholder {
  color: var(--om-text-muted, var(--color-text-muted));
}

.app-search__input:focus {
  outline: none;
}

.app-search:focus-within {
  border-color: var(--om-primary, var(--color-primary));
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--om-primary, var(--color-primary)) 25%, transparent);
}

.app-search__results {
  position: absolute;
  top: calc(100% + 0.4rem);
  left: 0;
  right: 0;
  z-index: 40;
}

.app-search__results:empty {
  display: none;
}

.app-search__panel {
  max-height: min(70vh, 28rem);
  overflow-y: auto;
  padding: 0.55rem 0.65rem 0.7rem;
  border: 1px solid var(--om-border, var(--color-border));
  border-radius: 12px;
  background: var(--om-surface, var(--color-surface));
  box-shadow: 0 10px 28px rgba(15, 40, 42, 0.14);
}

.app-search__section {
  margin: 0.55rem 0.35rem 0.25rem;
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--om-text-muted, var(--color-text-muted));
}

.app-search__section:first-child {
  margin-top: 0.15rem;
}

.app-search__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.app-search__item + .app-search__item {
  border-top: 1px solid var(--om-border, var(--color-border));
}

.app-search__link {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  padding: 0.45rem 0.4rem;
  border-radius: 8px;
  color: var(--om-text, var(--color-text));
  text-decoration: none;
}

.app-search__link:hover,
.app-search__link:focus-visible {
  background: var(--om-surface-muted, var(--color-blend-surface-muted-90));
  outline: none;
}

.app-search__title {
  font-size: 0.88rem;
  font-weight: 600;
  line-height: 1.25;
}

.app-search__sub {
  font-size: 0.78rem;
  color: var(--om-text-muted, var(--color-text-muted));
  line-height: 1.3;
}

.app-search__hint,
.app-search__empty {
  margin: 0.25rem 0.35rem;
  font-size: 0.82rem;
  color: var(--om-text-muted, var(--color-text-muted));
}

.app-search__links {
  list-style: none;
  margin: 0.55rem 0 0;
  padding: 0.45rem 0.35rem 0;
  border-top: 1px solid var(--om-border, var(--color-border));
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.85rem;
}

.app-search__links a {
  font-size: 0.78rem;
  color: var(--om-primary, var(--color-primary));
  text-decoration: none;
}

.app-search__links a:hover,
.app-search__links a:focus-visible {
  text-decoration: underline;
}

.app-topbar__actions {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  justify-self: end;
  flex: 0 0 auto;
  min-width: 0;
}

.app-notify {
  position: relative;
  flex: 0 0 auto;
}

.app-notify__summary {
  list-style: none;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.15rem;
  height: 2.15rem;
  padding: 0;
  border-radius: var(--om-radius-sm, 8px);
  border: 1px solid transparent;
  background: transparent;
  color: var(--om-text-muted, var(--color-text-muted));
  cursor: pointer;
}

.app-notify__summary::-webkit-details-marker {
  display: none;
}

.app-notify__summary:hover,
.app-notify[open] > .app-notify__summary {
  border-color: var(--om-border, var(--color-border));
  background: var(--om-surface-muted, var(--color-blend-surface-muted-90));
  color: var(--om-text, var(--color-text));
}

.app-notify__summary:focus-visible {
  outline: 2px solid var(--color-focus, var(--om-accent-strong, #123a46));
  outline-offset: 2px;
}

.app-notify__icon {
  display: inline-flex;
  font-size: 1.05rem;
  line-height: 1;
}

.app-notify__badge {
  position: absolute;
  top: -0.15rem;
  right: -0.2rem;
  min-width: 1.05rem;
  padding: 0.05rem 0.28rem;
  border-radius: 999px;
  background: var(--om-primary, #2f6f6a);
  color: #fff;
  font-size: 0.62rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  line-height: 1.25;
  text-align: center;
  box-shadow: 0 0 0 2px var(--om-surface, var(--color-surface-alt, #fff));
}

.app-notify__badge--warning {
  background: var(--om-warning, #c48a2e);
}

.app-notify__badge--critical {
  background: var(--om-danger, #c95d57);
}

.app-notify__panel {
  position: absolute;
  right: 0;
  top: calc(100% + 0.35rem);
  z-index: calc(var(--topbar-z, 40) + 1);
  width: min(18rem, calc(100vw - 1.5rem));
  padding: 0.65rem 0.75rem 0.75rem;
  border: 1px solid var(--om-border, var(--color-border));
  border-radius: var(--om-radius, 10px);
  background: var(--om-surface, var(--color-surface-alt));
  box-shadow: var(--om-shadow-soft);
}

.app-notify__heading {
  margin: 0 0 0.4rem;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--om-text-muted, var(--color-text-muted));
}

.app-notify__status,
.app-notify__empty {
  margin: 0 0 0.65rem;
  font-size: 0.84rem;
  line-height: 1.35;
  color: var(--om-text, var(--color-text));
}

.app-notify__status--warning {
  color: var(--om-warning, #c48a2e);
}

.app-notify__status--critical {
  color: var(--om-danger, #c95d57);
}

.app-notify__action {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.4rem 0.5rem;
  border-radius: var(--om-radius-sm, 8px);
  color: var(--om-primary, var(--color-primary));
  text-decoration: none;
  font-size: 0.84rem;
  font-weight: 600;
}

.app-notify__action:hover,
.app-notify__action:focus-visible {
  background: var(--om-surface-muted, var(--color-blend-surface-muted-90));
  outline: none;
}

.app-user-menu {
  position: relative;
  max-width: 20rem;
}

.app-user-menu__summary {
  list-style: none;
  display: flex;
  align-items: center;
  gap: 0.55rem;
  min-width: 0;
  max-width: 20rem;
  cursor: pointer;
  padding: 0.2rem 0.35rem 0.2rem 0.2rem;
  border-radius: var(--om-radius-sm, 8px);
  border: 1px solid transparent;
}

.app-user-menu__summary::-webkit-details-marker {
  display: none;
}

.app-user-menu__summary:hover,
.app-user-menu[open] > .app-user-menu__summary {
  border-color: var(--om-border, var(--color-border));
  background: var(--om-surface-muted, var(--color-blend-surface-muted-90));
}

.app-user-menu__identity {
  display: flex;
  flex-direction: column;
  gap: 0.05rem;
  min-width: 0;
  line-height: 1.2;
}

.app-user-menu__caret {
  flex: 0 0 auto;
  color: var(--om-text-muted, var(--color-text-muted));
  font-size: 0.75rem;
}

.app-user-menu__panel {
  position: absolute;
  right: 0;
  top: calc(100% + 0.35rem);
  z-index: calc(var(--topbar-z, 40) + 1);
  min-width: 12.5rem;
  padding: 0.35rem;
  border: 1px solid var(--om-border, var(--color-border));
  border-radius: var(--om-radius, 10px);
  background: var(--om-surface, var(--color-surface-alt));
  box-shadow: var(--om-shadow-soft);
}

.app-user-menu__item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  width: 100%;
  margin: 0;
  padding: 0.45rem 0.55rem;
  border: none;
  border-radius: var(--om-radius-sm, 8px);
  background: transparent;
  color: var(--om-text, var(--color-text));
  font: inherit;
  font-size: 0.88rem;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
}

.app-user-menu__item:hover {
  background: var(--om-surface-muted, var(--color-blend-surface-hover));
}

.app-user-menu__item--danger {
  color: var(--om-danger-text, var(--color-blend-danger-text-strong));
}

.app-user-menu__logout {
  margin: 0;
  padding: 0;
  border: none;
}

.app-user-menu__avatar,
.header-user__avatar {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 999px;
  background: var(--om-sidebar-active, var(--sidebar-active, #4e756b));
  color: #fff;
  border: 1px solid transparent;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.app-user-menu__account,
.header-user__account {
  display: inline-flex;
  align-items: center;
  min-width: 0;
  color: var(--om-text-muted, var(--color-text-muted));
  font-size: 0.72rem;
  font-weight: 500;
}

.header-user__username {
  font-variant-numeric: tabular-nums;
  color: inherit;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}

.app-user-menu__name,
.header-user__name {
  font-weight: 600;
  color: var(--om-text, var(--color-text));
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
  font-size: 0.88rem;
}

.app-user-menu__subline,
.header-user__subline {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
}

.app-user-menu__org,
.header-user__zuordnung {
  font-size: 0.75rem;
  color: var(--om-text-muted, var(--color-text-muted));
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}

.app-user-menu__sep,
.header-user__sep {
  color: var(--om-text-muted, var(--color-text-muted));
  opacity: 0.7;
  flex: 0 0 auto;
}

.logo {
  height: 32px;
  width: auto;
  display: inline-block;
  vertical-align: middle;
}

.message-stack {
  margin-bottom: 1rem;
}

.alert {
  padding: 0.75rem 1rem;
  margin-bottom: 0.5rem;
  background: var(--color-surface-alt);
  border: 1px solid var(--color-border);
  border-left: 4px solid var(--color-primary);
}

.module-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1rem;
}

.content-split {
  display: grid;
  grid-template-columns: minmax(280px, 360px) minmax(0, 1fr);
  gap: 1rem;
}

.module-card {
  padding: 1rem;
  margin-bottom: 1rem;
}

.meta-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.25rem;
}

.meta-list dt {
  color: var(--color-text-muted);
  font-size: 0.9rem;
}

.meta-list dd {
  margin: 0 0 0.5rem 0;
}

.meta-list--grid {
  display: grid;
  grid-template-columns: minmax(9rem, 12rem) 1fr;
  gap: 0.35rem 1rem;
  align-items: baseline;
}

.meta-list--grid dt {
  margin: 0;
  max-width: none;
}

.meta-list--grid dd {
  margin: 0 0 0.35rem 0;
}

.case-overview-panel-head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.5rem 1.25rem;
  margin-bottom: 0.35rem;
}

.case-overview-panel-head__actions {
  margin: 0;
}

.case-detail-summary h3 {
  margin-top: 0;
}

.case-detail-meta {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.case-overview-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.75rem;
}

@media (min-width: 980px) {
  .case-overview-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .case-overview-grid--secondary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.case-overview-card {
  border: 1px solid var(--color-border);
  border-radius: 8px;
  padding: 0.7rem 0.8rem;
  background: var(--color-blend-surface-card);
}

.case-overview-card h4 {
  margin: 0 0 0.45rem;
  font-size: 0.9rem;
}

.case-overview-card .meta-list {
  margin: 0;
}

.case-overview-card--full {
  grid-column: 1 / -1;
}

.case-overview-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin-top: 0.5rem;
}

.case-overview-edit-section {
  margin-top: 0.25rem;
}

.case-overview-edit-section > h4 {
  margin: 0 0 0.25rem;
  font-size: 1rem;
}

.case-overview-meta-footnote {
  margin-top: 0.25rem;
  padding-top: 0.4rem;
  border-top: 1px dashed var(--color-border);
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.9rem;
  font-size: 0.78rem;
  color: var(--color-text-muted);
}

.case-overview-meta-footnote strong {
  font-weight: 600;
}

.case-detail-muted {
  color: var(--color-text-muted);
  font-size: 0.85rem;
}

.sub-form--compact {
  margin: 0;
  padding: 0.75rem 1rem;
}

.sub-form--compact h4 {
  margin: 0 0 0.5rem;
  font-size: 0.95rem;
}

/* Fallübersicht (MV_Genom): Einwilligungen optisch wie Analysen-Hinweise */
.case-detail-einwilligungen__value {
  display: inline-block;
  padding: 0.2rem 0.45rem;
  border-radius: 6px;
  border: 1px solid var(--color-border);
  background: var(--color-surface);
}

.case-detail-einwilligungen__hint {
  display: inline-block;
  margin-left: 0.4rem;
  padding: 0.2rem 0.45rem;
  border-radius: 6px;
  font-size: 0.88rem;
  border: 1px solid transparent;
}

.case-detail-einwilligungen__hint--ok {
  color: var(--color-primary, #123a46);
  border-color: var(--color-blend-primary-border-soft);
  background: rgba(44, 110, 155, 0.08);
}

.case-detail-einwilligungen__hint--missing {
  color: var(--color-text-muted);
  border-color: var(--color-border);
  background: var(--color-surface);
}

.table-scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.data-table {
  min-width: 720px;
}

/* Prädiktiver Biomarker: alle Spalten lesbar, lange Texte mit Zeilenumbruch */
.molekular-praediktiv-zulassung-table {
  min-width: 980px;
}

.molekular-praediktiv-studie-table {
  min-width: 520px;
}

.molekular-praediktiv-zulassung-table th,
.molekular-praediktiv-zulassung-table td,
.molekular-praediktiv-studie-table th,
.molekular-praediktiv-studie-table td {
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
  vertical-align: top;
}

.molekular-praediktiv-zulassung-table .col-behoerde {
  min-width: 8.5rem;
  max-width: 10rem;
}

.molekular-praediktiv-zulassung-table .col-behoerde select {
  white-space: normal;
  line-height: 1.35;
  min-height: 2.75rem;
  height: auto;
}

.molekular-praediktiv-zulassung-table .col-wirkstoff {
  min-width: 9rem;
}

.molekular-praediktiv-zulassung-table .col-wirkstoffklasse {
  min-width: 14rem;
  max-width: 26rem;
}

.molekular-praediktiv-zulassung-table .col-medikament {
  min-width: 9rem;
}

.molekular-praediktiv-zulassung-table .col-atc {
  min-width: 6.5rem;
}

.molekular-praediktiv-zulassung-table .col-zulassung {
  min-width: 16rem;
  max-width: 28rem;
}

.molekular-praediktiv-zulassung-table .col-loeschen {
  width: 1%;
  min-width: 4.5rem;
  white-space: nowrap;
}

.molekular-praediktiv-studie-table .col-phase {
  min-width: 7rem;
  white-space: nowrap;
}

.molekular-praediktiv-studie-table .col-referenz {
  min-width: 14rem;
}

.molekular-praediktiv-panel input:not([type="checkbox"]):not([type="radio"]),
.molekular-praediktiv-panel select,
.molekular-praediktiv-panel textarea {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}

.molekular-praediktiv-panel textarea.js-textarea-wrap {
  resize: vertical;
  min-height: 2.75rem;
  line-height: 1.35;
  field-sizing: content;
}

.table-muted {
  color: var(--color-text-muted);
  font-size: 0.9rem;
}

.table-num {
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.pill {
  display: inline-block;
  padding: 0.1rem 0.4rem;
  margin-right: 0.25rem;
  border-radius: 6px;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  font-size: 0.85rem;
}

.pill--muted {
  opacity: 0.95;
}

/* Fallliste: Fallart ohne Kasten/Rahmen */
.pill--fallart {
  border: none;
  background: transparent;
  padding: 0;
}

a {
  color: var(--color-primary);
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 1rem;
}

th,
td {
  padding: 0.65rem 0.5rem;
  border-bottom: 1px solid var(--color-border);
  text-align: left;
  vertical-align: top;
  color: var(--color-table-text);
}

button,
.action-link {
  display: inline-block;
  padding: 0.55rem 0.9rem;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  background: var(--color-surface);
  color: var(--color-table-link);
}

/* .action-link muss globales `a`-Primary überschreiben */
a.action-link,
button.action-link {
  color: var(--color-table-link);
}

a.action-link:hover,
button.action-link:hover {
  color: var(--color-table-link-hover);
}

input:not([type="checkbox"]):not([type="radio"]),
select,
textarea {
  width: 100%;
  padding: 0.55rem 0.65rem;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  background: var(--color-surface-alt);
  color: var(--color-text);
  font: inherit;
}

/* Browser-Default bei type=number oft kleiner/größer als Textfelder */
.case-form-number-input,
.case-detail-form input[type="number"] {
  font-size: inherit;
  font-family: inherit;
  line-height: 1.35;
  max-width: 6rem;
}

/* Globales width:100% gilt nicht für Checkbox/Radio (sonst volle Zeilenbreite). */
input[type="checkbox"],
input[type="radio"] {
  width: auto;
  max-width: 100%;
  padding: 0;
  border-radius: 4px;
  vertical-align: middle;
}

form p {
  margin-bottom: 0.9rem;
}

.action-cell {
  display: flex;
  gap: 0.5rem;
  align-items: center;
}

.action-cell form {
  margin: 0;
}

/* Symbol „Öffnet andere Ansicht“ bei Navigations-Links in Aktions-Spalten */
.action-cell > a[href]::after {
  content: "";
  display: inline-block;
  flex-shrink: 0;
  width: 0.95em;
  height: 0.95em;
  margin-left: 0.28em;
  vertical-align: -0.14em;
  background-color: currentColor;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='%23000' d='M14 3h4v4h-1.5V6.5l-5.8 5.8-1.1-1.1L15.4 5H14V3zM5 5h7v2H7v9h9v-5h2v6a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='%23000' d='M14 3h4v4h-1.5V6.5l-5.8 5.8-1.1-1.1L15.4 5H14V3zM5 5h7v2H7v9h9v-5h2v6a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1z'/%3E%3C/svg%3E");
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
}

.action-cell > a[href].link-no-outicon::after {
  display: none;
}

form.inline-form {
  display: inline;
}

.sub-form {
  margin: 1rem 0;
  padding: 1rem;
  border: 1px dashed var(--color-border);
  border-radius: 8px;
  background: var(--color-surface);
}

.sub-form h4 {
  margin-top: 0;
}

.hint {
  font-size: 0.9rem;
  color: var(--color-text-muted);
  margin: 0 0 0.75rem;
}

/* Fall-Detail: Formulare flach im Tab — Sektionen (.case-form-section) tragen die Flächen */
.case-detail-caseform {
  margin: 0;
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}

.case-detail-caseform .case-detail-form {
  margin-top: 0;
}

.case-form-section {
  border: 1px solid var(--color-border);
  border-radius: 10px;
  padding: 0.85rem 1rem 1rem;
  margin: 0 0 1rem;
  background: var(--color-surface);
}

.case-form-section__title {
  padding: 0 0.35rem;
  font-weight: 650;
  font-size: 0.95rem;
  color: var(--color-heading);
}

/* Fall-Detail: große Checkboxen (Touch, bewusste fachliche Bestätigung) */
.case-form-field--checkbox-lg {
  grid-column: 1 / -1;
}

.case-form-field--patho-partner select {
  width: 100%;
  max-width: 100%;
}

/* MTB1: Datum und Keimbahnbefund nebeneinander */
.case-form-row--mtb1-keimbahn {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(min(100%, 12rem), 1fr) minmax(min(100%, 16rem), 1.4fr);
  gap: 0.75rem 1.25rem;
  align-items: end;
}

.case-form-row--mtb1-keimbahn .case-form-field--keimbahn select {
  width: 100%;
  max-width: 100%;
}

@media (max-width: 720px) {
  .case-form-row--mtb1-keimbahn {
    grid-template-columns: 1fr;
    align-items: start;
  }
}

/* MTB-Beschluss: Anmeldungsdatum und MTB-Arzt kompakt nebeneinander */
.case-form-row--mtb2-anmeldung {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 0.25rem 0.5rem;
  max-width: 28rem;
}

.case-form-row--mtb2-anmeldung .case-form-field--mtb2-datum {
  flex: 0 1 auto;
  min-width: 0;
}

.case-form-row--mtb2-anmeldung .case-form-field--mtb-arzt {
  flex: 0 0 auto;
  min-width: 0;
}

.case-form-row--mtb2-anmeldung .case-form-field--mtb-arzt label {
  margin-bottom: 0.2rem;
}

.case-form-row--mtb2-anmeldung .input-mtb-arzt-kuerzel {
  width: 5.5rem;
  max-width: 5.5rem;
  padding-left: 0.45rem;
  padding-right: 0.45rem;
}

.case-form-field__check--lg {
  gap: 0.75rem;
  padding: 0.55rem 0.85rem;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  background: rgba(0, 0, 0, 0.02);
}

.case-form-field__check--lg input[type="checkbox"] {
  width: 1.5rem;
  height: 1.5rem;
  flex: 0 0 1.5rem;
  accent-color: var(--color-checkbox-accent);
  cursor: pointer;
}

.case-form-field__check--lg span {
  font-size: 0.95rem;
  line-height: 1.4;
  font-weight: 500;
}

@media (prefers-color-scheme: dark) {
  .case-form-field__check--lg {
    background: rgba(255, 255, 255, 0.03);
  }
}

.case-form-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 16rem), 1fr));
  gap: 0.75rem 1.25rem;
  margin-top: 0.65rem;
}

.case-form-field {
  margin: 0;
  min-width: 0;
}

.case-form-field--full {
  grid-column: 1 / -1;
}

/* Lange Kliniktexte: volle Grid-Breite, Höhe am Inhalt (field-sizing) */
.case-detail-form textarea.case-form-textarea--fluid {
  max-width: none;
  width: 100%;
  min-height: 7.5rem;
  resize: vertical;
  line-height: 1.45;
  field-sizing: content;
}

/* Diagnose: Organ, Histologie, OncoTree in einer Zeile (schmal: umbrechen) */
.case-form-section--diagnose .case-form-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (max-width: 720px) {
  .case-form-section--diagnose .case-form-grid {
    grid-template-columns: 1fr;
  }
}

.case-create-option-panel {
  margin: 0 0 1rem;
  min-height: 2rem;
}

.case-create-option-panel__placeholder {
  margin: 0;
}

.case-create-option-panel .case-form-section {
  margin-bottom: 0;
}

.case-create-option-panel .case-form-grid ul,
.case-create-option-panel .case-form-field > .case-form-analysen-options {
  list-style: none;
  padding-left: 0;
  margin: 0.35rem 0 0;
}

.case-create-option-panel .case-form-grid ul li,
.case-create-option-panel .case-form-field > .case-form-analysen-options > div {
  margin: 0;
}

.case-form-section--tumor-kodierung {
  margin: 0 0 1rem;
  padding: 0.65rem 0.85rem 0.85rem;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  background: rgba(0, 0, 0, 0.02);
}

.case-form-section--tumor-kodierung > .case-form-section__title {
  font-size: 0.92rem;
}

/* NCT Master (Fall anlegen): strukturierter Anlagenblock */
.case-master-create-layout {
  display: flex;
  flex-direction: column;
  gap: 0.95rem;
}

.case-master-create-intro {
  margin: 0;
  padding: 0.6rem 0.75rem;
  border-radius: 8px;
  border: 1px solid var(--color-border);
  background: var(--color-bg);
  color: var(--color-text-muted);
  font-size: 0.88rem;
  line-height: 1.4;
}

.case-master-create-grid {
  margin-top: 0;
}

.case-master-create-grid__top {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem 1rem;
  margin-bottom: 0.75rem;
}

.case-master-create-grid__zuweiser {
  grid-column: 1 / span 2;
}

.case-master-create-grid__pseudonym {
  grid-column: 3;
}

.case-master-create-grid__pseudonym {
  margin-bottom: 0;
}

.case-master-create-grid__dates {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem 1rem;
}

@media (max-width: 900px) {
  .case-master-create-grid__top {
    grid-template-columns: 1fr;
  }
  .case-master-create-grid__zuweiser,
  .case-master-create-grid__pseudonym {
    grid-column: auto;
  }
  .case-master-create-grid__dates {
    grid-template-columns: 1fr;
  }
}

.case-form-section--master-asservate {
  margin: 0;
  padding: 0.7rem 0.9rem 0.9rem;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  background: rgba(0, 0, 0, 0.02);
}

.case-form-section--master-asservate > .case-form-section__title {
  font-size: 0.9rem;
  font-weight: 650;
}

.case-master-create-toggles {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 0.6rem 0.9rem;
}

.case-master-toggle {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.35rem 0.45rem;
  border-radius: 6px;
  cursor: pointer;
}

.case-master-toggle:hover {
  background: rgba(44, 110, 155, 0.08);
}

.case-master-toggle input[type="checkbox"] {
  width: 1.2rem;
  height: 1.2rem;
  accent-color: var(--color-checkbox-accent);
  cursor: pointer;
  flex: none;
}

@media (prefers-color-scheme: dark) {
  .case-master-create-intro {
    background: var(--color-surface);
  }
  .case-form-section--master-asservate {
    background: rgba(255, 255, 255, 0.03);
  }
  .case-master-toggle:hover {
    background: rgba(255, 255, 255, 0.06);
  }
}

/* Fall anlegen MV Genom: Rubrik Einwilligungen */
.case-create-mv64-layout {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.case-create-mv64-identity-row,
.case-create-mv64-insurance-row {
  grid-column: 1 / -1;
}

.case-create-mv64-identity-row {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.55rem 1rem;
}

.case-create-mv64-insurance-row {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr) minmax(0, 1fr);
  gap: 0.6rem 0.9rem;
  align-items: start;
}

.case-create-mv64-insurance-row .case-form-field {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

.case-create-mv64-insurance-row input:not([type="checkbox"]):not([type="radio"]),
.case-create-mv64-insurance-row select {
  min-height: 2.3rem;
}

.case-create-mv64-insurance-row .case-form-field > label:not(.case-form-field__check) {
  margin-bottom: 0.2rem;
}

@media (max-width: 960px) {
  .case-create-mv64-insurance-row {
    grid-template-columns: 1fr;
  }
}

/* MV Genom: Einwilligungen links, Analysen rechts (schmal: untereinander) */
.case-create-mv64-einw-analysen {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.85rem;
  align-items: start;
}

.case-create-mv64-einw-analysen > .case-form-section {
  min-width: 0;
}

@media (min-width: 880px) {
  .case-create-mv64-einw-analysen {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 0.75rem 1rem;
  }
}

.case-create-mtb-only {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}

.case-create-mtb-only__lead {
  margin: 0;
  font-size: 0.85rem;
  color: var(--color-text-muted);
  line-height: 1.45;
}

/* MV Genom — Übersichtskacheln auf der Fall-Detailseite */
.mv-genom-overview-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.75rem;
  margin-top: 0.75rem;
  align-items: start;
}

@media (min-width: 640px) {
  .mv-genom-overview-grid {
    /* Drei Kacheln nebeneinander, sobald Platz (~11rem je Kachel) */
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.mv-genom-overview-card {
  border: 1px solid var(--color-border);
  border-radius: 8px;
  padding: 0.55rem 0.7rem 0.65rem;
  background: var(--color-blend-surface-card-88);
  min-width: 0;
}

.mv-genom-overview-card--compact {
  align-self: stretch;
}

.mv-genom-overview-card h4 {
  margin: 0 0 0.35rem;
  font-size: 0.82rem;
  font-weight: 600;
  line-height: 1.25;
}

.mv-genom-overview-card__diag-lead {
  margin: 0 0 0.4rem;
  font-size: 0.9rem;
  font-weight: 600;
  line-height: 1.25;
}

.mv-genom-overview-card .meta-list {
  margin: 0;
}

/* Kompakte Meta-Zeilen in MV-Übersichtskacheln */
.mv-overview-meta {
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.mv-overview-meta__row {
  display: grid;
  grid-template-columns: 4.5rem minmax(0, 1fr);
  gap: 0.2rem 0.45rem;
  align-items: baseline;
}

.mv-overview-meta__row dt {
  margin: 0;
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--color-text-muted);
  letter-spacing: 0.01em;
}

.mv-overview-meta__row dd {
  margin: 0;
  font-size: 0.82rem;
  line-height: 1.3;
  min-width: 0;
  overflow-wrap: anywhere;
}

/* Einschluss: zwei Felder pro Zeile, Label über Wert */
.mv-overview-meta--tiles {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.4rem 0.55rem;
}

.mv-overview-meta--tiles .mv-overview-meta__row {
  display: flex;
  flex-direction: column;
  gap: 0.08rem;
  grid-template-columns: unset;
}

.mv-overview-meta--tiles .mv-overview-meta__row dt {
  font-size: 0.7rem;
}

.mv-overview-meta--tiles .mv-overview-meta__row dd {
  font-size: 0.82rem;
  font-weight: 500;
}

.mv-overview-meta__code {
  font-weight: 600;
  margin-right: 0.25rem;
}

.mv-overview-meta__title {
  display: block;
  color: var(--color-text-muted);
  font-size: 0.74rem;
  font-weight: 400;
  line-height: 1.25;
  margin-top: 0.05rem;
}

.mv-genom-einschluss-hinweis--compact {
  margin: 0 0 0.4rem;
  font-size: 0.74rem;
  line-height: 1.3;
}

.mv-genom-overview-card--full {
  grid-column: 1 / -1;
}

/* Case Workspace — Layout (Cards = .om-card in components.css) */
.case-workspace {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  min-width: 0;
  max-width: 100%;
}

.case-workspace__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.85rem;
  align-items: start;
  min-width: 0;
}

@media (min-width: 1100px) {
  .case-workspace__layout {
    grid-template-columns: minmax(0, 1fr) minmax(17rem, 22rem);
  }
}

.case-workspace__main,
.case-workspace__aside {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}

.case-workspace__hero-row,
.case-workspace__process,
.case-workspace__status-grid,
.case-workspace__mid-grid,
.case-workspace__bottom-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.75rem;
  min-width: 0;
}

@media (min-width: 720px) {
  .case-workspace__hero-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .case-workspace__status-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .case-workspace__bottom-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 980px) {
  .case-workspace__status-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .case-workspace__bottom-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* Patienten-/Fallkopf */
.case-workspace-header {
  margin-bottom: 0.85rem;
  padding: 0.35rem 0 0.65rem;
}

.case-workspace-header__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.85rem 1.25rem;
  align-items: start;
}

@media (min-width: 900px) {
  .case-workspace-header__layout {
    grid-template-columns: minmax(0, 1.1fr) minmax(22rem, 1fr);
  }
}

.case-workspace-header__fall-id {
  margin: 0 0 0.15rem;
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--color-text-muted);
  font-variant-numeric: tabular-nums;
}

.case-workspace-header__fall-id-label {
  margin-right: 0.35rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.case-workspace-header__title-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem 0.65rem;
  margin-bottom: 0.55rem;
}

.case-workspace-header__name {
  margin: 0;
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem;
}

.case-workspace-header__program {
  display: inline-flex;
  align-items: center;
  padding: 0.15rem 0.5rem;
  border-radius: 6px;
  border: 1px solid var(--color-blend-primary-border-soft);
  background: var(--color-blend-primary-tint);
  color: var(--color-heading);
  font-size: 0.78rem;
  font-weight: 600;
  line-height: 1.3;
}

.case-workspace-header__facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.35rem 1rem;
  margin: 0;
}

@media (min-width: 720px) {
  .case-workspace-header__facts {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.case-workspace-header__fact {
  min-width: 0;
}

.case-workspace-header__fact--wide {
  grid-column: 1 / -1;
}

.case-workspace-header__fact--inline {
  grid-column: 1 / -1;
}

.case-workspace-header__inline-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.2rem 0.45rem;
  margin: 0.1rem 0 0;
  font-size: 0.92rem;
  color: var(--color-text);
  line-height: 1.35;
}

.case-workspace-header__inline-item {
  min-width: 0;
}

.case-workspace-header__sep {
  color: var(--color-text-muted);
  user-select: none;
}

@media (min-width: 720px) {
  .case-workspace-header__fact--wide {
    grid-column: span 2;
  }
}

.case-workspace-header__fact dt {
  margin: 0;
  font-size: 0.72rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: var(--color-text-muted);
}

.case-workspace-header__fact dd {
  margin: 0.1rem 0 0;
  font-size: 0.92rem;
  color: var(--color-text);
  line-height: 1.35;
}

.case-workspace-header__age {
  color: var(--color-text-muted);
  font-size: 0.85rem;
}

.case-workspace-header__actions {
  margin-top: 0.65rem;
  gap: 0.15rem 0.85rem;
}

.case-workspace-header__action {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  margin: 0;
  padding: 0.15rem 0;
  border: none;
  border-radius: 0;
  background: transparent;
  color: var(--color-text-muted);
  font: inherit;
  font-size: 0.82rem;
  font-weight: 500;
  line-height: 1.3;
  text-decoration: none;
  cursor: pointer;
}

.case-workspace-header__action .om-icon {
  font-size: 0.95em;
  opacity: 0.85;
}

.case-workspace-header__action:hover {
  color: var(--color-table-link);
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

.case-workspace-header__action:focus-visible {
  outline: 2px solid var(--color-table-link);
  outline-offset: 2px;
}

button.case-workspace-header__action {
  font-family: inherit;
}

.case-workspace-header__side {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  min-width: 0;
  padding-top: 0.1rem;
}

@media (min-width: 900px) {
  .case-workspace-header__side {
    padding-left: 1rem;
  }
}

.case-workspace-header__nav {
  justify-content: flex-end;
  gap: 0.65rem;
  margin-bottom: 0.35rem;
}

.case-workspace-header__nav-link {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  margin: 0;
  padding: 0.1rem 0;
  border: none;
  background: transparent;
  color: var(--color-text-muted);
  font: inherit;
  font-size: 0.82rem;
  font-weight: 500;
  line-height: 1.3;
  text-decoration: none;
}

.case-workspace-header__nav-link .om-icon {
  font-size: 1em;
  opacity: 0.85;
}

.case-workspace-header__nav-link:hover {
  color: var(--color-table-link);
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

.case-workspace-header__nav-link:focus-visible {
  outline: 2px solid var(--color-table-link);
  outline-offset: 2px;
}

.case-workspace-header__ids-card {
  margin-top: 0;
  width: 100%;
}

.case-workspace-header__compact--row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.65rem 0;
  align-items: start;
}

.case-workspace-header__compact--row:has(> :nth-child(5)) {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.case-workspace-header__compact-item {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  padding-inline: 0.85rem;
  border-inline-start: 1px solid var(--om-border-subtle, var(--color-blend-border-faint, var(--color-border)));
}

.case-workspace-header__compact--row > .case-workspace-header__compact-item:first-child {
  padding-inline-start: 0;
  border-inline-start: none;
}

.case-workspace-header__compact-item dt {
  margin: 0;
  font-size: 0.72rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: var(--color-text-muted);
}

.case-workspace-header__compact-item dd {
  margin: 0;
  font-size: 0.92rem;
  color: var(--color-text);
  line-height: 1.35;
  word-break: break-word;
}

.case-workspace-header__partner-link {
  font: inherit;
  line-height: inherit;
  word-break: break-word;
}

@media (max-width: 640px) {
  .case-workspace-header__compact--row,
  .case-workspace-header__compact--row:has(> :nth-child(5)) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    row-gap: 0.65rem;
  }

  /* Zeilenanfang in 2-Spalten-Grid: kein linker Strich */
  .case-workspace-header__compact--row > .case-workspace-header__compact-item:nth-child(odd) {
    padding-inline-start: 0;
    border-inline-start: none;
  }

  /* Dezente Zeilentrennung ab der zweiten Reihe */
  .case-workspace-header__compact--row > .case-workspace-header__compact-item:nth-child(n + 3) {
    padding-top: 0.55rem;
    border-top: 1px solid var(--om-border-subtle, var(--color-blend-border-faint, var(--color-border)));
  }
}

.case-workspace-variant-list,
.case-workspace-doc-list,
.case-workspace-timeline-list,
.case-workspace-rail-list,
.case-workspace-inline-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.case-workspace-variant-list li,
.case-workspace-doc-list li,
.case-workspace-timeline-list li,
.case-workspace-rail-list li {
  padding: 0.4rem 0;
  border-bottom: 1px solid var(--color-blend-border-faint);
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  min-width: 0;
}

.case-workspace-variant-list li:last-child,
.case-workspace-doc-list li:last-child,
.case-workspace-timeline-list li:last-child,
.case-workspace-rail-list li:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.case-workspace-variant-list__meta,
.case-workspace-doc-list__meta,
.case-workspace-rail-list__meta {
  font-size: 0.78rem;
  color: var(--color-text-muted);
}

.case-workspace-rail-list__label {
  font-size: 0.88rem;
  font-weight: 500;
}

.case-workspace-rail-list__detail {
  font-size: 0.78rem;
  color: var(--color-text-muted);
}

.case-workspace-timeline-list time {
  font-size: 0.78rem;
  color: var(--color-text-muted);
  font-variant-numeric: tabular-nums;
}

.case-workspace-inline-list li {
  margin: 0 0 0.2rem;
}

.case-workspace-note {
  margin: 0 0 0.55rem;
  font-size: 0.88rem;
  line-height: 1.45;
}

.case-workspace-todo {
  margin-top: 0.55rem;
  font-size: 0.78rem;
}

.case-workspace__details .om-card__body {
  padding-bottom: 0.9rem;
}

/* Keine horizontale Seitenscrollbar durch Workspace-Grids */
.case-workspace-page,
.case-workspace-page .case-tabs,
.case-workspace-page .case-tabs__panel {
  max-width: 100%;
  overflow-x: clip;
}

/* Follow-up-Tab: Kopf, Summary, Timeline (Prozessseiten-Stil) */
.case-detail-follow-up {
  background: transparent;
  border: none;
  border-radius: 0;
  padding: 0;
  box-shadow: none;
}

.case-detail-follow-up > .case-follow-up-head {
  margin-bottom: 1rem;
  padding-bottom: 0;
  border-bottom: none;
}

.case-follow-up-head.page-header {
  border-bottom: none;
  padding-bottom: 0;
}

.case-follow-up-head .case-tabs__panel-title,
.case-follow-up-head .page-title {
  margin: 0;
  padding-top: 0;
  border-top: none;
}

.case-follow-up-head__subline {
  margin: 0.35rem 0 0;
  color: var(--color-text-muted);
}

.case-follow-up-head__ensure {
  display: inline;
  margin: 0;
}

.case-follow-up-summary {
  margin: 0 0 1.15rem;
  padding: 0.65rem 0.85rem 0.75rem;
  background: var(--om-surface-card, var(--color-blend-surface-card, var(--color-surface-alt)));
  border: 1px solid var(--om-border, #dde4e0);
  border-radius: var(--om-radius-card, 0.55rem);
  box-sizing: border-box;
  width: 100%;
}

.case-follow-up-summary__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.75rem 1.25rem;
  align-items: start;
  width: 100%;
}

.case-follow-up-summary__section {
  margin: 0;
  min-width: 0;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 0.45rem;
}

.case-follow-up-summary__section + .case-follow-up-summary__section {
  border-left: 1px solid var(--om-border, #dde4e0);
  padding-left: 1.1rem;
}

.case-follow-up-summary__icon {
  flex: 0 0 auto;
  margin-top: 0.05rem;
  color: var(--om-text-muted, var(--color-text-muted));
  font-size: 1.55rem;
  line-height: 1;
}

.case-follow-up-summary__icon .om-icon,
.case-follow-up-summary__icon .om-icon svg {
  width: 1.55rem;
  height: 1.55rem;
}

.case-follow-up-summary__icon--danger {
  color: #b42318;
  font-size: 1.75rem;
}

.case-follow-up-summary__icon--danger .om-icon,
.case-follow-up-summary__icon--danger .om-icon svg {
  width: 1.75rem;
  height: 1.75rem;
  color: #b42318;
  stroke: #b42318;
}

.case-follow-up-summary__body {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  min-width: 0;
}

.case-follow-up-summary__label {
  margin: 0;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: var(--om-text-muted, var(--color-text-muted));
  line-height: 1.2;
}

.case-follow-up-summary__value {
  margin: 0;
  font-size: 0.88rem;
  font-weight: 650;
  line-height: 1.35;
  color: var(--om-text, var(--color-text));
}

.case-follow-up-summary__hint {
  margin: 0;
  font-size: 0.78rem;
  color: var(--om-text-muted, var(--color-text-muted));
  line-height: 1.3;
}

.case-follow-up-summary__hint--danger {
  color: #b42318;
  font-weight: 600;
}

.case-follow-up-split {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1rem;
  align-items: start;
  margin: 0 0 1.15rem;
}

.case-follow-up-split:has(#cost-coverage) {
  /* Rechte Spalte = gleiche Breite wie Summary-Abschnitt „KÜA“ (1 von 4) */
  grid-template-columns: minmax(0, 3fr) minmax(0, 1fr);
}

.case-follow-up-split__main {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  min-width: 0;
}

.case-follow-up-split__main > .case-follow-up-verlauf,
.case-follow-up-split__main > .case-follow-up-current {
  margin: 0;
}

.case-follow-up-split__main > .case-follow-up-current.case-follow-up-block {
  margin-top: 0;
  padding-top: 0;
  border-top: none;
}

.om-card.case-follow-up-kua-compact,
#cost-coverage.case-follow-up-kua-compact {
  align-self: start;
  padding: 0.85rem 1rem 1rem;
  box-sizing: border-box;
}

.case-follow-up-kua-compact .case-detail-form {
  margin-top: 0.45rem;
}

.case-follow-up-kua-readonly {
  display: grid;
  gap: 0.5rem;
  margin: 0.45rem 0 0.65rem;
}

.case-follow-up-kua-readonly > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.4rem 0.65rem;
  align-items: baseline;
}

.case-follow-up-kua-readonly dt {
  margin: 0;
  color: var(--color-text-muted);
  font-size: 0.82rem;
  line-height: 1.3;
}

.case-follow-up-kua-readonly dd {
  margin: 0;
  font-weight: 600;
  text-align: right;
  line-height: 1.3;
}

.case-follow-up-kua-hint {
  margin: 0;
  padding: 0.5rem 0.6rem;
  border-radius: var(--om-radius-sm, 8px);
  background: var(--om-surface-petrol-soft, var(--color-blend-primary-tint));
  font-size: 0.78rem;
  line-height: 1.35;
}

.case-follow-up-doc-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.85rem;
  margin: 0 0 0.85rem;
}

.case-follow-up-doc-col {
  margin: 0;
}

.case-follow-up-doc-col__title {
  margin: 0 0 0.65rem;
  font-size: 0.95rem;
  font-weight: 650;
}

.case-follow-up-doc-col .meta-list {
  margin: 0;
}

.case-follow-up-doc-col .meta-list dt {
  font-size: 0.78rem;
  color: var(--color-text-muted);
}

.case-follow-up-doc-col .meta-list dd {
  margin: 0 0 0.55rem;
}

.case-follow-up-footer {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem 0.85rem;
  align-items: center;
  justify-content: space-between;
  margin: 1rem 0 0.5rem;
  padding-top: 0.85rem;
  border-top: 1px solid var(--color-border);
}

.case-follow-up-footer form {
  margin: 0 0 0 auto;
}

.case-follow-up-timeline__item--projected {
  opacity: 0.72;
}

.case-follow-up-timeline__item--projected .case-follow-up-timeline__marker {
  background: transparent;
  border: 2px solid var(--color-border);
  color: var(--color-text-muted);
}

.text-warn {
  color: var(--color-warning, #b54708);
}

.text-danger {
  color: var(--color-blend-danger-text-strong, var(--color-danger));
}

.case-follow-up-verlauf {
  margin: 0 0 1.15rem;
  border-radius: var(--om-radius-lg, 12px);
}

.case-follow-up-timeline {
  display: flex;
  flex-wrap: nowrap;
  gap: 0;
  margin: 0;
  padding: 0.35rem 0 0.15rem;
  list-style: none;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  width: 100%;
  justify-content: center;
}

.case-follow-up-timeline__item {
  position: relative;
  flex: 1 1 0;
  min-width: 5.5rem;
  max-width: none;
  text-align: center;
  padding: 0.15rem 0.35rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.3rem;
}

.case-follow-up-timeline__item:not(:last-child)::before {
  content: "";
  position: absolute;
  top: 0.85rem;
  left: calc(50% + 0.85rem);
  right: calc(-50% + 0.85rem);
  height: 2px;
  background: var(--color-border);
  z-index: 0;
}

.case-follow-up-timeline__item--done:not(:last-child)::before {
  background: var(--color-success, var(--om-success, #557c70));
}

/* Zum / zwischen voraussichtlichen Follow-ups: gestrichelt */
.case-follow-up-timeline__item:has(+ .case-follow-up-timeline__item--projected)::before,
.case-follow-up-timeline__item--projected:not(:last-child)::before {
  background: none;
  border-top: 2px dashed var(--color-border);
  height: 0;
  top: calc(0.85rem + 0px);
}

.case-follow-up-timeline__link {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.3rem;
  width: 100%;
  margin: 0;
  padding: 0.1rem;
  color: inherit;
  text-decoration: none;
  border-radius: 0.45rem;
  background: transparent;
  font: inherit;
}

.case-follow-up-timeline__link:hover .case-follow-up-timeline__label {
  color: var(--color-primary, var(--color-table-link-hover));
  text-decoration: underline;
}

.case-follow-up-timeline__marker {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.4rem;
  height: 1.4rem;
  margin: 0;
  border-radius: 999px;
  border: 2px solid var(--color-border);
  background: var(--color-surface-alt);
  font-size: 0.72rem;
  font-weight: 700;
  line-height: 1;
  color: var(--color-text-muted);
}

.case-follow-up-timeline__item--done .case-follow-up-timeline__marker {
  border-color: var(--color-blend-success-border-strong, var(--color-success));
  background: var(--color-blend-success-bg, #f1f4f1);
  color: var(--color-blend-success-text-strong, var(--color-success));
}

.case-follow-up-timeline__item--overdue .case-follow-up-timeline__marker {
  border-color: var(--color-blend-warning-border, var(--color-warning));
  background: var(--color-blend-warning-bg-soft, #f7efe1);
  color: var(--color-blend-warning-text-strong, var(--color-warning));
}

.case-follow-up-timeline__item--due .case-follow-up-timeline__marker {
  border-color: var(--om-warning, #c49a55);
  background: #f7f0e4;
  color: #7a5a1e;
}

.case-follow-up-timeline__item--planned .case-follow-up-timeline__marker,
.case-follow-up-timeline__item--future .case-follow-up-timeline__marker,
.case-follow-up-timeline__item--projected .case-follow-up-timeline__marker {
  border-color: var(--color-border);
  background: var(--color-surface);
}

.case-follow-up-timeline__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.12rem;
  text-align: center;
  min-width: 0;
}

.case-follow-up-timeline__label {
  font-size: 0.78rem;
  font-weight: 650;
  line-height: 1.25;
}

.case-follow-up-timeline__date {
  font-size: 0.8rem;
  font-weight: 600;
  line-height: 1.25;
}

.case-follow-up-timeline__status {
  font-size: 0.72rem;
  color: var(--color-text-muted);
  line-height: 1.25;
}

.case-follow-up-timeline__item--overdue .case-follow-up-timeline__status {
  color: var(--color-blend-danger-text-strong);
  font-weight: 600;
}

.case-follow-up-timeline__action {
  margin-top: 0.2rem;
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--color-table-link, var(--color-primary));
}

.case-follow-up-control-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem 1rem;
  align-items: start;
  margin-bottom: 0.85rem;
}

.case-follow-up-control-row__ltfu {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.35rem;
}

.case-follow-up-control-row__ltfu .case-form-field__label {
  margin: 0;
}

.case-follow-up-control-row__ltfu input[type="checkbox"] {
  margin: 0.1rem 0 0;
  width: 1.15rem;
  height: 1.15rem;
}

.case-follow-up-past-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}

.case-follow-up-past-list__item {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.5rem 1rem;
  padding: 0.55rem 0;
  border-bottom: 1px solid var(--color-border);
}

.case-follow-up-past-list__item:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.case-follow-up-past-list__meta {
  margin: 0.2rem 0 0;
  font-size: 0.82rem;
  color: var(--color-text-muted);
  line-height: 1.35;
}

/* Follow-up Panel: Layout-Helfer (Tokens aus Design-System, keine zweite Optik) */
.follow-up-doc-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: center;
  margin: 0;
}

.follow-up-pdf-upload-form {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
}

.follow-up-pdf-file-input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  overflow: hidden;
}

.follow-up-pdf-upload-form .btn {
  position: relative;
  cursor: pointer;
}

.follow-up-quelle {
  margin: 0 0 1rem;
}

.follow-up-reasons-list {
  margin: 0.35rem 0 0.75rem 1.1rem;
  padding: 0;
}

.case-follow-up-current__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.65rem 1rem;
  margin-bottom: 0.35rem;
}

.case-follow-up-current__head .om-card__title {
  margin: 0;
}

.case-follow-up-current__due {
  margin: 0 0 1rem;
  color: var(--color-text-muted);
  font-size: 0.95rem;
}

.case-follow-up-status-hint {
  margin: 0 0 0.75rem;
}

.case-follow-up-accordion {
  margin: 0.65rem 0;
  border: 1px solid var(--color-border);
  border-radius: var(--om-radius-sm, 8px);
  background: var(--color-surface, var(--om-surface, #fff));
}

.case-follow-up-accordion > summary {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem 1rem;
  padding: 0.65rem 0.85rem;
  cursor: pointer;
  list-style: none;
  font-weight: 600;
}

.case-follow-up-accordion > summary::-webkit-details-marker {
  display: none;
}

.case-follow-up-accordion__body {
  padding: 0 0.85rem 0.85rem;
  border-top: 1px solid var(--color-border);
}

.case-follow-up-clinical__head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem 1rem;
  margin-bottom: 0.65rem;
}

.case-follow-up-clinical__head .om-card__title {
  margin: 0;
}

.case-follow-up-instance-meta-line {
  margin: 0 0 0.85rem;
}

.case-follow-up-kua-compact__bar {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0.35rem 0.5rem;
  margin: 0 0 0.15rem;
}

.case-follow-up-kua-compact__bar .om-card__title {
  margin: 0;
  flex: 1 1 auto;
  min-width: 0;
}

.case-follow-up-kua-compact__edit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.3rem;
  flex: 0 0 auto;
  margin-left: auto;
  padding: 0.2rem 0.35rem;
  border: none;
  border-radius: var(--om-radius-sm, 8px);
  background: transparent;
  color: var(--om-accent, var(--color-table-link, #0d7377));
  font-size: 0.82rem;
  font-weight: 400;
  line-height: 1.35;
  text-decoration: none;
  white-space: nowrap;
}

.case-follow-up-kua-compact__edit:hover,
.case-follow-up-kua-compact__edit:focus-visible {
  color: var(--om-accent-hover, var(--color-table-link-hover, #0a5c5f));
  background: transparent;
  text-decoration: underline;
  outline: none;
}

.case-follow-up-kua-compact__edit:focus-visible {
  outline: 2px solid var(--om-accent, var(--color-table-link, #0d7377));
  outline-offset: 2px;
}

.case-follow-up-kua-compact__edit .om-icon,
.case-follow-up-kua-compact__edit .om-icon svg {
  width: 1.15rem;
  height: 1.15rem;
  color: inherit;
  stroke: currentColor;
}

.case-follow-up-abschluss {
  margin-top: 1rem;
}

.case-follow-up-abschluss__row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem 1.25rem;
}

.case-follow-up-abschluss__checks {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.case-follow-up-abschluss__checks .is-ok {
  color: var(--color-success, var(--color-ok));
}

.case-follow-up-abschluss__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 0.75rem;
  align-items: center;
  justify-content: flex-end;
}

.case-follow-up-abschluss__done {
  margin: 0;
}

.case-follow-up-subsection-title {
  margin: 0.75rem 0 0.35rem;
  font-size: 0.95rem;
  font-weight: 600;
}

@media (max-width: 900px) {
  .case-follow-up-summary__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
  }

  .case-follow-up-summary__section:nth-child(2n + 1) {
    border-left: 0;
    padding-left: 0;
  }

  .case-follow-up-summary__section:nth-child(n + 3) {
    border-top: 1px solid var(--om-border, #dde4e0);
    padding-top: 0.65rem;
  }

  .case-follow-up-split,
  .case-follow-up-split:has(#cost-coverage) {
    grid-template-columns: 1fr;
  }

  .case-follow-up-doc-grid {
    grid-template-columns: 1fr;
  }

  .case-follow-up-control-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .case-follow-up-summary__grid {
    grid-template-columns: 1fr;
  }

  .case-follow-up-summary__section + .case-follow-up-summary__section {
    border-left: 0;
    padding-left: 0;
    border-top: 1px solid var(--om-border, #dde4e0);
    padding-top: 0.65rem;
  }

  .case-follow-up-summary__section:nth-child(n + 3) {
    border-top: 1px solid var(--om-border, #dde4e0);
    padding-top: 0.65rem;
  }

  .case-follow-up-control-row {
    grid-template-columns: 1fr;
  }

  .case-follow-up-timeline {
    flex-direction: column;
    align-items: stretch;
    overflow-x: visible;
  }

  .case-follow-up-timeline__item {
    flex: 1 1 auto;
    min-width: 0;
    align-items: flex-start;
    text-align: left;
    padding-left: 0.15rem;
  }

  .case-follow-up-timeline__item:not(:last-child)::before {
    top: 1.55rem;
    left: 0.65rem;
    right: auto;
    width: 2px;
    height: calc(100% - 0.35rem);
    border-top: none;
  }

  .case-follow-up-timeline__item:has(+ .case-follow-up-timeline__item--projected)::before,
  .case-follow-up-timeline__item--projected:not(:last-child)::before {
    background: none;
    border-top: none;
    border-left: 2px dashed var(--color-border);
    width: 0;
    height: calc(100% - 0.35rem);
  }

  .case-follow-up-timeline__link,
  .case-follow-up-timeline__content {
    align-items: flex-start;
    text-align: left;
  }
}

.mv-follow-up-overview__head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.35rem 1rem;
  margin-bottom: 0.65rem;
}

.mv-follow-up-overview__head h4 {
  margin-bottom: 0;
}

.mv-follow-up-overview__monocle {
  font-size: 0.8rem;
  color: var(--color-text-muted);
}

.mv-follow-up-timeline {
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.mv-follow-up-timeline__item {
  position: relative;
  flex: 1 1 150px;
  min-width: 140px;
}

.mv-follow-up-timeline__item::before {
  content: "";
  position: absolute;
  top: 0.6rem;
  left: 1.1rem;
  right: -0.7rem;
  height: 2px;
  background: var(--color-border);
}

.mv-follow-up-timeline__item:last-child::before {
  display: none;
}

.mv-follow-up-timeline__point {
  position: relative;
  display: block;
  height: 100%;
  padding: 0 0.35rem 0.25rem 0;
  color: inherit;
  text-decoration: none;
}

.mv-follow-up-timeline__point:hover .mv-follow-up-timeline__label {
  color: var(--color-table-link-hover);
}

.mv-follow-up-timeline__dot {
  position: relative;
  z-index: 1;
  display: inline-block;
  width: 0.8rem;
  height: 0.8rem;
  margin-bottom: 0.35rem;
  border: 2px solid var(--color-primary);
  border-radius: 999px;
  background: var(--color-surface);
}

.mv-follow-up-timeline__item--overdue .mv-follow-up-timeline__dot {
  border-color: var(--color-blend-danger-text-strong);
  background: var(--color-blend-danger-tint);
}

.mv-follow-up-timeline__label {
  display: block;
  margin-bottom: 0.35rem;
  font-size: 0.82rem;
  font-weight: 650;
}

.mv-follow-up-timeline__meta {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.12rem 0.4rem;
  margin: 0;
  font-size: 0.76rem;
  line-height: 1.25;
}

.mv-follow-up-timeline__meta dt {
  color: var(--color-text-muted);
}

.mv-follow-up-timeline__meta dd {
  margin: 0;
}

.mv-follow-up-timeline__flags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
  margin-top: 0.4rem;
}

.mv-follow-up-flag {
  display: inline-flex;
  align-items: center;
  gap: 0.2rem;
  border-radius: 999px;
  padding: 0.1rem 0.45rem;
  font-size: 0.68rem;
  font-weight: 650;
  line-height: 1.25;
}

.mv-follow-up-flag--terminal {
  border: 1px solid var(--color-blend-danger-border-badge);
  background: var(--color-blend-danger-tint);
  color: var(--color-blend-danger-text-strong);
}

.mv-follow-up-flag--lost {
  border: 1px solid var(--color-blend-warning-border);
  background: var(--color-blend-warning-tint);
  color: var(--color-text);
}

.mv-overview-field--missing {
  color: var(--color-warn, #b45309);
  font-weight: 600;
}

.mv-overview-field__hint {
  display: block;
  margin-top: 0.15rem;
  font-size: 0.78rem;
}

/* Zuweiser-Übersicht: kompakte Kontaktzeilen */
.zuweiser-kontakt {
  font-size: 0.88rem;
  line-height: 1.35;
}

.zuweiser-kontakt__zeile {
  margin: 0 0 0.15rem;
}

.zuweiser-kontakt__zeile:last-child {
  margin-bottom: 0;
}

.zuweiser-kontakt__label {
  display: inline-block;
  min-width: 3.25rem;
  margin-right: 0.35rem;
  font-size: 0.8rem;
  color: var(--color-text-muted);
}

.zuweiser-kontakt__kommunikation a {
  word-break: break-word;
}

.zuweiser-kontakt__fax .zuweiser-kontakt__label {
  min-width: auto;
  margin-right: 0.2rem;
}

.zuweiser-kontakt__sep {
  margin: 0 0.3rem;
  color: var(--color-text-muted);
  user-select: none;
}

.zuweiser-kontakt__anschrift {
  margin-top: 0.1rem;
  font-size: 0.86rem;
}

.zuweiser-kontakt--freitext {
  white-space: pre-line;
}

.mv-genom-einschluss-status__value {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 0.12rem 0.55rem;
  font-size: 0.82rem;
  font-weight: 600;
  border: 1px solid var(--color-blend-success-border-strong);
  background: var(--color-blend-success-bg-medium);
  color: var(--color-blend-success-text-strong);
}

.case-detail-meta-card__actions {
  margin: 0.6rem 0 0;
}

.mv-genom-overview-card--mtb-complete {
  border-color: var(--color-blend-success-border);
  background: var(--color-blend-success-bg);
}

.mv-mtb-overview-title {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem;
}

.mv-mtb-fertig-badge {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 0.1rem 0.45rem;
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  border: 1px solid var(--color-blend-success-border-strong);
  background: var(--color-blend-success-bg-medium);
  color: var(--color-text);
}

.mv-status-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin-top: 0.35rem;
}

.mv-overview-monocle-form {
  margin: 0;
}

.mv-status-pill {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 0.12rem 0.45rem;
  font-size: 0.72rem;
  font-weight: 600;
  border: 1px solid var(--color-border);
  background: var(--color-surface);
  color: var(--color-text-muted);
}

.mv-status-pill--on {
  border-color: var(--color-blend-success-border);
  background: var(--color-blend-success-bg-soft);
  color: var(--color-blend-success-text);
}

.mv-status-pill--off {
  opacity: 0.65;
}

.mv-status-pills--table {
  margin-top: 0;
  gap: 0.25rem;
  max-width: 11rem;
}

.mv-status-pills--table .mv-status-pill {
  font-size: 0.65rem;
  padding: 0.08rem 0.32rem;
}

.cases-list-status-cell {
  white-space: nowrap;
}
.cases-list-status-cell__text {
  display: inline;
  font-size: 0.9rem;
  font-weight: 500;
  color: var(--om-text, var(--color-text));
  background: none;
  border: 0;
  padding: 0;
}
/* Warnung nur bei fachlichen Lücken — klein, zurückhaltend, Orange = Warnung */
.cases-list-status-cell__warn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-left: 0.3rem;
  min-width: 0.85rem;
  height: 0.85rem;
  padding: 0 0.15rem;
  border-radius: 3px;
  font-size: 0.62rem;
  font-weight: 700;
  line-height: 1;
  color: #9a6b16;
  background: #f8efd8;
  border: 1px solid #e8d4a0;
  vertical-align: middle;
  cursor: help;
}
.cases-list-status-cell--warn .cases-list-status-cell__text {
  font-weight: 500;
}

.gewebe-arbeitsliste-section {
  margin-bottom: 1.5rem;
}

.gewebe-arbeitsliste-section h3 {
  margin-top: 0;
}

.gewebe-arbeitsliste-row--hinweis {
  --gewebe-arbeitsliste-row-bg: color-mix(
    in srgb,
    var(--color-warn, #b45309) 8%,
    var(--color-surface, #fff)
  );
}

.gewebe-arbeitsliste-row--kritisch {
  --gewebe-arbeitsliste-row-bg: color-mix(
    in srgb,
    var(--color-danger, #b91c1c) 10%,
    var(--color-surface, #fff)
  );
}

.gewebe-arbeitsliste-row--erneut {
  --gewebe-arbeitsliste-row-bg: color-mix(
    in srgb,
    var(--color-accent, #1d4ed8) 7%,
    var(--color-surface, #fff)
  );
}

.gewebe-arbeitsliste-row--erneut.gewebe-arbeitsliste-row--kritisch {
  --gewebe-arbeitsliste-row-bg: color-mix(
    in srgb,
    var(--color-danger, #b91c1c) 12%,
    var(--color-surface, #fff)
  );
}

.gewebe-arbeitsliste-row--focus {
  outline: 2px solid var(--color-primary, #123a46);
  outline-offset: -2px;
  --gewebe-arbeitsliste-row-bg: color-mix(
    in srgb,
    var(--color-primary, #123a46) 10%,
    var(--color-surface, #fff)
  );
}

.gewebe-arbeitsliste-row--hinweis td,
.gewebe-arbeitsliste-row--kritisch td,
.gewebe-arbeitsliste-row--erneut td,
.gewebe-arbeitsliste-row--focus td {
  background: var(--gewebe-arbeitsliste-row-bg);
}

.gewebe-arbeitsliste-section .data-table td.action-cell {
  display: table-cell;
  background: var(--gewebe-arbeitsliste-row-bg, inherit);
  white-space: nowrap;
}

.gewebe-arbeitsliste-section .action-cell .inline-form {
  display: inline-block;
  margin-right: 0.5rem;
  background: transparent;
}

.gewebe-arbeitsliste-laufnummer {
  margin-left: 0.25rem;
  white-space: nowrap;
}

.gewebe-arbeitsliste-badge {
  display: inline-block;
  margin-left: 0.35rem;
  padding: 0.1rem 0.4rem;
  font-size: 0.75rem;
  font-weight: 600;
  border-radius: 3px;
}

.gewebe-arbeitsliste-badge--hinweis {
  color: var(--color-warn, #b45309);
  background: color-mix(in srgb, var(--color-warn, #b45309) 15%, transparent);
}

.gewebe-arbeitsliste-badge--kritisch {
  color: var(--color-danger, #b91c1c);
  background: color-mix(in srgb, var(--color-danger, #b91c1c) 12%, transparent);
}

.gewebe-arbeitsliste-badge--erneut {
  color: var(--color-accent, #1d4ed8);
  background: color-mix(in srgb, var(--color-accent, #1d4ed8) 14%, transparent);
}

/* Gewebe-Tab: Abschnittsnavigation (außerhalb der Tissue-Cards) */
.gewebe-section__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 0.35rem 0.85rem;
  margin-bottom: 0.55rem;
}

.gewebe-section__title {
  margin: 0;
}

.gewebe-section__arbeitsliste {
  white-space: nowrap;
}

.gewebe-section__subtitle {
  margin: 0 0 0.75rem;
  font-size: 0.92rem;
  color: var(--color-text-muted, #667085);
}

.gewebe-section__body {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}

/* Legacy aliases (falls alte Markup-Referenzen) */
.gewebe-section-card__head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.35rem 1rem;
  margin-bottom: 0.35rem;
}

.gewebe-section-card__title {
  margin: 0;
}

.gewebe-section-card__arbeitsliste {
  font-size: 0.9rem;
  white-space: nowrap;
}

.gewebe-section-card__subtitle {
  margin: 0 0 0.75rem;
  font-size: 0.92rem;
  color: var(--color-text-muted, #667085);
}

/* Gewebe-Tissue-Card: gleiche Surface wie Übersicht/Einschluss */
.gewebe-tissue-card.module-card {
  background: var(--om-surface-card, var(--color-blend-surface-card, var(--color-surface-alt)));
  border-color: var(--om-border, #dde4e0);
  border-radius: var(--om-radius, 10px);
}

.gewebe-tissue-card__header {
  margin-bottom: 0.75rem;
}

.gewebe-tissue-card__header-main {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.5rem 1rem;
  margin-bottom: 0.75rem;
}

.gewebe-tissue-card__title {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 600;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem;
}

.gewebe-tissue-card__partner {
  margin: 0.2rem 0 0;
  font-size: 0.9rem;
  color: var(--color-text-muted, #667085);
}

.gewebe-tissue-card__header-aside {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  flex-shrink: 0;
}

.gewebe-status-chip--muted {
  opacity: 0.75;
  color: var(--color-text-muted, #667085);
}

.gewebe-overflow {
  position: relative;
}

.gewebe-overflow__toggle {
  list-style: none;
  cursor: pointer;
  border: 1px solid var(--color-border, #d0d5dd);
  border-radius: 6px;
  background: var(--color-surface, #fff);
  width: 2rem;
  height: 2rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.15rem;
  line-height: 1;
  color: var(--color-text-muted, #667085);
}

.gewebe-overflow__toggle::-webkit-details-marker {
  display: none;
}

.gewebe-overflow__menu {
  position: absolute;
  right: 0;
  top: calc(100% + 0.25rem);
  z-index: 5;
  min-width: 10rem;
  padding: 0.25rem;
  border: 1px solid var(--color-border, #d0d5dd);
  border-radius: 8px;
  background: var(--color-surface, #fff);
  box-shadow: 0 4px 16px rgba(16, 24, 40, 0.1);
}

.gewebe-overflow__form {
  margin: 0;
}

.gewebe-overflow__item {
  display: block;
  width: 100%;
  text-align: left;
  border: 0;
  background: transparent;
  padding: 0.45rem 0.65rem;
  border-radius: 6px;
  font: inherit;
  cursor: pointer;
  color: var(--color-text, #1a1a1a);
}

.gewebe-overflow__item:hover,
.gewebe-overflow__item:focus-visible {
  background: color-mix(in srgb, var(--color-primary, #123a46) 8%, transparent);
  outline: none;
}

.gewebe-tissue-card__meta-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.5rem 0.75rem;
  margin: 0;
}

.gewebe-meta-block {
  display: flex;
  align-items: flex-start;
  gap: 0.4rem;
  min-width: 0;
  padding: 0.45rem 0.5rem;
  border-radius: 8px;
  border: 1px solid var(--om-border, #dde4e0);
  background: var(--om-surface-soft, #f8f9f7);
}

.gewebe-meta-block__icon {
  flex: 0 0 auto;
  color: var(--color-primary, #123a46);
  font-size: 1rem;
  line-height: 1;
  margin-top: 0.1rem;
}

.gewebe-meta-block__body {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  min-width: 0;
}

.gewebe-meta-block__label {
  font-size: 0.75rem;
  color: var(--color-text-muted, #667085);
  line-height: 1.2;
}

.gewebe-meta-block__value {
  font-size: 0.92rem;
  font-weight: 600;
  line-height: 1.25;
}

.gewebe-tissue-card__versand {
  margin: 0.5rem 0 0;
}

.gewebe-tissue-card__footer {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.85rem;
  margin-top: 0.85rem;
  align-items: stretch;
}

.gewebe-tissue-card__footer--with-docs {
  grid-template-columns: minmax(0, 1.4fr) minmax(12rem, 0.9fr);
}

.gewebe-verlauf-section,
.gewebe-docs-panel {
  margin: 0;
  padding: 0.75rem 0.85rem;
  border: 1px solid var(--om-border, #dde4e0);
  border-radius: 8px;
  background: var(--om-surface, #ffffff);
  min-width: 0;
  height: 100%;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
}

.gewebe-docs-panel h5,
.gewebe-verlauf-section h5 {
  margin: 0 0 0.55rem;
  font-size: 0.98rem;
}

.gewebe-docs-panel .gewebe-doc-list,
.gewebe-verlauf-section > div {
  flex: 1 1 auto;
  min-height: 0;
}

.gewebe-stepper {
  list-style: none;
  margin: 0 0 1rem;
  padding: 0.65rem 0.5rem;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.35rem 0.5rem;
  border: 1px solid var(--om-border, #dde4e0);
  border-radius: 8px;
  background: var(--om-surface-soft, #f8f9f7);
}

.gewebe-stepper__step {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.15rem;
  min-width: 0;
  position: relative;
  padding: 0.15rem 0.35rem;
}

.gewebe-stepper__marker {
  font-size: 0.85rem;
  line-height: 1;
}

.gewebe-stepper__label {
  font-size: 0.82rem;
  font-weight: 600;
  line-height: 1.25;
}

.gewebe-stepper__sub {
  font-size: 0.75rem;
  color: var(--color-text-muted, #667085);
}

.gewebe-stepper__step--done {
  color: var(--om-primary, #2f6f68);
}

.gewebe-stepper__step--done .gewebe-stepper__marker {
  color: var(--om-primary, #2f6f68);
}

.gewebe-stepper__step--current {
  color: var(--color-text, #1a1a1a);
}

.gewebe-stepper__step--current .gewebe-stepper__marker {
  color: var(--om-primary, #2f6f68);
  font-size: 0.95rem;
}

.gewebe-stepper__step--current .gewebe-stepper__label {
  font-weight: 700;
}

.gewebe-stepper__step--current {
  border-radius: 8px;
  background: color-mix(in srgb, var(--om-primary, #557c70) 6%, var(--om-surface, #ffffff));
}

.gewebe-stepper__step--todo {
  color: var(--color-text-muted, #98a2b3);
}

.gewebe-actions-doc {
  margin: 0 0 1rem;
}

.gewebe-actions-doc__title {
  margin: 0 0 0.2rem;
  font-size: 0.98rem;
}

.gewebe-actions-doc__subtitle {
  margin: 0 0 0.55rem;
}

.gewebe-accordion {
  display: flex;
  flex-direction: column;
  gap: 0;
  border: 1px solid var(--om-border, #dde4e0);
  border-radius: 8px;
  overflow: hidden;
  background: var(--om-surface, #ffffff);
}

.gewebe-accordion__item {
  border-bottom: 1px solid var(--om-border, #dde4e0);
  background: var(--om-surface, #ffffff);
}

.gewebe-accordion__item:last-child {
  border-bottom: 0;
}

.gewebe-accordion__item--next {
  background: var(--om-surface-soft, #f8f9f7);
  box-shadow: inset 3px 0 0 var(--om-primary, #557c70);
}

.gewebe-accordion__summary {
  list-style: none;
  cursor: pointer;
  padding: 0.7rem 0.85rem;
  font-weight: 600;
  font-size: 0.92rem;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.65rem;
}

.gewebe-accordion__summary::-webkit-details-marker {
  display: none;
}

.gewebe-accordion__summary::after {
  content: "▾";
  font-size: 0.85rem;
  color: var(--color-text-muted, #667085);
  transition: transform 0.12s ease;
  margin-top: 0.15rem;
  flex: 0 0 auto;
}

.gewebe-accordion__item[open] > .gewebe-accordion__summary::after {
  transform: rotate(-180deg);
}

.gewebe-accordion__item[open] > .gewebe-accordion__summary {
  background: var(--om-surface-soft, #f8f9f7);
}

.gewebe-accordion__summary-main {
  display: flex;
  align-items: flex-start;
  gap: 0.55rem;
  min-width: 0;
  flex: 1 1 auto;
}

.gewebe-accordion__icon {
  flex: 0 0 auto;
  color: var(--om-primary, #2f6f68);
  font-size: 1.1rem;
  line-height: 1;
  margin-top: 0.1rem;
}

.gewebe-accordion__summary-text {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  min-width: 0;
}

.gewebe-accordion__summary-title-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 0.5rem;
}

.gewebe-accordion__summary-title {
  font-weight: 600;
  line-height: 1.3;
}

.gewebe-accordion__summary-sub {
  font-size: 0.8rem;
  font-weight: 400;
  color: var(--color-text-muted, #667085);
  line-height: 1.35;
}

.gewebe-accordion__badge {
  flex: 0 0 auto;
  font-size: 0.75rem;
  font-weight: 500;
  color: var(--color-text-muted, #667085);
  border: 1px solid var(--color-border, #d0d5dd);
  border-radius: 999px;
  padding: 0.1rem 0.45rem;
  white-space: nowrap;
  margin-top: 0.1rem;
}

.gewebe-accordion__summary-aside {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.35rem;
  flex: 0 1 auto;
  max-width: 45%;
}

.gewebe-accordion__panel {
  padding: 0.65rem 0.85rem 0.85rem;
  border-top: 1px solid color-mix(in srgb, var(--color-border, #d0d5dd) 70%, transparent);
}

.gewebe-material-history {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  margin: 0 0 0.85rem;
  padding: 0.55rem 0.65rem;
  border: 1px solid color-mix(in srgb, var(--color-border, #d0d5dd) 80%, transparent);
  border-radius: 8px;
  background: color-mix(in srgb, var(--color-surface, #fff) 92%, var(--color-border, #d0d5dd));
}

.gewebe-material-history__item {
  margin: 0;
}

.gewebe-material-history__title {
  margin: 0 0 0.2rem;
  font-size: 0.85rem;
  font-weight: 600;
}

.gewebe-material-history__pos {
  margin: 0;
  padding-left: 1.1rem;
  font-size: 0.82rem;
  color: var(--color-text-muted, #667085);
}

.gewebe-verlauf-timeline {
  list-style: none;
  margin: 0;
  padding: 0;
}

.gewebe-verlauf-timeline__item {
  display: grid;
  grid-template-columns: 5.5rem 1rem 1fr;
  gap: 0.15rem 0.55rem;
  align-items: start;
  padding: 0 0 0.85rem;
}

.gewebe-verlauf-timeline__item:last-child {
  padding-bottom: 0;
}

.gewebe-verlauf-timeline__time {
  font-size: 0.82rem;
  color: var(--color-text-muted, #667085);
  white-space: nowrap;
  padding-top: 0.05rem;
}

.gewebe-verlauf-timeline__track {
  position: relative;
  display: flex;
  justify-content: center;
  min-height: 100%;
}

.gewebe-verlauf-timeline__track::before {
  content: "";
  position: absolute;
  top: 0.55rem;
  bottom: -0.85rem;
  width: 2px;
  background: color-mix(in srgb, var(--om-primary, #2f6f68) 25%, var(--color-border, #d0d5dd));
}

.gewebe-verlauf-timeline__item:last-child .gewebe-verlauf-timeline__track::before {
  display: none;
}

.gewebe-verlauf-timeline__dot {
  position: relative;
  z-index: 1;
  width: 0.55rem;
  height: 0.55rem;
  margin-top: 0.3rem;
  border-radius: 50%;
  background: var(--om-primary, #2f6f68);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--om-primary, #2f6f68) 18%, transparent);
}

.gewebe-verlauf-timeline__title {
  font-size: 0.92rem;
  font-weight: 600;
}

.gewebe-verlauf-timeline__actor {
  font-size: 0.85rem;
  font-weight: 400;
}

.gewebe-verlauf-timeline__subtitle {
  font-size: 0.85rem;
  color: var(--color-text-muted, #667085);
  margin-top: 0.15rem;
}

.gewebe-verlauf-timeline__notiz {
  font-size: 0.88rem;
  margin-top: 0.2rem;
  font-style: italic;
}

/* Legacy list class kept for compatibility */
.gewebe-verlauf-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.gewebe-verlauf-list__item {
  display: grid;
  grid-template-columns: 5.5rem 1fr;
  gap: 0.35rem 0.75rem;
  padding: 0.45rem 0;
  border-bottom: 1px solid color-mix(in srgb, var(--color-border) 70%, transparent);
}

.gewebe-doc-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.gewebe-doc-link {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  max-width: 100%;
  padding: 0.2rem 0.4rem 0.2rem 0.25rem;
  border: 1px solid transparent;
  border-radius: 5px;
  background: transparent;
  text-decoration: none;
  color: var(--om-text-muted, var(--color-text-muted, #687876));
  transition: background 0.12s ease, color 0.12s ease, border-color 0.12s ease;
}

.gewebe-doc-link:hover,
.gewebe-doc-link:focus-visible {
  background: var(--om-surface-soft, #f8f9f7);
  border-color: var(--om-border, #dde4e0);
  color: var(--om-text, var(--color-text, #1f2d2e));
  outline: none;
}

.gewebe-doc-link__icon {
  flex: 0 0 auto;
  display: flex;
  line-height: 0;
  opacity: 0.92;
}

.gewebe-doc-link__name {
  font-size: 0.8rem;
  font-weight: 500;
  line-height: 1.25;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.gewebe-doc-link__type {
  /* Legacy: Typzeile entfernt, Klasse bleibt für alte Markup-Fragmente */
  display: none;
}

.gewebe-tissue-card__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  align-items: center;
  margin: 0.75rem 0;
}

.gewebe-badge {
  display: inline-block;
  padding: 0.1rem 0.4rem;
  border-radius: 4px;
  font-size: 0.85rem;
  border: 1px solid var(--color-border);
  background: var(--color-surface);
}

.gewebe-badge--material {
  border-color: color-mix(in srgb, var(--color-primary, #123a46) 25%, var(--color-border));
}

.gewebe-badge--ok {
  border-color: color-mix(in srgb, #15803d 35%, var(--color-border));
}

.gewebe-badge--warn {
  border-color: color-mix(in srgb, #b45309 35%, var(--color-border));
}

.gewebe-kontakt-form {
  margin-top: 0.5rem;
}

.gewebe-kontakt-form h5 {
  margin: 0 0 0.5rem;
  font-size: 0.95rem;
}

.gewebe-kontakt-form__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(11rem, 1fr));
  gap: 0.5rem 0.75rem;
  align-items: end;
}

.gewebe-kontakt-form__field {
  margin: 0;
}

.gewebe-kontakt-form__field label {
  display: block;
  font-size: 0.82rem;
  color: var(--color-text-muted);
  margin-bottom: 0.15rem;
}

.gewebe-kontakt-form__field select,
.gewebe-kontakt-form__field input,
.gewebe-kontakt-form__field textarea {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.gewebe-kontakt-form__full {
  grid-column: 1 / -1;
}

.gewebe-kontakt-form__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin: 0.25rem 0 0;
}

.gewebe-kontakt-versand-extra {
  padding: 0.4rem 0.5rem;
  border: 1px dashed var(--color-border);
  border-radius: 6px;
  background: rgba(0, 0, 0, 0.015);
}

.gewebe-verlauf-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.gewebe-verlauf-list__item {
  display: grid;
  grid-template-columns: 5.5rem 1fr;
  gap: 0.35rem 0.75rem;
  padding: 0.45rem 0;
  border-bottom: 1px solid color-mix(in srgb, var(--color-border) 70%, transparent);
}

.gewebe-verlauf-list__item:last-child {
  border-bottom: 0;
}

.gewebe-verlauf-list__time {
  font-size: 0.82rem;
  color: var(--color-text-muted);
  white-space: nowrap;
}

.gewebe-verlauf-list__title {
  font-size: 0.92rem;
  font-weight: 600;
}

.gewebe-verlauf-list__actor {
  font-size: 0.85rem;
  font-weight: 400;
}

.gewebe-verlauf-list__subtitle {
  font-size: 0.85rem;
  color: var(--color-text-muted);
  margin-top: 0.1rem;
}

.gewebe-verlauf-list__notiz {
  font-size: 0.88rem;
  margin-top: 0.2rem;
  font-style: italic;
}

.gewebe-material-section h5 {
  margin: 1rem 0 0.4rem;
  font-size: 0.95rem;
}

.gewebe-eingang-form__heading {
  margin: 0 0 0.5rem;
  font-size: 0.95rem;
  font-weight: 600;
}

.gewebe-uebergabe-form {
  margin-top: 0.5rem;
}

.gewebe-uebergabe-form__grid {
  display: grid;
  grid-template-columns: minmax(7.5rem, 9.5rem) minmax(11rem, 1.55fr) minmax(8.5rem, 1fr);
  gap: 0.5rem 0.75rem;
  align-items: end;
  margin-bottom: 0.5rem;
}

.gewebe-uebergabe-form__field {
  margin: 0;
}

.gewebe-uebergabe-form__field label {
  display: block;
  font-size: 0.82rem;
  color: var(--color-text-muted);
  margin-bottom: 0.15rem;
}

.gewebe-uebergabe-form__field select,
.gewebe-uebergabe-form__field input,
.gewebe-uebergabe-form__field textarea {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.gewebe-uebergabe-form__field--full {
  grid-column: 1 / -1;
}

.gewebe-uebergabe-form__personen {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.5rem 0.75rem;
  align-items: end;
}

.gewebe-eingang-form__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.5rem 0.75rem;
  margin-bottom: 0.75rem;
}

.gewebe-eingang-form__field {
  margin: 0;
}

.gewebe-eingang-form__field label {
  display: block;
  font-size: 0.82rem;
  color: var(--color-text-muted);
  margin-bottom: 0.15rem;
}

.gewebe-eingang-form__field select,
.gewebe-eingang-form__field input,
.gewebe-eingang-form__field textarea {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.gewebe-eingang-form__full {
  grid-column: 1 / -1;
}

.gewebe-eingang-form__positionen {
  margin: 0 0 0.75rem;
  padding: 0.5rem 0.65rem;
  border: 1px solid var(--color-border);
  border-radius: 6px;
}

.gewebe-eingang-form__positionen legend {
  padding: 0 0.25rem;
  font-size: 0.88rem;
  font-weight: 600;
}

.gewebe-pos-rows {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
}

.gewebe-pos-row {
  display: grid;
  grid-template-columns: minmax(8rem, 1.4fr) 4.5rem minmax(5rem, 1fr) minmax(5rem, 1fr) minmax(5rem, 1fr);
  gap: 0.4rem 0.5rem;
  align-items: end;
}

.gewebe-pos-row label {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  margin: 0;
  font-size: 0.78rem;
  color: var(--color-text-muted);
}

.gewebe-pos-row input,
.gewebe-pos-row select {
  width: 100%;
  box-sizing: border-box;
  font-size: 0.9rem;
}

@media (max-width: 900px) {
  .gewebe-tissue-card__meta-row,
  .gewebe-stepper {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .gewebe-tissue-card__footer--with-docs {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
}

@media (max-width: 720px) {
  .gewebe-uebergabe-form__grid,
  .gewebe-uebergabe-form__personen {
    grid-template-columns: 1fr;
  }

  .gewebe-eingang-form__grid {
    grid-template-columns: 1fr;
  }

  .gewebe-pos-row {
    grid-template-columns: 1fr 1fr;
  }

  .gewebe-pos-row__art {
    grid-column: 1 / -1;
  }

  .gewebe-tissue-card__meta-row,
  .gewebe-stepper {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .gewebe-tissue-card__footer--with-docs {
    grid-template-columns: 1fr;
  }

  .gewebe-verlauf-list__item {
    grid-template-columns: 1fr;
  }

  .gewebe-verlauf-timeline__item {
    grid-template-columns: 1rem 1fr;
  }

  .gewebe-verlauf-timeline__time {
    grid-column: 2;
    grid-row: 1;
  }

  .gewebe-verlauf-timeline__track {
    grid-column: 1;
    grid-row: 1 / span 2;
  }

  .gewebe-verlauf-timeline__body {
    grid-column: 2;
  }

  .gewebe-accordion__summary-aside {
    max-width: 100%;
  }
}

.patho-gewebeeingang-card__form {
  display: flex;
  flex-direction: column;
  gap: 1.1rem;
  margin-top: 0.75rem;
}

.patho-gewebeeingang-card__status > label {
  display: block;
  font-size: 0.88rem;
  color: var(--color-text-muted);
  margin-bottom: 0.35rem;
}

.patho-gewebeeingang-card__status select {
  display: block;
  width: min(100%, 22rem);
  max-width: 100%;
}

.patho-befund-felder__form #id_tumorzellgehalt,
.patho-befund-felder__form #id_e_nummer,
.patho-befund-felder__form #id_tumorzellgehalt:disabled,
.patho-befund-felder__form #id_e_nummer:disabled {
  background: #fff !important;
  color: #0f172a;
  opacity: 1;
}

.cases-mv-list-ew {
  font-weight: 600;
  white-space: nowrap;
}

.cases-mv-list-ew--ok {
  color: var(--color-blend-success-text-strong);
}

.cases-mv-list-ew--miss {
  color: var(--color-blend-warning-text);
}

.cases-mv-list-ew-cell {
  position: relative;
  vertical-align: top;
}

.cases-mv-list-ew-cell:has(.cases-mv-ew-pop[open]) {
  z-index: 25;
}

.cases-mv-ew-pop {
  max-width: 16rem;
}

.cases-mv-ew-summary {
  cursor: pointer;
  list-style: none;
  display: flex;
  align-items: center;
  gap: 0.25rem;
  font-weight: 600;
  white-space: nowrap;
}

.cases-mv-ew-summary::-webkit-details-marker {
  display: none;
}

.cases-mv-ew-panel {
  position: absolute;
  left: 0;
  top: 100%;
  z-index: 30;
  margin-top: 0.35rem;
  min-width: 15rem;
  max-width: min(18rem, 92vw);
  padding: 0.55rem 0.65rem 0.65rem;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  background: var(--color-surface, #fff);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.12);
}

.cases-mv-ew-fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}

.cases-mv-ew-legend {
  padding: 0;
  margin: 0 0 0.4rem;
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--color-heading);
}

.cases-mv-ew-check {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  margin: 0.25rem 0;
  font-size: 0.82rem;
  cursor: pointer;
}

.cases-mv-ew-check input {
  width: 1.1rem;
  height: 1.1rem;
  flex-shrink: 0;
}

.cases-mv-ew-actions {
  margin-top: 0.5rem;
  padding-top: 0.45rem;
  border-top: 1px solid var(--color-border);
}

.cases-mv-ew-actions .btn {
  font-size: 0.82rem;
  padding: 0.25rem 0.65rem;
}

.cases-mv-list-mtb {
  max-width: 15rem;
  font-size: 0.82rem;
  white-space: normal;
  line-height: 1.35;
}

.cases-mv-list-mono {
  font-weight: 600;
  white-space: nowrap;
}

.cases-mv-list-mono--fehler {
  color: var(--color-blend-danger-text);
}

.cases-mv-list-mono--gestoppt {
  color: var(--color-blend-warning-text-strong);
}

.cases-mv-list-mono--ubermittelt {
  color: var(--color-blend-success-text-medium);
}

.cases-mv-list-mono--angelegt {
  color: var(--color-text-muted);
}

.cases-mv-list-mono--offen {
  color: var(--color-text-muted);
}

.cases-mv-list-abrechnung {
  font-weight: 600;
  white-space: nowrap;
}

.cases-mv-list-abrechnung--offen {
  color: var(--color-text-muted);
}

.cases-mv-list-abrechnung--gesendet {
  color: var(--color-blend-success-text-soft);
}

.cases-mv-list-abrechnung--abgerechnet {
  color: var(--color-blend-success-text-strong);
}

.cases-mv-inline-select {
  box-sizing: border-box;
  max-width: 100%;
  width: 100%;
  min-width: 0;
  font: inherit;
  font-size: 0.82rem;
  font-weight: 600;
  padding: 0.2rem 0.4rem;
  border-radius: 6px;
  border: 1px solid var(--color-border);
  background: var(--color-surface, #fff);
  color: inherit;
  cursor: pointer;
}

.case-form-section--einwilligungen-block {
  margin: 0;
  padding: 0.75rem 0.9rem 0.95rem;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  background: rgba(0, 0, 0, 0.02);
}

.case-form-section--einwilligungen-block > .case-form-section__title {
  font-size: 0.88rem;
  font-weight: 400;
}

/* Einwilligungs-Checkboxen bewusst größer als Standard-Inputs, damit sie
   bei der Fallanlage als bewusste fachliche Entscheidung gut sichtbar und
   leicht klickbar sind (auch auf Touch-Geräten). */
.case-form-section--einwilligungen-block input[type="checkbox"] {
  width: 1.4rem;
  height: 1.4rem;
  cursor: pointer;
  accent-color: var(--color-checkbox-accent);
  flex-shrink: 0;
  margin: 0;
}

.mv-einwilligungen {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
}

.mv-einwilligungen-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 0.5rem;
  padding-bottom: 0.35rem;
  margin-bottom: 0.15rem;
  border-bottom: 1px solid var(--color-blend-border-faint);
}

.mv-einwilligungen-toolbar__btn {
  padding: 0.28rem 0.6rem;
  font-size: 0.8125rem;
}

/* Überschreibt .btn { font-weight: 600 } aus components.css (lädt nach theme.css) */
.case-form-section--einwilligungen-block .mv-einwilligungen-toolbar .btn {
  font-weight: 400;
}

.mv-einwilligungen-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 10.5rem), 1fr));
  gap: 0.35rem 0.65rem;
}

.mv-einwilligung-item {
  min-width: 0;
}

.mv-einwilligung-option {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  margin: 0;
  padding: 0.35rem 0.45rem;
  border-radius: 6px;
  border: 1px solid transparent;
  cursor: pointer;
  transition: background-color 0.12s ease, border-color 0.12s ease;
}

.mv-einwilligung-option:hover {
  background: var(--color-blend-surface-hover);
  border-color: var(--color-blend-border-soft);
}

.mv-einwilligung-option__label {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.25;
  color: var(--color-text);
}

.mv-einwilligung-item__errors {
  margin: 0.15rem 0 0 0.15rem;
  padding-left: 1.1rem;
}

@media (prefers-color-scheme: dark) {
  .case-form-section--einwilligungen-block {
    background: rgba(255, 255, 255, 0.03);
  }

  .mv-einwilligung-option:hover {
    background: rgba(255, 255, 255, 0.06);
    border-color: var(--color-border);
  }
}

/* Fall anlegen MV Genom: Rubrik Analysen — eigene Box (Hintergrund), ohne Akzentlinie */
.case-form-section--analysen-block {
  margin: 0;
  padding: 0.55rem 0.65rem 0.72rem;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  background: rgba(44, 110, 155, 0.06);
}

.case-form-section--analysen-block > .case-form-section__title {
  font-size: 0.875rem;
  font-weight: 400;
  color: var(--color-primary, #123a46);
}

/* Django 5+: div.case-form-analysen-options > div > label — linksbündige Liste, eine Spalte Checkbox | Text */
.case-form-analysen-options,
.case-form-analysen-options ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.3rem;
  width: 100%;
  max-width: min(22rem, 100%);
  text-align: left;
}

.case-form-analysen-options > div,
.case-form-analysen-options ul > li {
  margin: 0;
  min-width: 0;
  width: 100%;
}

.case-form-analysen-options label {
  display: grid;
  grid-template-columns: 1.125rem 1fr;
  column-gap: 0.45rem;
  align-items: center;
  justify-items: start;
  width: 100%;
  box-sizing: border-box;
  cursor: pointer;
  font-size: 0.8125rem;
  font-weight: 400;
  line-height: 1.3;
  color: var(--color-text);
  padding: 0.22rem 0.35rem;
  border-radius: 5px;
  transition: background-color 0.12s ease-in-out;
}

.case-form-analysen-options label:hover {
  background-color: rgba(44, 110, 155, 0.1);
}

/* Per JS deaktivierte Optionen: visuell klar zurückgenommen, aber lesbar. */
.case-form-analysen-options label.is-disabled {
  opacity: 0.4;
  cursor: not-allowed;
  background-color: transparent;
}

.case-form-analysen-options label.is-disabled:hover {
  background-color: transparent;
}

.case-form-analysen-options input[type="checkbox"] {
  width: 1.05rem;
  height: 1.05rem;
  margin: 0;
  justify-self: start;
  cursor: pointer;
  accent-color: var(--color-checkbox-accent);
}

.case-form-analysen-options input[type="checkbox"]:disabled {
  cursor: not-allowed;
}

@media (prefers-color-scheme: dark) {
  .case-form-section--analysen-block {
    background: rgba(255, 255, 255, 0.04);
  }
  .case-form-analysen-options label:hover {
    background-color: rgba(255, 255, 255, 0.06);
  }
}

/* MV-Genom: Überschrift „Molekulare Analysen“ + Tooltip (title), kleines i als Hinweis */
label.case-analysen-kombi-heading[title],
span.case-analysen-kombi-heading[title] {
  cursor: help;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  flex-wrap: nowrap;
}

.case-analysen-kombi-i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  flex: 0 0 auto;
  width: 1.2em;
  height: 1.2em;
  margin: 0;
  padding: 0;
  font-size: 0.62em;
  font-weight: 700;
  font-style: italic;
  font-family: Georgia, "Times New Roman", serif;
  line-height: 1;
  color: var(--color-primary, #123a46);
  border: 1px solid var(--color-blend-primary-border);
  border-radius: 50%;
  background: var(--color-blend-surface-glass);
}

@media (prefers-color-scheme: dark) {
  .case-analysen-kombi-i {
    color: var(--color-blend-primary-text-strong);
    border-color: var(--color-blend-border-dashed);
    background: var(--color-blend-surface-glass-muted);
  }
}

/* Nur das Feld-Label (direktes Kind), nicht Checkbox-Sonderlayout (.case-form-field__check) */
.case-form-field > label:not(.case-form-field__check) {
  display: block;
  font-size: 0.88rem;
  color: var(--color-text-muted);
  margin-bottom: 0.25rem;
}

/* Nach allgemeinem Feld-Label: MV-Analysen-Überschrift bleibt inline (Text + Info-i) */
.case-form-field > label.case-analysen-kombi-heading[title] {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  flex-wrap: nowrap;
  cursor: help;
}

.case-form-field__errors {
  margin: 0.25rem 0 0;
  padding-left: 1.1rem;
  color: var(--color-danger);
  font-size: 0.85rem;
}

.case-form-field__hint {
  display: block;
  font-size: 0.8rem;
  color: var(--color-text-muted);
  margin-top: 0.2rem;
}

/* Auto-Hinweis bei automatisch vorgeschlagenen Werten (z. B. PKV-Erkennung) */
.case-form-field__hint--auto {
  color: #1f6f46;
  font-style: italic;
}

.case-detail-form__actions {
  margin: 0.25rem 0 0;
}

@media (max-width: 1100px) {
  .main {
    grid-template-columns: 1fr;
  }

  .content-split {
    grid-template-columns: 1fr;
  }
}

/* --- theme.dekoration (Konfiguration): Spaß-Overlays, pointer-events: none --- */
.dekoration-layer {
  position: fixed;
  inset: 0;
  z-index: 9998;
  overflow: hidden;
  pointer-events: none;
}

/* Kinder dürfen nie Klicks abfangen (sonst wirkt die Oberfläche wie „erst Doppelklick“). */
.dekoration-layer *,
.fun-layer * {
  pointer-events: none !important;
}

.dekoration-sprite {
  position: absolute;
  left: -12%;
  font-size: 1.85rem;
  line-height: 1;
  animation-name: dekoration-stroll;
  animation-timing-function: linear;
  animation-fill-mode: forwards;
}

@keyframes dekoration-stroll {
  to {
    left: 110%;
  }
}

.dekoration-footprint {
  position: fixed;
  font-size: 0.95rem;
  line-height: 1;
  opacity: 0.5;
  animation: dekoration-fadeout 4s ease-out forwards;
}

@keyframes dekoration-fadeout {
  from {
    opacity: 0.45;
  }

  to {
    opacity: 0;
    transform: scale(0.88);
  }
}

.dekoration-sparkle {
  position: fixed;
  font-size: 1.15rem;
  line-height: 1;
  opacity: 0.75;
  animation: dekoration-twinkle 2.4s ease-out forwards;
}

@keyframes dekoration-twinkle {
  0% {
    opacity: 0;
    transform: scale(0.6);
  }

  35% {
    opacity: 0.85;
  }

  100% {
    opacity: 0;
    transform: scale(1.15) rotate(12deg);
  }
}

.dekoration-wave {
  position: absolute;
  right: -15%;
  font-size: 2rem;
  line-height: 1;
  opacity: 0.3;
  animation: dekoration-wave-sail 32s linear infinite;
}

@keyframes dekoration-wave-sail {
  to {
    right: 112%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .dekoration-layer {
    display: none;
  }
}

/* Sanfte Farbanpassungen pro Dekor (Light/Dark getrennt) */
@media (prefers-color-scheme: light) {
  body.app[data-dekoration="cats"] {
    --color-primary: #b45309;
    --color-bg: #fffdf8;
    --color-surface: #fff8f0;
    --color-surface-alt: #fffbf5;
  }

  body.app[data-dekoration="unicorns"] {
    --color-primary: #9333ea;
    --color-bg: #fdfaff;
    --color-surface: #f8f4ff;
  }

  body.app[data-dekoration="sailing"] {
    --color-primary: #0369a1;
    --color-bg: #f6fbff;
    --color-surface: #eef6fc;
  }

  body.app[data-dekoration="firebrigade"] {
    --color-primary: #b91c1c;
    --color-bg: #fff8f7;
    --color-surface: #fff1ef;
  }
}

@media (prefers-color-scheme: dark) {
  body.app[data-dekoration="cats"] {
    --color-primary: #fbbf24;
    --color-bg: #120f0a;
    --color-surface: #18120c;
    --color-surface-alt: #0f0c08;
  }

  body.app[data-dekoration="unicorns"] {
    --color-primary: #c084fc;
    --color-bg: #100818;
    --color-surface: #140d1c;
  }

  body.app[data-dekoration="sailing"] {
    --color-primary: #38bdf8;
    --color-bg: #070f16;
    --color-surface: #0a141c;
  }

  body.app[data-dekoration="firebrigade"] {
    --color-primary: #f87171;
    --color-bg: #140a0a;
    --color-surface: #1a0f0f;
  }
}

