/* Theme: jahnhoelle · Seite: start – erzeugt von theme.php */

/* ----- jahnhoelle/schriften.css ----- */
/* Version: 2026.1 */
/* Theme jahnhoelle – schriften: keine eigenen Schriftdateien.
   jahnhoelle.de verwendet die Systemschrift des Geräts (Segoe UI, San Francisco, Roboto …); die Schriftfamilien stehen
   in variablen.css (--head, --body). Diese Datei muss vorhanden sein – ohne sie nähme theme.php die schriften.css
   aus hbiz und lüde Libre Franklin. */


/* ----- jahnhoelle/variablen.css ----- */
/* Version: 2026.1 */
/* Theme jahnhoelle – variablen: alle Farben, Schriften und Maße der Seiten.
   Farben angelehnt an https://jahnhoelle.de/ (WordPress-Entwurf, GeneratePress), dort ausgelesen am 10.11.2026:
   Kopf Dunkelblau #090087, Menüleiste #0092db, Links #1e73be, Text #222222, Nebentext #575760,
   Linien #b2b2be, helle Flächen #f7f8f9, Gelb #ffe100. Schrift dort: Systemschrift des Geräts.
   Alle Variablen hier müssen in jedem Theme vorhanden sein (gleiche Namen wie in themes/hbiz/variablen.css). */
:root{
  color-scheme:light;

  /* Hauptfarbe Dunkelblau (Kopf und Schaltflächen von jahnhoelle.de) und ihre Abwandlungen.
     Die Namen stammen aus dem Theme hbiz: --blue ist hier die dunkle Hauptfarbe, --blue-dark die hellere Linkfarbe. */
  --blue:#090087;                    /* Überschriften, Rahmen oben, Schaltflächen */
  --blue-dark:#1e73be;               /* Links und kleine Schrift (Linkfarbe von jahnhoelle.de) */
  --blue-hover:#1c12ad;              /* Schaltfläche beim Überfahren (Berichte hochladen) */
  --on-blue:#ffffff;                 /* Schrift auf Dunkelblau */
  --tint:rgba(0,146,219,.10);        /* hellblau getönte Zeilen (z. B. „Ab heute"), aus dem Menü-Blau #0092db */
  --shadow-blue:rgba(9,0,135,.45);   /* Schatten der Kacheln auf der Startseite */

  /* Grundfarben */
  --bg:#fff;                         /* Seiten- und Kastenhintergrund */
  --on-dark:#fff;                    /* Schrift auf dunklen oder farbigen Flächen */
  --ink:#222222; --muted:#575760; --line:#e6e6e6; --line-strong:#b2b2be; --soft:#f7f8f9;
  --unterstrich:rgba(87,87,96,.45);      /* Unterstreichung der Login-Links */

  /* Ergebnisse und Meldungen */
  --win:#1f8a4c;                     /* Sieg: grün */
  --draw:#4d4d4d;                    /* Unentschieden: dunkelgrau */
  --loss:#c62828;                    /* Niederlage, live: rot */
  --open:#e3e6e9; --open-ink:#5c5c5c;   /* noch nicht gespielt: hellgrau */
  --yellow:#ffe100;                  /* gelbe Karte (Gelb von jahnhoelle.de) */
  --ok:#1f8a4c; --err:#c62828; --warn:#8a6100;
  --err-soft:#fdecea;                /* Löschen-Schaltfläche beim Überfahren */

  /* Schatten */
  --shadow-toast:rgba(0,0,0,.5);     /* Hinweis „kopiert" */
  --shadow-tip:rgba(0,0,0,.35);      /* Werte-Fenster in der Statistik-Grafik */
  --shadow-pop:rgba(0,0,0,.14);      /* Login-Fenster */

  /* Schriften: wie jahnhoelle.de die Systemschrift des Geräts – es wird keine Schriftdatei geladen */
  --head:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  --body:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  --schrift-basis:15px;              /* Grundschriftgröße aller Seiten */

  /* Statistik (admin/statistik.html): eine Farbe pro Mannschaft, fest zugeordnet (geprüfte Kategorie-Palette, wie hbiz) */
  --c-herren1:#2a78d6; --c-herren2:#eb6834; --c-herren3:#1baf7a; --c-damen1:#eda100; --c-damen2:#e87ba4;
  --c-a-jugend:#008300; --c-b-jugend:#6250d6; --c-c-jugend:#e34948; --c-d-jugend:#2a78d6; --c-e-jugend:#eb6834;
  --c-ersatz:#888;                   /* Mannschaft ohne eigene Farbe */
  /* mD und mE haben die Farben von H1 und H2, deshalb gestrichelt: Strich Lücke (leer = durchgezogen);
     „-klein" gilt für die kurzen Linien in Legende und Werte-Fenster */
  --strich-d-jugend:6 5; --strich-d-jugend-klein:5 4;
  --strich-e-jugend:6 5; --strich-e-jugend-klein:5 4;
  --grid:#ececea;                    /* Hilfslinien der Grafik */
  --null:#cfcfcf;                    /* Nullwerte in der Tabelle */
  --diagramm-hoehe:320;              /* Höhe der Grafik in px … */
  --diagramm-hoehe-schmal:240;       /* … auf schmalen Bildschirmen … */
  --diagramm-umbruch:520;            /* … unter dieser Breite in px */
}


