/* Optimiert 2025: identische Optik, kleinere Payload */

/* ---------- Variablen ---------- */
:root {
  --tbl-font: 'Roboto', sans-serif;
  --tbl-text: #555;
  --tbl-border: #eee;
  --tbl-head-bg: #1f71ab;
  --tbl-head-fg: #fff;
  --tbl-font-size: 12px;
  --tbl-link-size: 13px;  /* Standard = wie Zelltext */
}

/* ---------- Gemeinsame Tabellen-Basis ---------- */
:is(.tabn, .tabn2, .tabn3, .tabn4) { border-collapse: collapse; }
:is(.tabn, .tabn2, .tabn3, .tabn4) td {
  padding: 5px;
  border: 1px solid var(--tbl-border);
  font-weight: 700;
  color: var(--tbl-text);
  font-size: var(--tbl-font-size);
  font-family: var(--tbl-font);
}
:is(.tabn, .tabn2, .tabn3, .tabn4) th {
  background-color: var(--tbl-head-bg);
  color: var(--tbl-head-fg);
  font-size: var(--tbl-font-size);
  font-weight: 700;
  padding: 3px 2px 3px 5px;
  height: 21px;
}

/* ---------- Kopf-Ausrichtungen ---------- */
.tabn th:first-child,
.tabn2 th:first-child,
.tabn3 th:first-child { text-align: left; }
.tabn3 th:not(:first-child) { text-align: center; }
.tabn4 th { text-align: left !important; }

/* ---------- Body-Ausrichtungen ---------- */
.tabn  td { text-align: left; }
.tabn2 td { text-align: center; }
.tabn3 td:first-child,
.tabn4 td:first-child { text-align: left; }
.tabn3 td:not(:first-child),
.tabn4 td:not(:first-child) { text-align: center; }

/* ---------- Links, Textgewichte ---------- */
/* Links in allen Tabellentypen wie der Zelltext */
:where(.tabn, .tabn2, .tabn3, .tabn4) a { font-size: inherit; }
/* Ausnahmen: echte Buttons behalten ihre eigene Größe */
:where(.tabn, .tabn2, .tabn3, .tabn4) a.tablesaw-btn,
:where(.tabn, .tabn2, .tabn3, .tabn4) a.linkext_button,
:where(.tabn, .tabn2, .tabn3, .tabn4) a.linkext_button_no_icon { font-size: 1em; }
/* Tablesaw-Zellen: Links wie Zelltext, Buttons ausgenommen */
.tablesaw td a:not(.tablesaw-btn) { font-size: inherit; }

