/**
 * WIL Tabellen – Studium, Vorbereitungsdienst, Schuldienst, Übersicht
 * Einbindung: <link rel="stylesheet" href="/fileadmin/PR/Informatiklehrerin/WIL20/wil-tabellen.css">
 */

/* ========== Variablen (Farben pro Bereich) ========== */
:root {
  --wil-lila:    #ab71c3;
  --wil-gruen:   #33a56e;
  --wil-orange:  #f9b000;
  --wil-blue:    #2563eb;
  --wil-border:  #e0e0e0;
  --wil-gray:    #f2f2f2;
  --wil-white:   #fff;
  /* Alternierende Zeilen: helles Grau mit Tabellenfarbe kombiniert */
  --wil-gray-lila:   color-mix(in srgb, var(--wil-lila) 12%, var(--wil-gray));
  --wil-gray-gruen:  color-mix(in srgb, var(--wil-gruen) 12%, var(--wil-gray));
  --wil-gray-orange: color-mix(in srgb, var(--wil-orange) 12%, var(--wil-gray));
}

/* ========== Einfaches System: [farbe] [zustand] ========== */
/* check = 80 %, mid = 50 %, none = 5 %                      */
.table td.lila.check   { background: color-mix(in srgb, var(--wil-lila) 80%, white) !important; border-color: var(--wil-white); }
.table td.lila.mid     { background: color-mix(in srgb, var(--wil-lila) 50%, white) !important; border-color: var(--wil-white); }
.table td.lila.none    { background: color-mix(in srgb, var(--wil-lila) 5%, white) !important; border-color: var(--wil-white); }
.table td.gruen.check  { background: color-mix(in srgb, var(--wil-gruen) 80%, white) !important; border-color: var(--wil-white); }
.table td.gruen.mid    { background: color-mix(in srgb, var(--wil-gruen) 50%, white) !important; border-color: var(--wil-white); }
.table td.gruen.none   { background: color-mix(in srgb, var(--wil-gruen) 5%, white) !important; border-color: var(--wil-white); }
.table td.orange.check { background: color-mix(in srgb, var(--wil-orange) 80%, white) !important; border-color: var(--wil-white); }
.table td.orange.mid   { background: color-mix(in srgb, var(--wil-orange) 50%, white) !important; border-color: var(--wil-white); }
.table td.orange.none  { background: color-mix(in srgb, var(--wil-orange) 5%, white) !important; border-color: var(--wil-white); }
.table td.blue.check   { background: color-mix(in srgb, var(--wil-blue) 80%, white) !important; border-color: var(--wil-white); }
.table td.blue.mid     { background: color-mix(in srgb, var(--wil-blue) 50%, white) !important; border-color: var(--wil-white); }
.table td.blue.none    { background: color-mix(in srgb, var(--wil-blue) 5%, white) !important; border-color: var(--wil-white); }
/* Optional: dritte Stufe (z. B. „optional / −“) */
.table td.lila.optional    { background: color-mix(in srgb, var(--wil-lila) 25%, white) !important; border-color: var(--wil-white); }
.table td.gruen.optional   { background: color-mix(in srgb, var(--wil-gruen) 25%, white) !important; border-color: var(--wil-white); }
.table td.orange.optional  { background: color-mix(in srgb, var(--wil-orange) 25%, white) !important; border-color: var(--wil-white); }
.table td.blue.optional    { background: color-mix(in srgb, var(--wil-blue) 25%, white) !important; border-color: var(--wil-white); }

/* ========== Basis: alle .table ========== */
* { box-sizing: border-box; }

.table {
  width: 100%;
  table-layout: auto;
  border-collapse: collapse;
  margin-bottom: 2rem;
  font-family: "Fira Sans", sans-serif;
  font-size: 18px;
  font-weight: 300;
  text-transform: uppercase;
  text-align: left;
}

.table th,
.table td {
  padding: 0.75rem;
  vertical-align: top;
  border-top: 1px solid var(--wil-border);
  text-align: left;
}

.table th {
  border: 1px solid var(--wil-border);
  background-color: var(--wil-white) !important;
  color: #1a1a1a;
  font-weight: 300;
}

.table thead th {
  border-top: none;
  border-left: none;
  border-right: none;
  border-bottom: 1px solid var(--wil-border);
  background-color: var(--wil-white) !important;
}

.table tbody td:nth-child(1),
.table tbody td:nth-child(2) { text-transform: none; }

