.sci-niko {
    --bg:#fff;
    --muted:#6b7280;
    --line:#e5e7eb;
    --pill:#111827;
    --pillfg:#fff;
    --accent:#111827;
}

.sci-niko__grid-laufeinteilung { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
@media (max-width: 1400px) { .sci-niko__grid-laufeinteilung { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 1080px) { .sci-niko__grid-laufeinteilung { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 768px) { .sci-niko__grid-laufeinteilung { grid-template-columns: 1fr; } }
.sci-niko__bar { display:flex; gap:.75rem; align-items:center; margin:0 0 1rem; }
.sci-niko__label { font-weight:600; color:var(--muted); }
.sci-niko__select { padding:.5rem .75rem; border:1px solid var(--line); border-radius:.5rem; background:#fff; }

.sci-niko__section { padding: 0 .5rem; margin:1rem 0; }
.sci-niko__h2 { margin:.25rem 0 .25rem; font-size:1.25rem; }
.sci-niko__sub { color:var(--muted); display:flex; flex-wrap:wrap; gap:.5rem; align-items:center; }
.sci-niko__badge { background:var(--pill); color:var(--pillfg); padding:.25em .5em; border-radius:999px; font-weight:700; font-size:1.25rem; }

.sci-niko__tabs { display:flex; gap:.5rem; margin:1rem 0; }
.sci-niko__tab { padding:.5rem .75rem; border:1px solid var(--line); background:#f9fafb; border-radius:.5rem; cursor:pointer; }
.sci-niko__tab.is-active { background:#fff; border-color:var(--accent); }

.sci-niko__pane { display:none; }
.sci-niko__pane.is-active { display:block; }

.sci-niko__tablewrap.is-loading::after,
.sci-niko__agewrap.is-loading::after { content:'Laden…'; display:block; padding:1rem; color:var(--muted); }

.sci-niko__table {
    width:100%;
    border: none;
    border-collapse:collapse;
}
.sci-niko__table thead th {
    text-align:left;
    font-weight:700;
    font-size: 12px;
    border: none;
    border-bottom:2px solid var(--line);
    padding:.5rem .5rem;
    white-space:nowrap;
}
.sci-niko__table td {
    padding:.5em .5rem;
    border: none;
    border-bottom: 1px solid var(--line);
    font-size: 12px;
}
.sci-niko__table .sort { background:none; border:none; padding:0; font:inherit; cursor:pointer; color:var(--accent); text-decoration:underline; }



.sci-niko__btn { display:inline-flex; gap:.35rem; align-items:center; border:1px solid var(--line); padding:.25rem .6rem; border-radius:.4rem; text-decoration:none; }

.sci-niko__pager { display:flex; gap:.5rem; align-items:center; justify-content:flex-end; padding:.5rem 0 0; }
.sci-niko__page { border:1px solid var(--line); background:#fff; padding:.3rem .6rem; border-radius:.4rem; cursor:pointer; }
.sci-niko__page[disabled] { opacity:.4; cursor:not-allowed; }

.sci-niko__ak { margin:1rem 0; }
/*.sci-niko__ak-title { font-weight:700; margin:.5rem 0; }*/
.sci-niko__ak-title {
    width: 50%;
    margin: 20px auto 30px;
    border-top-style: solid;
    border-top-width: 1px;
    font-size: 16px;
    font-weight:700;
    text-align: center;
    height: 10px;
    line-height: 20px;
    margin: 10px 0;
    height: auto;
    color: #bbbbbb;
    float: none;
    margin: 2.5rem auto .5rem;
}

.sci-niko__ak-title abbr {
padding: 2px 10px;
border-radius: 2px;
position: relative;
top: -10px;
letter-spacing: .2em;
text-transform: uppercase;
background-color: #ffffff;
}

/* Responsive */

@media (max-width: 720px){
  .u-hide-sm { display:none; }
  .sci-niko__pane .sci-niko__table thead { display:none; }
  .sci-niko__pane .sci-niko__table, .sci-niko__pane .sci-niko__table tbody, .sci-niko__pane .sci-niko__table tr, .sci-niko__pane .sci-niko__table td { display:block; width:100%; }
  .sci-niko__pane .sci-niko__table tr { border-bottom:2px solid var(--line); padding:.5rem 0; }
  .sci-niko__pane .sci-niko__table td { display:flex; justify-content:space-between; gap:.75rem; }
  .sci-niko__pane .sci-niko__table td::before { content:attr(data-th); font-weight:600; color:var(--muted); }
}
@media (max-width: 980px){
  .sci-niko__ak-title { width: 80%; }
}


/* ===== Altersklassen: stabile Spaltenbreiten (nur hier) ===== */
.sci-niko__ak-tablewrap--age .sci-niko__table {
  table-layout: fixed;             /* verhindert "springen" */
  width: 100%;
}

/* Breiten via CSS-Variablen – leicht anpassbar */
.sci-niko__ak-tablewrap--age {
  --col-platz:  90px;   /* Platz (AK) */
  --col-zeit:   110px;  /* Zeit */
  --col-start:  90px;   /* Startnr. */
  --col-vor:    160px;  /* Vorname */
  --col-nach:   180px;  /* Nachname */
  --col-verein: auto;   /* füllt Rest */
}

/* Head & Cells gleicher Zuschnitt */
@media (min-width: 980px){
.sci-niko__ak-tablewrap--age .sci-niko__table th:nth-child(1),
.sci-niko__ak-tablewrap--age .sci-niko__table td:nth-child(1) { width: var(--col-platz); }
.sci-niko__ak-tablewrap--age .sci-niko__table th:nth-child(2),
.sci-niko__ak-tablewrap--age .sci-niko__table td:nth-child(2) { width: var(--col-zeit); }
.sci-niko__ak-tablewrap--age .sci-niko__table th:nth-child(3),
.sci-niko__ak-tablewrap--age .sci-niko__table td:nth-child(3) { width: var(--col-start); }
.sci-niko__ak-tablewrap--age .sci-niko__table th:nth-child(4),
.sci-niko__ak-tablewrap--age .sci-niko__table td:nth-child(4) { width: var(--col-vor); }
.sci-niko__ak-tablewrap--age .sci-niko__table th:nth-child(5),
.sci-niko__ak-tablewrap--age .sci-niko__table td:nth-child(5) { width: var(--col-nach); }
.sci-niko__ak-tablewrap--age .sci-niko__table th:nth-child(6),
.sci-niko__ak-tablewrap--age .sci-niko__table td:nth-child(6) { width: var(--col-verein); }
}
/* Text-Overflow verhindern, damit keine Zeilen umbrechen = weniger „springen“ */
.sci-niko__table th,
.sci-niko__table td {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Mobile bleibt deine bestehende Karten-Optik */
@media (max-width: 720px){
    /* (deine existierenden Regeln bleiben) */
    /* Optional: etwas Luft zwischen Label und Wert */
    .sci-niko__table td::before { margin-right: .5rem; }
}


.sci-laufeinteilung .sci-niko__table td { padding: .15em .5rem; }
.sci-laufeinteilung h2 { margin-bottom: 0; line-height: 1;}
.sci-laufeinteilung th:nth-child(1),
.sci-laufeinteilung td:nth-child(1) { padding-left: 0; }
.sci-laufeinteilung .sci-niko__table thead th { white-space: normal; line-height: 1;}