:where(.tabn, .tabn2, .tabn3, .tabn4) strong { font-size: var(--tbl-font-size) !important; }
:where(.tabn, .tabn2, .tabn3, .tabn4) td.whiteText { color: #fff; }

/* ---------- Farbzellen, Symbole ---------- */
.greenCell { background-color: #ACFF73; }
.yes { background: url(../Bilder/symbole/yes.png) no-repeat center; }
.no  { background: url(../Bilder/symbole/no2.png) no-repeat center; }
.greenrow { background-color: #96FF43; }

/* ---------- Zebra-Hintergrund ---------- */
.zebra { transition: background-color .1s linear; }
.zebra:nth-of-type(even) { background-color: #eee; }
.zebra:hover,
.default:hover { background-color: #ccc; }

/* ---------- Mobile-Only-Toggler ---------- */
.tablesaw-all-cols-visible { display: none; }

/* ---------- Beispiel-Selektoren ---------- */
#lastrow { text-align: center; background-color: #e8fabc; }
.lastrow.variant1 { background-color: #000; }
.lastrow.variant2 { background-color: #636363; }
.lastrow.variant3 { background-color: #006E9C; }
.lastrow.variant4 { background-color: #DFDFDF; }

/* ---------- Hervorhebung von Zeilen ---------- */
.zzeile, .zzeile2 { font-weight: 700; text-decoration: underline; }
.zzeile  { background-color: #e1e2e3; }
.zzeile2 { background-color: #efefef; }

/* ---------- Wrapper und Swipe-Pfeile ---------- */
.tablewrapper { position: relative; display: block; }
.swipearrows { position: absolute; top: 50%; transform: translateY(-50%); }
.swipeleft { left: 10px; animation: slideleft 3s linear infinite; }
.swiperight { right: 10px; animation: slideright 3s linear infinite; }
.disabled { visibility: hidden; }

@keyframes slideleft { 0% { left: 5px } 100% { left: 15px } }
@keyframes slideright { 0% { right: 5px } 100% { right: 15px } }

/* ---------- Tablesaw - v3.1.0 (bereinigt) ---------- */
.tablesaw { width: 100%; max-width: 100%; empty-cells: show; border-collapse: collapse; border: 0; padding: 0; }
.tablesaw * { box-sizing: border-box; }

/* Buttons und Controls */
.tablesaw-btn{
  border:1px solid #ccc; border-radius:.25em; background:transparent; box-shadow:0 1px 0 #fff;
  color:#4a4a4a; cursor:pointer; display:inline-block; margin:0; padding:.5em .85em .4em;
  position:relative; text-align:center; text-decoration:none; text-transform:capitalize; appearance:none;
}
a.tablesaw-btn { color:#1c95d4; }
.tablesaw-btn:hover { text-decoration:none; }
.tablesaw-btn:active { background-color:#ddd; }
.tablesaw-btn:focus { background-color:#fff; outline:0; box-shadow:0 0 .35em #4faeef !important; }

.tablesaw-btn-select { padding-right:2.5em; text-align:left; color:#4d4d4d; min-width:7.25em; position:relative; }
.tablesaw-btn-select select { background:transparent; border:0; position:absolute; left:0; top:0; width:100%; height:100%; opacity:0; }
.tablesaw-btn-select:after {
  content:"\25bc"; /* ▼ */
  font-size:.55em; position:absolute; right:0; top:0; bottom:0;
  width:1.8em; display:flex; align-items:center; justify-content:center;
}

/* Navigation */
.tablesaw-advance .tablesaw-btn { box-sizing:border-box; text-shadow:0 1px 0 #fff; border-radius:.25em; }
.tablesaw-advance .tablesaw-btn.btn-micro { font-size:.8125em; padding:.3em .7em .25em; }
.tablesaw-advance a.tablesaw-nav-btn {
  display:inline-block; overflow:hidden; width:1.8em; height:1.8em; background-position:50% 50%;
  margin:0 .25em; position:relative; text-indent:-9999px;
}
.tablesaw-advance a.tablesaw-nav-btn:before { content:""; overflow:hidden; width:0; height:0; position:absolute; }
.tablesaw-advance a.tablesaw-nav-btn.left:before,
.tablesaw-advance a.tablesaw-nav-btn.right:before { top:.45em; border-top:5px solid transparent; border-bottom:5px solid transparent; }
.tablesaw-advance a.tablesaw-nav-btn.left:before { left:.6em; border-right:5px solid #808080; }
.tablesaw-advance a.tablesaw-nav-btn.right:before { left:.7em; border-left:5px solid #808080; }
.tablesaw-advance a.tablesaw-nav-btn.up:before,
.tablesaw-advance a.tablesaw-nav-btn.down:before { left:.5em; border-left:5px solid transparent; border-right:5px solid transparent; }
.tablesaw-advance a.tablesaw-nav-btn.down:before { top:.65em; border-top:5px solid #808080; }
.tablesaw-advance a.tablesaw-nav-btn.up:before { top:.65em; border-bottom:5px solid #808080; }
.tablesaw-advance a.tablesaw-nav-btn.disabled { opacity:.25; cursor:default; pointer-events:none; }

/* Toolbar */
.tablesaw-bar { clear:both; }
.tablesaw-bar * { box-sizing:border-box; }
.tablesaw-bar-section { float:left; }
.tablesaw-bar-section label { font-size:.875em; padding:.5em 0; clear:both; display:block; color:#888; margin-right:.5em; text-transform:uppercase; }
.tablesaw-btn, .tablesaw-enhanced .tablesaw-btn { margin:.5em 0; }
.tablesaw-btn-select, .tablesaw-enhanced .tablesaw-btn-select { margin-bottom:0; }
.tablesaw-bar .tablesaw-bar-section .tablesaw-btn {
  margin-left:.4em; margin-top:0; text-transform:uppercase; border:0; box-shadow:none; background:transparent;
  font-size:1em; padding-left:.3em;
}
.tablesaw-bar .tablesaw-bar-section .btn-select { min-width:0; }
.tablesaw-bar .tablesaw-bar-section .btn-select:after { padding-top:.9em; }
.tablesaw-bar .tablesaw-bar-section select { color:#888; text-transform:none; background:transparent; }
.tablesaw-bar-section ~ table { clear:both; }
.tablesaw-bar-section .abbreviated { display:inline; }
.tablesaw-bar-section .longform { display:none; }
@media (min-width:24em){
  .tablesaw-bar-section .abbreviated { display:none; }
  .tablesaw-bar-section .longform { display:inline; }
}

/* Zellen, Reihen, Zebra */
.tablesaw th, .tablesaw td { padding:.5em .7em; vertical-align:middle; }
.tablesaw-row-border tr { border-bottom:1px solid #dfdfdf; }
.tablesaw-row-zebra tr:nth-child(2n) { background-color:#f8f8f8; }
.tablesaw caption { text-align:left; margin:.59375em 0; }

/* Swipe */
.tablesaw-swipe .tablesaw-swipe-cellpersist { border-right:2px solid #e4e1de; }
.tablesaw-swipe-shadow .tablesaw-swipe-cellpersist { border-right-width:1px; box-shadow:3px 0 4px -1px #e4e1de; }

/* Stack */
.tablesaw-stack td .tablesaw-cell-label, .tablesaw-stack th .tablesaw-cell-label { display:none; }
@media only all{
  .tablesaw-stack { clear:both; }
  .tablesaw-stack td, .tablesaw-stack th { text-align:left; display:block; }
  .tablesaw-stack tr { clear:both; display:table-row; }
  .tablesaw-stack td .tablesaw-cell-label, .tablesaw-stack th .tablesaw-cell-label { display:inline-block; padding:0 .6em 0 0; width:30%; }
  .tablesaw-stack th .tablesaw-cell-label-top, .tablesaw-stack td .tablesaw-cell-label-top { display:block; padding:.4em 0; margin:.4em 0; }
  .tablesaw-cell-label { display:block; }
  .tablesaw-stack tbody th.group { margin-top:-1px; }
  .tablesaw-stack th.group b.tablesaw-cell-label { display:none !important; }
}
@media (max-width:39.9375em){
  .tablesaw-stack tbody tr { display:block; width:100%; border-bottom:1px solid #dfdfdf; }
  .tablesaw-stack thead td, .tablesaw-stack thead th { display:none; }
  .tablesaw-stack tbody td, .tablesaw-stack tbody th { display:block; float:left; clear:left; width:100%; }
  .tablesaw-cell-label { vertical-align:top; }
  .tablesaw-cell-content { display:inline-block; max-width:67%; }
  .tablesaw-stack .tablesaw-stack-block .tablesaw-cell-label,
  .tablesaw-stack .tablesaw-stack-block .tablesaw-cell-content { display:block; width:100%; max-width:100%; padding:0; }
  .tablesaw-stack td:empty, .tablesaw-stack th:empty { display:none; }
}
@media (min-width:40em){
  .tablesaw-stack tr { display:table-row; }
  .tablesaw-stack td, .tablesaw-stack th, .tablesaw-stack thead td, .tablesaw-stack thead th { display:table-cell; margin:0; }
  .tablesaw-stack td .tablesaw-cell-label, .tablesaw-stack th .tablesaw-cell-label { display:none !important; }
}

/* Persist */
.tablesaw-fix-persist { table-layout: fixed; }
@media only all{
  .tablesaw-swipe th.tablesaw-swipe-cellhidden,
  .tablesaw-swipe td.tablesaw-swipe-cellhidden { display:none; }
}

/* Overflow */
.tablesaw-overflow { position:relative; width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; }
.tablesaw-overflow > .tablesaw { margin-top:2px; }

/* Column Toggle */
.tablesaw-columntoggle-btn span { text-indent:-9999px; display:inline-block; }
.tablesaw-columntoggle-btnwrap { position:relative; }
.tablesaw-columntoggle-btnwrap .dialog-content { padding:.5em; }
.tablesaw-columntoggle-popup { display:none; }
.tablesaw-columntoggle-btnwrap.visible .tablesaw-columntoggle-popup {
  display:block; position:absolute; top:2em; right:0; background-color:#fff; padding:.5em .8em;
  border:1px solid #ccc; box-shadow:0 1px 2px #ccc; border-radius:.2em; z-index:1;
}
.tablesaw-columntoggle-popup fieldset { margin:0; }

/* Priority-Hiding */
@media only all{
  .tablesaw-columntoggle th.tablesaw-priority-6, .tablesaw-columntoggle td.tablesaw-priority-6,
  .tablesaw-columntoggle th.tablesaw-priority-5, .tablesaw-columntoggle td.tablesaw-priority-5,
  .tablesaw-columntoggle th.tablesaw-priority-4, .tablesaw-columntoggle td.tablesaw-priority-4,
  .tablesaw-columntoggle th.tablesaw-priority-3, .tablesaw-columntoggle td.tablesaw-priority-3,
  .tablesaw-columntoggle th.tablesaw-priority-2, .tablesaw-columntoggle td.tablesaw-priority-2,
  .tablesaw-columntoggle th.tablesaw-priority-1, .tablesaw-columntoggle td.tablesaw-priority-1,
  .tablesaw-columntoggle th.tablesaw-priority-0, .tablesaw-columntoggle td.tablesaw-priority-0 { display:none; }
}
.tablesaw-columntoggle-btnwrap .dialog-content {
  top:0 !important; right:1em; left:auto !important; width:12em; max-width:18em; margin:-.5em auto 0;
}
.tablesaw-columntoggle-btnwrap .dialog-content:focus { outline-style:none; }
@media (min-width:20em){
  .tablesaw-columntoggle th.tablesaw-priority-1, .tablesaw-columntoggle td.tablesaw-priority-1 { display:table-cell; }
}
@media (min-width:30em){
  .tablesaw-columntoggle th.tablesaw-priority-2, .tablesaw-columntoggle td.tablesaw-priority-2 { display:table-cell; }
}
@media (min-width:40em){
  .tablesaw-columntoggle th.tablesaw-priority-3, .tablesaw-columntoggle td.tablesaw-priority-3 { display:table-cell; }
  .tablesaw-columntoggle tbody td { line-height:2; }
}
@media (min-width:50em){
  .tablesaw-columntoggle th.tablesaw-priority-4, .tablesaw-columntoggle td.tablesaw-priority-4 { display:table-cell; }
}
@media (min-width:60em){
  .tablesaw-columntoggle th.tablesaw-priority-5, .tablesaw-columntoggle td.tablesaw-priority-5 { display:table-cell; }
}
@media (min-width:70em){
  .tablesaw-columntoggle th.tablesaw-priority-6, .tablesaw-columntoggle td.tablesaw-priority-6 { display:table-cell; }
}
@media only all{
  .tablesaw-columntoggle th.tablesaw-toggle-cellhidden, .tablesaw-columntoggle td.tablesaw-toggle-cellhidden { display:none; }
  .tablesaw-columntoggle th.tablesaw-toggle-cellvisible, .tablesaw-columntoggle td.tablesaw-toggle-cellvisible { display:table-cell; }
}

/* Sortierbare Spalten */
.tablesaw-sortable-head { position:relative; vertical-align:top; }
.tablesaw .tablesaw-sortable-head { padding:0; }
.tablesaw-sortable-btn {
  min-width:100%; color:inherit; background:transparent; border:0; text-align:inherit;
  font:inherit; text-transform:inherit;
}
.tablesaw-sortable-arrow:after { display:inline-block; width:10px; height:14px; content:""; margin-left:.3125em; }
.tablesaw-sortable-ascending .tablesaw-sortable-arrow:after  { content:"\2191"; } /* ↑ */
.tablesaw-sortable-descending .tablesaw-sortable-arrow:after { content:"\2193"; } /* ↓ */

/* Dots-Navigation */
.tablesaw-advance { float:right; }
.tablesaw-advance.minimap { margin-right:.4em; }
.tablesaw-advance-dots { float:left; margin:0; padding:0; list-style:none; }
.tablesaw-advance-dots li { display:table-cell; margin:0; padding:.4em .2em; }
.tablesaw-advance-dots li i { width:.25em; height:.25em; background:#555; border-radius:100%; display:inline-block; }
.tablesaw-advance-dots-hide { opacity:.25; cursor:default; pointer-events:none; }

/* Beispielklasse */
.custom-btn { display:block; background-image:url("../Bilder/symbole/tab/right.png"); border:1px solid red; }


.tabn td a,
.tabn2 td a,
.tabn3 td a,
.tabn4 td a { font-size:var(--tbl-link-size) !important; }