/* Spalten LA 1–3: 62px, KATEGORIE (6): 124px, zentriert */
.table th:nth-child(3), .table th:nth-child(4), .table th:nth-child(5),
.table td:nth-child(3), .table td:nth-child(4), .table td:nth-child(5) {
  width: 62px;
  min-width: 62px;
  max-width: 62px;
  box-sizing: border-box;
  text-align: center;
  vertical-align: middle;
}
.table th:nth-child(6), .table td:nth-child(6) {
  width: 124px;
  min-width: 124px;
  max-width: 124px;
  box-sizing: border-box;
  text-align: center;
  vertical-align: middle;
}

.table td { border: 1px solid var(--wil-border); }

.table th:nth-child(1), .table th:nth-child(2),
.table tbody td:nth-child(1), .table tbody td:nth-child(2) { text-align: left; }

.table tbody td:nth-child(2) { vertical-align: middle; }

.table th:nth-child(2) { min-width: 270px; }

/* Bundesland-Zelle (mit rowspan): kein Rahmen */
.table th:nth-child(1),
.table tbody td:nth-child(1)[rowspan] { border: none !important; }

.table tbody td:nth-child(1) strong,
.table tbody td:nth-child(1) b { font-weight: 600; }

.table tbody tr { border-top: 1px solid var(--wil-border); }

/* ========== Tabellen 1–3: Zeilen pro Bundesland (4 / 3 / 4) ========== */
/* Studium: 4 Zeilen pro BL → 8n+1..4 weiss, 8n+5..8 grau */
/* Vorbereitung: 3 Zeilen → 6n+1..3 weiss, 6n+4..6 grau */
/* Schuldienst: 4 Zeilen → 8n+1..4 weiss, 8n+5..8 grau */

/* Gemeinsam: Parameter/Bundesland min-width + keine seitlichen Borders */
.tabelle-studium tbody tr:nth-child(8n+1) td:nth-child(2),
.tabelle-studium tbody tr:nth-child(8n+2) td:nth-child(1),
.tabelle-studium tbody tr:nth-child(8n+3) td:nth-child(1),
.tabelle-studium tbody tr:nth-child(8n+4) td:nth-child(1),
.tabelle-studium tbody tr:nth-child(8n+5) td:nth-child(2),
.tabelle-studium tbody tr:nth-child(8n+6) td:nth-child(1),
.tabelle-studium tbody tr:nth-child(8n+7) td:nth-child(1),
.tabelle-studium tbody tr:nth-child(8n+8) td:nth-child(1),
.tabelle-vorbereitung tbody tr:nth-child(6n+1) td:nth-child(2),
.tabelle-vorbereitung tbody tr:nth-child(6n+2) td:nth-child(1),
.tabelle-vorbereitung tbody tr:nth-child(6n+3) td:nth-child(1),
.tabelle-vorbereitung tbody tr:nth-child(6n+4) td:nth-child(2),
.tabelle-vorbereitung tbody tr:nth-child(6n+5) td:nth-child(1),
.tabelle-vorbereitung tbody tr:nth-child(6n+6) td:nth-child(1),
.tabelle-schuldienst tbody tr:nth-child(8n+1) td:nth-child(2),
.tabelle-schuldienst tbody tr:nth-child(8n+2) td:nth-child(1),
.tabelle-schuldienst tbody tr:nth-child(8n+3) td:nth-child(1),
.tabelle-schuldienst tbody tr:nth-child(8n+4) td:nth-child(1),
.tabelle-schuldienst tbody tr:nth-child(8n+5) td:nth-child(2),
.tabelle-schuldienst tbody tr:nth-child(8n+6) td:nth-child(1),
.tabelle-schuldienst tbody tr:nth-child(8n+7) td:nth-child(1),
.tabelle-schuldienst tbody tr:nth-child(8n+8) td:nth-child(1) {
  min-width: 270px;
  border-left: none !important;
  border-right: none !important;
}