/* ----- jahnhoelle/start.css ----- */
/* Version: 2026.6 */
/* Theme jahnhoelle – start: Startseite index.html (Kacheln, Gesamtspielplan) */
/* Gestaltung wie die Mannschaftsseiten: weiß, Dunkelblau #090087, Systemschrift (Aufbau wie Theme hbiz).
   Seit 2026.2 abweichend von hbiz: Kopf kommt aus kopf.css, kompakte Kacheln, Anmeldezeile oben rechts. */
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);font-size:var(--schrift-basis);line-height:1.6}
a{color:var(--blue-dark)}
.wrap{max-width:1080px;margin:0 auto;padding:12px 16px 48px}

/* Anmeldezeile („Login“ bzw. „Vorname · Administration · Logout“) rechts über den Kacheln; das leere .top-logo braucht anmeldung.js nur als Ankerpunkt */
.anmeldung-ort{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;min-height:20px;margin:0 0 6px}
.back{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--blue-dark);text-decoration:none}   /* „← Zurück“ wie auf den Mannschaftsseiten */
.back:hover{text-decoration:underline}
.anmeldung-ort .top-logo{display:none}

/* alter Seitenkopf (vor 2026.2) – bleibt für den Fall, dass index.html wieder darauf umgestellt wird */
.top{margin:0 0 30px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 24px;align-items:center}
.top .lead{grid-column:1/-1;margin-top:6px}
.club{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.lead{margin:0;max-width:60ch;color:var(--muted)}

h2{font-family:var(--head);font-weight:600;font-size:22px;line-height:1.15;color:var(--blue);text-transform:uppercase;margin:0 0 10px}

/* Mannschaften sehr kompakt: alle in einem Raster ohne Gruppen-Überschriften, alle gleich breit;
   je Kachel zwei Zeilen: Name, darunter die Spielklasse. Die Liga mit Staffel steht als Tooltip (title). */
.mannschaften{margin:0 0 22px}
.grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
.tile{display:flex;flex-direction:column;justify-content:center;gap:3px;height:100%;padding:7px 10px 8px;background:var(--bg);
      border:1px solid var(--line);border-left:3px solid var(--blue);color:inherit;text-decoration:none;
      transition:border-color .15s ease,background-color .15s ease}
.tile:hover{border-color:var(--blue);background:var(--tint)}
.tile:focus-visible{outline:3px solid var(--blue-dark);outline-offset:2px}
.name{font-family:var(--head);font-weight:700;font-size:15px;line-height:1.15;color:var(--blue);white-space:nowrap}
.level{font-size:12px;line-height:1.2;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

footer{border-top:1px solid var(--line);padding-top:10px;font-size:12px;color:var(--muted)}
@media (prefers-reduced-motion:reduce){.tile{transition:none}}

/* Gesamtspielplan */
.plan-sec{margin-top:8px}
.plan-sec h2 small{font-family:var(--body);font-size:11px;font-weight:800;letter-spacing:.12em;color:var(--muted);margin-left:10px}
.filter{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}
.filter button{font:inherit;font-size:13px;font-weight:800;letter-spacing:.04em;line-height:1;cursor:pointer;
  min-width:42px;padding:8px 10px;border-radius:2px;border:1.5px solid var(--blue);background:var(--bg);color:var(--blue-dark)}
.filter button[aria-pressed="true"]{background:var(--blue);color:var(--on-blue)}
.filter button:hover{border-color:var(--blue-dark)}
.filter button:focus-visible{outline:2px solid var(--blue-dark);outline-offset:2px}
.filter .alle{margin-left:auto;font-weight:600;letter-spacing:0;border-color:var(--line-strong);color:var(--ink)}
.filter .ort{display:flex;gap:0;margin-right:10px}
.filter .ort button{border-radius:0;margin-left:-1.5px;font-weight:700;letter-spacing:0;border-color:var(--blue-dark);color:var(--blue-dark)}
.filter .ort button:first-child{border-radius:2px 0 0 2px;margin-left:0}
.filter .ort button:last-child{border-radius:0 2px 2px 0}
.filter .ort button[aria-pressed="true"]{background:var(--blue-dark);color:var(--on-dark);position:relative}
tr.alt-toggle td{padding:0!important;border-top:0}
.alt-btn{all:unset;box-sizing:border-box;display:block;width:100%;cursor:pointer;padding:9px 14px;font-size:13px;font-weight:700;
  color:var(--blue-dark);background:var(--soft)}
.alt-btn:hover{text-decoration:underline}
.alt-btn:focus-visible{outline:2px solid var(--blue-dark);outline-offset:-2px}
.alt-btn::before{content:"▸ ";display:inline-block;width:1.1em}
.alt-btn[aria-expanded="true"]::before{content:"▾ "}
tr.alt td{color:var(--muted)}
tr.alt .p-pair .me{color:var(--ink)}
.box{background:var(--bg);border:1px solid var(--line);border-top:3px solid var(--blue)}
table.plan{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.plan th{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);text-align:left;
  padding:10px 8px;border-bottom:1px solid var(--line-strong);white-space:nowrap}
.plan td{padding:9px 8px;border-top:1px solid var(--line);vertical-align:middle;font-size:14px}
.plan tbody tr:first-child td{border-top:0}
.plan tr.neuer-tag td{border-top:2px solid var(--line-strong)}   /* neuer Spieltag: kräftigere Trennlinie */
.plan th:first-child,.plan td:first-child{padding-left:14px}
.plan th:last-child,.plan td:last-child{padding-right:14px}
.p-date,.p-time{white-space:nowrap}
.p-date .wd{font-weight:600;color:var(--muted);margin-right:4px}
.p-team a{display:inline-grid;place-items:center;min-width:34px;height:24px;padding:0 6px;border-radius:2px;font-size:12px;font-weight:800;
  text-decoration:none;background:var(--soft);color:var(--blue-dark);border:1px solid var(--line)}
.p-team a:hover{border-color:var(--blue)}
.p-pair .me{font-weight:700}
.p-res{white-space:nowrap;text-align:right}
.p-res b{font-family:var(--head);font-size:16px}
.p-res small{display:block;font-size:11px;color:var(--muted)}
.p-out{width:1%}
.ergb{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:2px;font-size:12px;font-weight:800;color:var(--on-dark)}
.ergb.S{background:var(--win)} .ergb.U{background:var(--draw)} .ergb.N{background:var(--loss)}
.p-hall{font-size:13px;color:var(--muted);line-height:1.3}
.p-note{display:block;font-size:12px;color:var(--loss)}
tr.heute td{background:var(--tint);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--blue-dark);padding:6px 14px}
.plan-info{margin:8px 0 0;font-size:12px;color:var(--muted)}
.plan-msg{padding:12px 14px;background:var(--bg);border:1px solid var(--line);border-left:4px solid var(--blue);font-size:14px}
@media (max-width:760px){
  .plan thead{display:none}
  .plan,.plan tbody{display:block}
  .plan tbody tr{display:grid;grid-template-columns:auto auto 1fr auto;grid-template-areas:"team date time out" "pair pair pair res" "hall hall hall hall";
    gap:2px 8px;padding:9px 12px;border-top:1px solid var(--line);align-items:center}
  .plan tbody tr:first-child{border-top:0}
  .plan tbody tr.neuer-tag{border-top:2px solid var(--line-strong)}
  .plan tr.neuer-tag td{border-top:0}
  .plan td{display:block;padding:0!important;border:0}
  .plan .p-team{grid-area:team} .plan .p-date{grid-area:date;font-size:13px} .plan .p-time{grid-area:time;font-size:13px}
  .plan .p-pair{grid-area:pair;line-height:1.35} .plan .p-res{grid-area:res} .plan .p-out{grid-area:out;justify-self:end;width:auto}
  .plan .p-hall{grid-area:hall}
  .plan tr.heute{display:block;padding:0}
  .plan tr.heute td{padding:6px 12px!important}
  .filter .alle{margin-left:0}
  .filter .ort{margin-right:0;width:100%}
  .plan tr.alt-toggle{display:block;padding:0}
  .plan tr.alt-toggle td{padding:0!important}
}

/* schmaler: weniger Spalten */
@media (max-width:760px){
  .grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .tile{padding:6px 8px 7px}
  .level{white-space:normal;overflow:visible}   /* „Bezirks-Oberliga“ darf am Bindestrich umbrechen statt abgeschnitten zu werden */
}
@media (max-width:360px){ .grid{grid-template-columns:repeat(2,minmax(0,1fr))} }


/* ----- jahnhoelle/anmeldung.css ----- */
/* Version: 2026.1 */
/* Theme jahnhoelle – anmeldung: Login/Logout unter dem Logo (anmeldung.js), auf allen Seiten */
.anm{position:relative;display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.anm-zeile{min-height:15px;font-family:var(--body);font-size:11px;line-height:1.35;color:var(--muted);white-space:nowrap;text-align:right}
.anm-zeile a,.anm-link{all:unset;cursor:pointer;color:var(--muted);text-decoration:underline;text-decoration-color:var(--unterstrich);text-underline-offset:2px}
.anm-zeile a:hover,.anm-link:hover{color:var(--blue-dark);text-decoration-color:currentColor}
.anm-zeile a:focus-visible,.anm-link:focus-visible{outline:2px solid var(--blue-dark);outline-offset:2px}
.anm-pop{position:absolute;top:100%;right:0;margin-top:6px;z-index:60;width:236px;box-sizing:border-box;background:var(--bg);
  border:1px solid var(--line);border-top:3px solid var(--blue);box-shadow:0 10px 28px var(--shadow-pop);padding:12px 12px 14px;text-align:left}
.anm-pop[hidden]{display:none}
.anm-pop label{display:block;font-family:var(--body);font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);margin:0 0 4px}
.anm-pop input{display:block;width:100%;box-sizing:border-box;font:inherit;font-size:14px;color:var(--ink);background:var(--bg);
  border:1.5px solid var(--line-strong);border-radius:2px;padding:6px 8px;margin:0 0 10px}
.anm-pop input:focus{outline:2px solid var(--blue-dark);outline-offset:1px;border-color:var(--blue-dark)}
.anm-pop .anm-los{font:inherit;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;
  background:var(--blue);color:var(--on-blue);border:0;border-radius:2px;padding:8px 14px;width:100%}
.anm-pop .anm-los:disabled{opacity:.6;cursor:default}
.anm-fehler{color:var(--err);font-size:12px;line-height:1.35;margin:0 0 8px}
.anm-fehler:empty{display:none}

