.sb-panel { margin-bottom:20px; }
.sb-import-form{margin-top:18px;display:grid;gap:18px}
.sb-note{font-size:.9rem;line-height:1.6;color:#50635d;margin-top:15px}
.sb-table-wrap {overflow-x:auto;max-width:100%;margin:16px 0}
.sb-table{border-collapse:collapse;width:100%;min-width:680px;text-align:left;font-size:.9rem}
.sb-table th{background:#eff5f0;color:#1a4339;padding:12px 10px;white-space:nowrap}
.sb-table td{border-bottom:1px solid #dde7e2;padding:11px 10px;vertical-align:top;overflow-wrap:anywhere}
.sb-status{font-weight:700;font-size:.8rem;white-space:nowrap}
.sb-ready{color:#207146}.sb-skip{color:#5b665b}.sb-error{color:#ad3939}
.sb-public{padding-top:55px;padding-bottom:75px}.sb-public h1{font-size:clamp(2rem,4vw,3.4rem);margin:12px 0}
.sb-public-filter{display:flex;flex-wrap:wrap;align-items:end;gap:15px;margin:25px 0}
.sb-public-filter label{display:grid;gap:8px;font-weight:700}.sb-public-filter select{min-width:180px;padding:10px;border:1px solid #cbdad2;border-radius:8px}
.sb-empty{border:1px dashed #abbfb1;border-radius:12px;padding:25px;color:#586760;margin-top:20px}
.sb-target[hidden],.sb-season-target[hidden]{display:none!important}

.sb-archive-season{margin:12px 0;border:1px solid #d8e5dc;border-radius:10px;padding:12px 16px}
.sb-archive-season summary{cursor:pointer;display:flex;gap:16px;justify-content:space-between;align-items:center}
.sb-archive-season summary span{color:#53675b;font-size:.875rem}

/* 2.1.9 – öffentliche Ligaspiele nach Spielklasse und Spieltag gruppieren */
.sb-table tbody tr.sb-league-heading{background:#e5eee6!important;}
.sb-table tbody tr.sb-league-heading th{padding:14px 12px;text-align:left;color:#1e3c32;font-size:1rem;font-weight:800;border-top:3px solid #799d85;border-bottom:1px solid #b7d1bc;}
.sb-table tbody tr.sb-matchday-heading{background:#edf4e9!important;}
.sb-table tbody tr.sb-matchday-heading th{padding:13px 12px;text-align:left;color:#294c39;font-size:.95rem;font-weight:800;border-top:4px solid #9fb99c;border-bottom:2px solid #c4d7c4;}
.sb-table tbody tr.sb-matchday-heading:first-child th{border-top:0;}
.sb-table tbody tr.sb-game-row:hover{background:#f6f9f4;}

/* Naechste Version – deutliche Abgrenzung zwischen den Spieltagen auch
   auf den Spielklassenseiten; Einzelwerte nur im Spielbericht. */
.sb-table tbody tr.sb-matchday-heading:not(:first-child) th{border-top:6px solid #64866d;}
.sb-table.sb-season-games tbody tr.sb-matchday-heading th{padding-top:16px;padding-bottom:16px;}
.sb-table.sb-season-games tbody tr.sb-game-row:last-child td{border-bottom:1px solid #d6e1d8;}

/* Vorgemerkt fuer 2.1.10 – pro Spieltag eine eigene Tabelle mit sechs Spalten. */
.sb-league-section-title{margin:34px 0 12px;color:#213b2e;font-size:1.3rem}
.sb-matchday-block{margin:22px 0 28px}
.sb-matchday-block + .sb-matchday-block{border-top:6px solid #64866d;padding-top:20px;margin-top:26px}
.sb-matchday-title{background:#e9f2e8;border-left:5px solid #64866d;padding:14px 16px;margin:0 0 12px;color:#244635;font-size:1.1rem;font-weight:800}
.sb-matchday-table{margin:0}
.sb-matchday-block .sb-table-wrap{margin:0}
.sb-matchday-table th:first-child,.sb-matchday-table td:first-child{white-space:nowrap;width:75px}
.sb-matchday-table th:nth-child(4),.sb-matchday-table td:nth-child(4){white-space:nowrap}

/* Einzelwertung: Liga/saisonbezogen, ausschließlich Auswärts-Gesamtholz. */
.kfv-ranking-shortcuts{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:20px 0 28px}
.kfv-individual-ranking{padding-bottom:70px}
.kfv-individual-nav{display:flex;gap:16px;margin:16px 0 28px}
.kfv-individual-nav a{color:#276341;font-weight:700}
.kfv-individual-ranking h2{scroll-margin-top:100px;margin-top:32px}
.kfv-individual-hint{color:#5a6d60;font-size:.94rem}
.kfv-single-table th:nth-child(n+4),.kfv-single-table td:nth-child(n+4){text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.kfv-single-table th:nth-child(2),.kfv-single-table td:nth-child(2){min-width:150px}

.kfv-individual-ranking .class-season-filter{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:25px 0}
.kfv-individual-ranking .class-season-filter select{padding:11px;border:1px solid #dce5da;border-radius:7px}

/* Nächste Version: weiße Spieltag-Überschriften und sichtbare Top-5-Liste. */
.sb-matchday-title{background:#fff;border-left:0;padding:0;margin:0 0 13px;color:#19392c}
.kfv-top-five{margin:25px 0 42px}
.kfv-top-five h2{margin-bottom:12px}
.kfv-top-five-table{min-width:520px}
.kfv-top-five-table th:nth-child(4),.kfv-top-five-table td:nth-child(4),
.kfv-top-five-table th:nth-child(5),.kfv-top-five-table td:nth-child(5){text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.kfv-all-players-link,.kfv-all-players-link:visited{display:inline-flex;align-items:center;gap:7px;padding:9px 0;color:#145b37!important;text-decoration:underline!important;text-underline-offset:4px;font-weight:800}
.kfv-all-players-link:hover,.kfv-all-players-link:focus-visible{color:#0a4227!important;text-decoration-thickness:2px!important}
.kfv-all-players-link:focus-visible{outline:2px solid #145b37;outline-offset:4px}

/* 2.1.12: konsistente einzeilige Ranglistenkoepfe, gut lesbare Spalten. */
.kfv-single-table,.kfv-top-five-table{min-width:1060px;table-layout:auto}
.kfv-single-table thead th,.kfv-top-five-table thead th{white-space:nowrap;vertical-align:middle;font-weight:700}
.kfv-single-table th:nth-child(n+4),.kfv-single-table td:nth-child(n+4),
.kfv-top-five-table th:nth-child(n+4),.kfv-top-five-table td:nth-child(n+4){text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.kfv-single-table td:nth-child(2),.kfv-top-five-table td:nth-child(2){min-width:135px}
.kfv-single-table td:nth-child(3),.kfv-top-five-table td:nth-child(3){min-width:170px}