/* Block Hintergrund: weiss */
.tabelle-studium tbody tr:nth-child(8n+1) td:nth-child(1),
.tabelle-studium tbody tr:nth-child(8n+2) td:nth-child(1),
.tabelle-studium tbody tr:nth-child(8n+3) td:nth-child(1),
.tabelle-studium tbody tr:nth-child(8n+4) td:nth-child(1),
.tabelle-studium tbody tr:nth-child(8n+1) td:nth-child(2),
.tabelle-studium tbody tr:nth-child(8n+2) td:nth-child(2),
.tabelle-studium tbody tr:nth-child(8n+3) td:nth-child(2),
.tabelle-studium tbody tr:nth-child(8n+4) td:nth-child(2),
.tabelle-vorbereitung tbody tr:nth-child(6n+1) td:nth-child(1),
.tabelle-vorbereitung tbody tr:nth-child(6n+2) td:nth-child(1),
.tabelle-vorbereitung tbody tr:nth-child(6n+3) td:nth-child(1),
.tabelle-vorbereitung tbody tr:nth-child(6n+1) td:nth-child(2),
.tabelle-vorbereitung tbody tr:nth-child(6n+2) td:nth-child(2),
.tabelle-vorbereitung tbody tr:nth-child(6n+3) td:nth-child(2),
.tabelle-schuldienst tbody tr:nth-child(8n+1) td:nth-child(1),
.tabelle-schuldienst tbody tr:nth-child(8n+2) td:nth-child(1),
.tabelle-schuldienst tbody tr:nth-child(8n+3) td:nth-child(1),
.tabelle-schuldienst tbody tr:nth-child(8n+4) td:nth-child(1),
.tabelle-schuldienst tbody tr:nth-child(8n+1) td:nth-child(2),
.tabelle-schuldienst tbody tr:nth-child(8n+2) td:nth-child(2),
.tabelle-schuldienst tbody tr:nth-child(8n+3) td:nth-child(2),
.tabelle-schuldienst tbody tr:nth-child(8n+4) td:nth-child(2) {
  background-color: var(--wil-white);
  border: 1px solid var(--wil-border);
  border-right: 1px solid var(--wil-white) !important;
}

/* Block Hintergrund: alternierende Zeilen – Spalten 1+2 nur Grau */
.tabelle-studium tbody tr:nth-child(8n+5) td:nth-child(1),
.tabelle-studium tbody tr:nth-child(8n+6) td:nth-child(1),
.tabelle-studium tbody tr:nth-child(8n+7) td:nth-child(1),
.tabelle-studium tbody tr:nth-child(8n+8) td:nth-child(1),
.tabelle-studium tbody tr:nth-child(8n+5) td:nth-child(2),
.tabelle-studium tbody tr:nth-child(8n+6) td:nth-child(2),
.tabelle-studium tbody tr:nth-child(8n+7) td:nth-child(2),
.tabelle-studium tbody tr:nth-child(8n+8) td:nth-child(2) {
  background-color: var(--wil-gray);
  border: 1px solid var(--wil-white);
  border-right: 1px solid var(--wil-white) !important;
}
.tabelle-vorbereitung tbody tr:nth-child(6n+4) td:nth-child(1),
.tabelle-vorbereitung tbody tr:nth-child(6n+5) td:nth-child(1),
.tabelle-vorbereitung tbody tr:nth-child(6n+6) td:nth-child(1),
.tabelle-vorbereitung tbody tr:nth-child(6n+4) td:nth-child(2),
.tabelle-vorbereitung tbody tr:nth-child(6n+5) td:nth-child(2),
.tabelle-vorbereitung tbody tr:nth-child(6n+6) td:nth-child(2) {
  background-color: var(--wil-gray);
  border: 1px solid var(--wil-white);
  border-right: 1px solid var(--wil-white) !important;
}
.tabelle-schuldienst tbody tr:nth-child(8n+5) td:nth-child(1),
.tabelle-schuldienst tbody tr:nth-child(8n+6) td:nth-child(1),
.tabelle-schuldienst tbody tr:nth-child(8n+7) td:nth-child(1),
.tabelle-schuldienst tbody tr:nth-child(8n+8) td:nth-child(1),
.tabelle-schuldienst tbody tr:nth-child(8n+5) td:nth-child(2),
.tabelle-schuldienst tbody tr:nth-child(8n+6) td:nth-child(2),
.tabelle-schuldienst tbody tr:nth-child(8n+7) td:nth-child(2),
.tabelle-schuldienst tbody tr:nth-child(8n+8) td:nth-child(2) {
  background-color: var(--wil-gray);
  border: 1px solid var(--wil-white);
  border-right: 1px solid var(--wil-white) !important;
}

/* Trennlinie: Weißer Block – graue Linie oben für alle Zeilen (8n+1 bis 8n+4), Spalte 2 (Parameter) */
.tabelle-studium tbody tr:nth-child(8n+1) td:nth-child(2),
.tabelle-studium tbody tr:nth-child(8n+2) td:nth-child(2),
.tabelle-studium tbody tr:nth-child(8n+3) td:nth-child(2),
.tabelle-studium tbody tr:nth-child(8n+4) td:nth-child(2),
.tabelle-vorbereitung tbody tr:nth-child(6n+1) td:nth-child(2),
.tabelle-vorbereitung tbody tr:nth-child(6n+2) td:nth-child(2),
.tabelle-vorbereitung tbody tr:nth-child(6n+3) td:nth-child(2),
.tabelle-schuldienst tbody tr:nth-child(8n+1) td:nth-child(2),
.tabelle-schuldienst tbody tr:nth-child(8n+2) td:nth-child(2),
.tabelle-schuldienst tbody tr:nth-child(8n+3) td:nth-child(2),
.tabelle-schuldienst tbody tr:nth-child(8n+4) td:nth-child(2) {
  border-top: 1px solid var(--wil-border) !important;
}

/* Trennlinie: Erste Zeile eines weißen Blocks (neues Bundesland) – border-top über alle Spalten */
.tabelle-studium tbody tr:nth-child(8n+1) td,
.tabelle-vorbereitung tbody tr:nth-child(6n+1) td,
.tabelle-schuldienst tbody tr:nth-child(8n+1) td {
  border-top: 1px solid var(--wil-border) !important;
}

/* Trennlinie: Erste Zeile eines grauen Blocks – border-top über alle Spalten (nach letzter weißer Zeile) */
.tabelle-studium tbody tr:nth-child(8n+5) td,
.tabelle-vorbereitung tbody tr:nth-child(6n+4) td,
.tabelle-schuldienst tbody tr:nth-child(8n+5) td {
  border-top: 1px solid var(--wil-border) !important;
}

/* Graue Blöcke: Bundesland-Zelle kein Rand rechts */
.tabelle-studium tbody tr:nth-child(8n+5) td:nth-child(1),
.tabelle-vorbereitung tbody tr:nth-child(6n+4) td:nth-child(1),
.tabelle-schuldienst tbody tr:nth-child(8n+5) td:nth-child(1) {
  border-right: none !important;
}

/* ========== LA-Zellen (Spalten 3–5): la-check 80%, la-no 40%, la-dash 5% | alle center ========== */
/* la-check: 80% Hintergrund, Schriftfarbe weiß | la-no: 40% Hintergrund, Schriftfarbe 100% | la-dash: 5% Hintergrund, Schriftfarbe 100% */
.tabelle-studium td.la-check    { background: color-mix(in srgb, var(--wil-lila) 80%, white) !important; border-color: var(--wil-white); color: var(--wil-white) !important; text-align: center !important; vertical-align: middle !important; }
.tabelle-studium td.la-mid      { background: color-mix(in srgb, var(--wil-lila) 50%, white) !important; border-color: var(--wil-white); text-align: center !important; vertical-align: middle !important; }
.tabelle-studium td.la-no       { background: color-mix(in srgb, var(--wil-lila) 40%, white) !important; border-color: var(--wil-white); color: var(--wil-lila) !important; text-align: center !important; vertical-align: middle !important; }
.tabelle-studium td.la-dash     { background: color-mix(in srgb, var(--wil-lila) 5%, white) !important; border-color: var(--wil-white); color: var(--wil-lila) !important; text-align: center !important; vertical-align: middle !important; }
.tabelle-studium td.la-optional  { background: color-mix(in srgb, var(--wil-lila) 25%, white) !important; border-color: var(--wil-white); text-align: center !important; vertical-align: middle !important; }

.tabelle-vorbereitung td.la-check    { background: color-mix(in srgb, var(--wil-gruen) 80%, white) !important; border-color: var(--wil-white); color: var(--wil-white) !important; text-align: center !important; vertical-align: middle !important; }
.tabelle-vorbereitung td.la-mid     { background: color-mix(in srgb, var(--wil-gruen) 50%, white) !important; border-color: var(--wil-white); text-align: center !important; vertical-align: middle !important; }
.tabelle-vorbereitung td.la-no      { background: color-mix(in srgb, var(--wil-gruen) 40%, white) !important; border-color: var(--wil-white); color: var(--wil-gruen) !important; text-align: center !important; vertical-align: middle !important; }
.tabelle-vorbereitung td.la-dash    { background: color-mix(in srgb, var(--wil-gruen) 5%, white) !important; border-color: var(--wil-white); color: var(--wil-gruen) !important; text-align: center !important; vertical-align: middle !important; }
.tabelle-vorbereitung td.la-optional  { background: color-mix(in srgb, var(--wil-gruen) 25%, white) !important; border-color: var(--wil-white); text-align: center !important; vertical-align: middle !important; }

.tabelle-schuldienst td.la-check    { background: color-mix(in srgb, var(--wil-orange) 80%, white) !important; border-color: var(--wil-white); color: var(--wil-white) !important; text-align: center !important; vertical-align: middle !important; }
.tabelle-schuldienst td.la-mid      { background: color-mix(in srgb, var(--wil-orange) 50%, white) !important; border-color: var(--wil-white); text-align: center !important; vertical-align: middle !important; }
.tabelle-schuldienst td.la-no       { background: color-mix(in srgb, var(--wil-orange) 40%, white) !important; border-color: var(--wil-white); color: var(--wil-orange) !important; text-align: center !important; vertical-align: middle !important; }
.tabelle-schuldienst td.la-dash     { background: color-mix(in srgb, var(--wil-orange) 5%, white) !important; border-color: var(--wil-white); color: var(--wil-orange) !important; text-align: center !important; vertical-align: middle !important; }
.tabelle-schuldienst td.la-optional  { background: color-mix(in srgb, var(--wil-orange) 25%, white) !important; border-color: var(--wil-white); text-align: center !important; vertical-align: middle !important; }

/* TEST: Graue Farbtöne auf LA-Zellen in alternierenden Zeilen – auskommentiert
/* Tabellen 1–3: In alternierenden Zeilen Spalten 3–6 mit getöntem Grau (lila/grün/orange) */
/*
.tabelle-studium tbody tr:nth-child(8n+5) td.la-check,
.tabelle-studium tbody tr:nth-child(8n+6) td.la-check,
.tabelle-studium tbody tr:nth-child(8n+7) td.la-check,
.tabelle-studium tbody tr:nth-child(8n+8) td.la-check { background: color-mix(in srgb, var(--wil-lila) 80%, var(--wil-gray-lila)) !important; }
.tabelle-studium tbody tr:nth-child(8n+5) td.la-mid,
.tabelle-studium tbody tr:nth-child(8n+6) td.la-mid,
.tabelle-studium tbody tr:nth-child(8n+7) td.la-mid,
.tabelle-studium tbody tr:nth-child(8n+8) td.la-mid { background: color-mix(in srgb, var(--wil-lila) 50%, var(--wil-gray-lila)) !important; }
.tabelle-studium tbody tr:nth-child(8n+5) td.la-no,
.tabelle-studium tbody tr:nth-child(8n+6) td.la-no,
.tabelle-studium tbody tr:nth-child(8n+7) td.la-no,
.tabelle-studium tbody tr:nth-child(8n+8) td.la-no { background: color-mix(in srgb, var(--wil-lila) 40%, var(--wil-gray-lila)) !important; }
.tabelle-studium tbody tr:nth-child(8n+5) td.la-dash,
.tabelle-studium tbody tr:nth-child(8n+6) td.la-dash,
.tabelle-studium tbody tr:nth-child(8n+7) td.la-dash,
.tabelle-studium tbody tr:nth-child(8n+8) td.la-dash { background: color-mix(in srgb, var(--wil-lila) 5%, var(--wil-gray-lila)) !important; }
.tabelle-studium tbody tr:nth-child(8n+5) td.code-cell,
.tabelle-studium tbody tr:nth-child(8n+6) td.code-cell,
.tabelle-studium tbody tr:nth-child(8n+7) td.code-cell,
.tabelle-studium tbody tr:nth-child(8n+8) td.code-cell { background: color-mix(in srgb, var(--wil-lila) 50%, var(--wil-gray-lila)) !important; }

.tabelle-vorbereitung tbody tr:nth-child(6n+4) td.la-check,
.tabelle-vorbereitung tbody tr:nth-child(6n+5) td.la-check,
.tabelle-vorbereitung tbody tr:nth-child(6n+6) td.la-check,
.tabelle-vorbereitung tbody tr:nth-child(6n+4) td.la-mid,
.tabelle-vorbereitung tbody tr:nth-child(6n+5) td.la-mid,
.tabelle-vorbereitung tbody tr:nth-child(6n+6) td.la-mid,
.tabelle-vorbereitung tbody tr:nth-child(6n+4) td.la-no,
.tabelle-vorbereitung tbody tr:nth-child(6n+5) td.la-no,
.tabelle-vorbereitung tbody tr:nth-child(6n+6) td.la-no,
.tabelle-vorbereitung tbody tr:nth-child(6n+4) td.code-cell,
.tabelle-vorbereitung tbody tr:nth-child(6n+5) td.code-cell,
.tabelle-vorbereitung tbody tr:nth-child(6n+6) td.code-cell { background: color-mix(in srgb, var(--wil-gruen) 50%, var(--wil-gray-gruen)) !important; }
.tabelle-vorbereitung tbody tr:nth-child(6n+4) td.la-check,
.tabelle-vorbereitung tbody tr:nth-child(6n+5) td.la-check,
.tabelle-vorbereitung tbody tr:nth-child(6n+6) td.la-check { background: color-mix(in srgb, var(--wil-gruen) 80%, var(--wil-gray-gruen)) !important; }
.tabelle-vorbereitung tbody tr:nth-child(6n+4) td.la-mid,
.tabelle-vorbereitung tbody tr:nth-child(6n+5) td.la-mid,
.tabelle-vorbereitung tbody tr:nth-child(6n+6) td.la-mid { background: color-mix(in srgb, var(--wil-gruen) 50%, var(--wil-gray-gruen)) !important; }
.tabelle-vorbereitung tbody tr:nth-child(6n+4) td.la-no,
.tabelle-vorbereitung tbody tr:nth-child(6n+5) td.la-no,
.tabelle-vorbereitung tbody tr:nth-child(6n+6) td.la-no { background: color-mix(in srgb, var(--wil-gruen) 40%, var(--wil-gray-gruen)) !important; }
.tabelle-vorbereitung tbody tr:nth-child(6n+4) td.la-dash,
.tabelle-vorbereitung tbody tr:nth-child(6n+5) td.la-dash,
.tabelle-vorbereitung tbody tr:nth-child(6n+6) td.la-dash { background: color-mix(in srgb, var(--wil-gruen) 5%, var(--wil-gray-gruen)) !important; }
.tabelle-vorbereitung tbody tr:nth-child(6n+4) td.code-cell,
.tabelle-vorbereitung tbody tr:nth-child(6n+5) td.code-cell,
.tabelle-vorbereitung tbody tr:nth-child(6n+6) td.code-cell { background: color-mix(in srgb, var(--wil-gruen) 50%, var(--wil-gray-gruen)) !important; }

.tabelle-schuldienst tbody tr:nth-child(8n+5) td.la-check,
.tabelle-schuldienst tbody tr:nth-child(8n+6) td.la-check,
.tabelle-schuldienst tbody tr:nth-child(8n+7) td.la-check,
.tabelle-schuldienst tbody tr:nth-child(8n+8) td.la-check,
.tabelle-schuldienst tbody tr:nth-child(8n+5) td.la-mid,
.tabelle-schuldienst tbody tr:nth-child(8n+6) td.la-mid,
.tabelle-schuldienst tbody tr:nth-child(8n+7) td.la-mid,
.tabelle-schuldienst tbody tr:nth-child(8n+8) td.la-mid,
.tabelle-schuldienst tbody tr:nth-child(8n+5) td.la-no,
.tabelle-schuldienst tbody tr:nth-child(8n+6) td.la-no,
.tabelle-schuldienst tbody tr:nth-child(8n+7) td.la-no,
.tabelle-schuldienst tbody tr:nth-child(8n+8) td.la-no,
.tabelle-schuldienst tbody tr:nth-child(8n+5) td.la-dash,
.tabelle-schuldienst tbody tr:nth-child(8n+6) td.la-dash,
.tabelle-schuldienst tbody tr:nth-child(8n+7) td.la-dash,
.tabelle-schuldienst tbody tr:nth-child(8n+8) td.la-dash,
.tabelle-schuldienst tbody tr:nth-child(8n+5) td.code-cell,
.tabelle-schuldienst tbody tr:nth-child(8n+6) td.code-cell,
.tabelle-schuldienst tbody tr:nth-child(8n+7) td.code-cell,
.tabelle-schuldienst tbody tr:nth-child(8n+8) td.code-cell { background: color-mix(in srgb, var(--wil-orange) 50%, var(--wil-gray-orange)) !important; }
.tabelle-schuldienst tbody tr:nth-child(8n+5) td.la-check,
.tabelle-schuldienst tbody tr:nth-child(8n+6) td.la-check,
.tabelle-schuldienst tbody tr:nth-child(8n+7) td.la-check,
.tabelle-schuldienst tbody tr:nth-child(8n+8) td.la-check { background: color-mix(in srgb, var(--wil-orange) 80%, var(--wil-gray-orange)) !important; }
.tabelle-schuldienst tbody tr:nth-child(8n+5) td.la-mid,
.tabelle-schuldienst tbody tr:nth-child(8n+6) td.la-mid,
.tabelle-schuldienst tbody tr:nth-child(8n+7) td.la-mid,
.tabelle-schuldienst tbody tr:nth-child(8n+8) td.la-mid { background: color-mix(in srgb, var(--wil-orange) 50%, var(--wil-gray-orange)) !important; }
.tabelle-schuldienst tbody tr:nth-child(8n+5) td.la-no,
.tabelle-schuldienst tbody tr:nth-child(8n+6) td.la-no,
.tabelle-schuldienst tbody tr:nth-child(8n+7) td.la-no,
.tabelle-schuldienst tbody tr:nth-child(8n+8) td.la-no { background: color-mix(in srgb, var(--wil-orange) 40%, var(--wil-gray-orange)) !important; }
.tabelle-schuldienst tbody tr:nth-child(8n+5) td.la-dash,
.tabelle-schuldienst tbody tr:nth-child(8n+6) td.la-dash,
.tabelle-schuldienst tbody tr:nth-child(8n+7) td.la-dash,
.tabelle-schuldienst tbody tr:nth-child(8n+8) td.la-dash { background: color-mix(in srgb, var(--wil-orange) 5%, var(--wil-gray-orange)) !important; }
.tabelle-schuldienst tbody tr:nth-child(8n+5) td.code-cell,
.tabelle-schuldienst tbody tr:nth-child(8n+6) td.code-cell,
.tabelle-schuldienst tbody tr:nth-child(8n+7) td.code-cell,
.tabelle-schuldienst tbody tr:nth-child(8n+8) td.code-cell { background: color-mix(in srgb, var(--wil-orange) 50%, var(--wil-gray-orange)) !important; }
*/

/* ========== Kategorie-Spalte (Spalte 6): Flächenklassen pro Tabelle ========== */
/* cat-low = 0–1× ja (25 %), cat-mid = 2× ja (50 %), cat-check = 3× ja (80 %) */
.tabelle-studium .code-cell.cat-low   { background: color-mix(in srgb, var(--wil-lila) 25%, white) !important; }
.tabelle-studium .code-cell.cat-mid   { background: color-mix(in srgb, var(--wil-lila) 50%, white) !important; }
.tabelle-studium .code-cell.cat-check { background: color-mix(in srgb, var(--wil-lila) 80%, white) !important; }
.tabelle-studium .code-cell.cat-p40 { background: color-mix(in srgb, var(--wil-lila) 40%, white) !important; }
.tabelle-studium .code-cell.cat-p55 { background: color-mix(in srgb, var(--wil-lila) 55%, white) !important; }
.tabelle-studium .code-cell.cat-p70 { background: color-mix(in srgb, var(--wil-lila) 70%, white) !important; }
.tabelle-studium .code-cell.cat-p85 { background: color-mix(in srgb, var(--wil-lila) 85%, white) !important; }

.tabelle-vorbereitung .code-cell.cat-low   { background: color-mix(in srgb, var(--wil-gruen) 25%, white) !important; }
.tabelle-vorbereitung .code-cell.cat-mid   { background: color-mix(in srgb, var(--wil-gruen) 50%, white) !important; }
.tabelle-vorbereitung .code-cell.cat-check { background: color-mix(in srgb, var(--wil-gruen) 80%, white) !important; }
.tabelle-vorbereitung .code-cell.cat-p40 { background: color-mix(in srgb, var(--wil-gruen) 40%, white) !important; }
.tabelle-vorbereitung .code-cell.cat-p55 { background: color-mix(in srgb, var(--wil-gruen) 55%, white) !important; }
.tabelle-vorbereitung .code-cell.cat-p70 { background: color-mix(in srgb, var(--wil-gruen) 70%, white) !important; }
.tabelle-vorbereitung .code-cell.cat-p85 { background: color-mix(in srgb, var(--wil-gruen) 85%, white) !important; }

.tabelle-schuldienst .code-cell.cat-low   { background: color-mix(in srgb, var(--wil-orange) 25%, white) !important; }
.tabelle-schuldienst .code-cell.cat-mid   { background: color-mix(in srgb, var(--wil-orange) 50%, white) !important; }
.tabelle-schuldienst .code-cell.cat-check { background: color-mix(in srgb, var(--wil-orange) 80%, white) !important; }
.tabelle-schuldienst .code-cell.cat-p40 { background: color-mix(in srgb, var(--wil-orange) 40%, white) !important; }
.tabelle-schuldienst .code-cell.cat-p55 { background: color-mix(in srgb, var(--wil-orange) 55%, white) !important; }
.tabelle-schuldienst .code-cell.cat-p70 { background: color-mix(in srgb, var(--wil-orange) 70%, white) !important; }
.tabelle-schuldienst .code-cell.cat-p85 { background: color-mix(in srgb, var(--wil-orange) 85%, white) !important; }

/* Kategorie + LA-Zellen: zentriert */
.table th:nth-child(3), .table th:nth-child(4), .table th:nth-child(5), .table th:nth-child(6),
.table tbody tr td:nth-child(3), .table tbody tr td:nth-child(4),
.table tbody tr td:nth-child(5), .table tbody tr td:nth-child(6) {
  border-color: var(--wil-white);
}

.code-cell {
  text-align: center !important;
  vertical-align: middle !important;
  font-weight: 300;
}

.code-cell strong { font-weight: 300; }

.table td.la-check,
.table td.la-mid,
.table td.la-optional,
.table td.la-no,
.table td.la-dash {
  text-align: center !important;
  vertical-align: middle !important;
}

.table td.la-check   { font-size: 0.95rem; }
.table td.la-mid     { font-size: 1rem; }
.table td.la-no      { font-size: 1.2rem; }
.table td.la-optional { font-size: 1.25em; }

/* ========== Tabelle 4: Übersicht (12 Spalten) ========== */
.tabelle-uebersicht th:nth-child(1),
.tabelle-uebersicht td:nth-child(1) {
  text-align: left;
  min-width: 140px;
  border-left: none !important;
}

.tabelle-uebersicht thead th.col-bundesland { vertical-align: bottom; }

.tabelle-uebersicht td:nth-child(1) { text-transform: none; }

.tabelle-uebersicht thead th { font-size: 16px; }

.tabelle-uebersicht thead .th-bereich.section-lila {
  background: color-mix(in srgb, var(--wil-lila) 90%, black) !important;
  color: var(--wil-white) !important;
  font-size: 14px;
  border: 1px solid var(--wil-border);
  text-align: center;
  vertical-align: middle;
  padding: 0.5rem;
}

.tabelle-uebersicht thead .th-bereich.section-gruen {
  background: color-mix(in srgb, var(--wil-gruen) 90%, black) !important;
  color: var(--wil-white) !important;
  font-size: 14px;
  border: 1px solid var(--wil-border);
  text-align: center;
  vertical-align: middle;
  padding: 0.5rem;
}

.tabelle-uebersicht thead .th-bereich.section-orange {
  background: color-mix(in srgb, var(--wil-orange) 90%, black) !important;
  color: var(--wil-white) !important;
  font-size: 14px;
  border: 1px solid var(--wil-border);
  text-align: center;
  vertical-align: middle;
  padding: 0.5rem;
}

.tabelle-uebersicht thead tr.header-row-spalten {
  height: 320px;
}

.tabelle-uebersicht thead tr.header-row-spalten th {
  height: 320px;
  vertical-align: bottom;
}

.tabelle-uebersicht thead .th-spalte {
  position: relative;
  width: 60px;
  min-width: 60px;
  max-width: 60px;
  padding: 0;
  box-sizing: border-box;
  background: var(--wil-white) !important;
  border: 1px solid var(--wil-border);
  overflow: hidden;
}

.tabelle-uebersicht thead tr.header-row-spalten .th-spalte:first-child {
  border-left: 1px solid var(--wil-border) !important;
}

.tabelle-uebersicht thead .th-spalte .th-rotate {
  position: absolute;
  bottom: 1.2rem;
  left: 2.65rem;
  display: inline-block;
  white-space: nowrap;
  text-align: left;
  transform: rotate(-90deg);
  transform-origin: left bottom;
}

.tabelle-uebersicht td:nth-child(n+2):nth-child(-n+12) {
  width: 60px;
  min-width: 60px;
  max-width: 60px;
  box-sizing: border-box;
  text-align: center;
  vertical-align: middle;
  border-color: var(--wil-border);
}

.tabelle-uebersicht tbody td:last-child,
.tabelle-uebersicht tr.anzahl-row td:last-child {
  border-right: 1px solid var(--wil-border) !important;
}

.tabelle-uebersicht thead .th-spalte:last-of-type {
  border-right: 1px solid var(--wil-border) !important;
}

/* Übersicht: Zellfarben (cell-p0 / cell-p40 / cell-p80) */
.tabelle-uebersicht td.section-lila.cell-p0   { background: color-mix(in srgb, var(--wil-lila) 0%, white) !important; border: 1px solid var(--wil-border); }
.tabelle-uebersicht td.section-lila.cell-p40 { background: color-mix(in srgb, var(--wil-lila) 40%, white) !important; border-color: var(--wil-white); }
.tabelle-uebersicht td.section-lila.cell-p80 { background: color-mix(in srgb, var(--wil-lila) 80%, white) !important; border-color: var(--wil-white); }

.tabelle-uebersicht td.section-gruen.cell-p0   { background: color-mix(in srgb, var(--wil-gruen) 0%, white) !important; border: 1px solid var(--wil-border); }
.tabelle-uebersicht td.section-gruen.cell-p40 { background: color-mix(in srgb, var(--wil-gruen) 40%, white) !important; border-color: var(--wil-white); }
.tabelle-uebersicht td.section-gruen.cell-p80 { background: color-mix(in srgb, var(--wil-gruen) 80%, white) !important; border-color: var(--wil-white); }

.tabelle-uebersicht td.section-orange.cell-p0   { background: color-mix(in srgb, var(--wil-orange) 0%, white) !important; border: 1px solid var(--wil-border); }
.tabelle-uebersicht td.section-orange.cell-p40 { background: color-mix(in srgb, var(--wil-orange) 40%, white) !important; border-color: var(--wil-white); }
.tabelle-uebersicht td.section-orange.cell-p80 { background: color-mix(in srgb, var(--wil-orange) 80%, white) !important; border-color: var(--wil-white); }

.tabelle-uebersicht tr.anzahl-row td {
  background: var(--wil-white) !important;
  font-weight: 300;
  border-bottom: none !important;
}
