.tm-box{max-width:560px;padding:1.2em 1.4em;border:1px solid #ddd;border-radius:6px;margin:1em 0}
.tm-anmeldung label{display:block;font-weight:600;margin-bottom:.25em}
.tm-anmeldung input[type=text],.tm-anmeldung input[type=email],.tm-anmeldung input[type=date],.tm-anmeldung select{width:100%;padding:.5em;box-sizing:border-box}
.tm-anmeldung .tm-datenschutz label{font-weight:normal}
.tm-button{padding:.7em 1.4em;cursor:pointer}
.tm-info{font-size:.9em;opacity:.8}
.tm-hp{position:absolute!important;left:-9999px!important}
.tm-fehler{border-color:#d63638;background:#fcf0f1}
.tm-fehler ul{margin:0 0 1em 1.2em}
.tm-erfolg{border-color:#00a32a;background:#edfaef}
.tm-hinweis{border-color:#dba617;background:#fcf9e8}
.tm-anmeldung .tm-fehler{padding:.8em 1em;border:1px solid #d63638;border-radius:4px;margin-bottom:1em}
.tm-teilnehmer{width:100%;border-collapse:collapse}
.tm-teilnehmer th,.tm-teilnehmer td{padding:.4em .6em;border-bottom:1px solid #ddd;text-align:left}
.tm-suche-wrap{position:relative}
.tm-suche-hinweis{display:block;font-size:.85em;opacity:.75;margin-top:.25em}
.tm-treffer{position:absolute;z-index:100;left:0;right:0;top:4.2em;margin:0;padding:0;list-style:none;background:#fff;color:#1e1e1e;border:1px solid #bbb;border-radius:4px;box-shadow:0 4px 12px rgba(0,0,0,.15);max-height:320px;overflow-y:auto}
.tm-treffer li{padding:.5em .75em;cursor:pointer;border-bottom:1px solid #eee}
.tm-treffer li:last-child{border-bottom:0}
.tm-treffer li strong{display:block}
.tm-treffer li span{font-size:.85em;opacity:.75}
.tm-treffer li[aria-selected=true]{background:#e8f0fe}
.tm-treffer .tm-treffer-leer{cursor:default;font-size:.9em;opacity:.8}
.tm-geburtsdatum{border:0;padding:0;margin:0 0 1em}
.tm-geburtsdatum legend{font-weight:600;margin-bottom:.25em;padding:0}
.tm-anmeldung .tm-geburtsdatum select{width:auto;margin-right:.4em}
.tm-ergebnisse .tm-tabs{display:flex;flex-wrap:wrap;gap:.3em;margin:0 0 1em;border-bottom:2px solid #ddd}
.tm-ergebnisse .tm-tabs a{padding:.5em .9em;text-decoration:none;border-radius:4px 4px 0 0}
.tm-ergebnisse .tm-tabs a.tm-aktiv{background:#1e1e1e;color:#fff}
.tm-runden{margin:.5em 0}
.tm-runden a,.tm-runden strong{display:inline-block;min-width:1.8em;text-align:center;padding:.15em .3em}
.tm-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}
.tm-tabelle{border-collapse:collapse;width:100%;font-size:.95em}
.tm-tabelle th,.tm-tabelle td{padding:.35em .55em;border-bottom:1px solid #ddd;text-align:left;white-space:nowrap}
.tm-tabelle thead th{border-bottom:2px solid #999}
.tm-paarungen .tm-erg{text-align:center;font-weight:600}
.tm-kreuz td,.tm-kreuz th{text-align:center}
.tm-kreuz td:nth-child(2),.tm-kreuz th:nth-child(2){text-align:left}
.tm-kreuz .tm-diag{background:#eee}
.tm-zurueck{opacity:.55}
.tm-legende{font-size:.85em;opacity:.75}
.tm-df .tm-treffer{top:2.4em}
.tm-spieler-link{text-decoration:none}
.tm-spieler-link:hover{text-decoration:underline}
.tm-spielerkarte h3{margin:.3em 0 .2em}
.tm-spielerkarte .tm-fakten{margin:0 0 .8em;opacity:.8}
.tm-karten-werte{display:flex;flex-wrap:wrap;gap:1em;margin:1em 0}
.tm-wert-box{flex:1 1 260px;border:1px solid #ddd;border-radius:6px;padding:.6em 1em;background:#fff}
.tm-wert-box h4{margin:.2em 0 .5em}
.tm-wert-box dl{display:grid;grid-template-columns:max-content 1fr;gap:.25em 1em;margin:0}
.tm-wert-box dt{opacity:.75}
.tm-wert-box dd{margin:0}
.tm-turnierwahl{border:0;padding:0;margin:0 0 1em}
.tm-turnierwahl legend{font-weight:600;margin-bottom:.35em;padding:0}
.tm-anmeldung .tm-turnier-option{display:flex;flex-wrap:wrap;align-items:baseline;gap:.2em .6em;font-weight:normal;padding:.6em .8em;border:1px solid #ccc;border-radius:4px;margin-bottom:.4em;cursor:pointer}
.tm-turnier-option span{flex-basis:100%;padding-left:1.6em;font-size:.9em;opacity:.8}
.tm-turnier-option:has(input:checked){border-color:#1e1e1e;background:#f6f7f7}
.tm-turnier-option.tm-zu{opacity:.55;cursor:not-allowed}
.tm-termine td{padding:2px 8px 2px 0}
.tm-termin{font-weight:normal;opacity:.75}
.tm-termine-liste{margin:0 0 1em}
.tm-termine-liste summary{cursor:pointer;font-weight:600}
.tm-anmeldung .tm-mitglied label{font-weight:normal}
.tm-preis{font-weight:600}
.tm-geb-frei{font-weight:normal;margin-left:.3em;opacity:.75}
/* Backend: Turnier-Cockpit */
.tm-cockpit{background:#fff;border:1px solid #dcdcde;border-radius:10px;padding:18px 20px;margin:12px 0 18px;box-shadow:0 1px 2px rgba(0,0,0,.04);max-width:1180px}
.tm-ck-kopf{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;margin-bottom:14px}
.tm-ck-titel{display:block;font-size:20px;font-weight:600;line-height:1.3}
.tm-ck-meta{display:block;color:#646970;margin-top:2px}
.tm-ck-weiter{display:flex;flex-direction:column;align-items:flex-end;gap:4px;max-width:460px;text-align:right}
.tm-ck-weiter small{color:#646970}
.tm-ck-alt{font-size:12px}
.tm-ck-karten{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}
.tm-ck-karte{display:flex;flex-direction:column;gap:2px;padding:10px 14px;border:1px solid #e0e0e0;border-left:4px solid #2271b1;border-radius:6px;background:#f6f7f7;text-decoration:none;color:#1d2327;transition:background .15s,box-shadow .15s}
.tm-ck-karte:hover,.tm-ck-karte:focus{background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.08);color:#1d2327}
.tm-ck-karte strong{font-size:24px;line-height:1.2}
.tm-ck-karte small,.tm-ck-label{color:#646970}
.tm-ck-label{font-size:12px;text-transform:uppercase;letter-spacing:.04em}
.tm-ck-achtung{border-left-color:#dba617}
.tm-ck-fehler{border-left-color:#d63638}
.tm-ck-gut{border-left-color:#00a32a}
.tm-ck-balken{display:block;height:8px;border-radius:4px;background:#dcdcde;overflow:hidden;margin-top:6px}
.tm-ck-balken span{display:block;height:100%;width:0;background:linear-gradient(90deg,#2271b1,#00a32a);transition:width .25s}
.tm-ck-leiste{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:14px 0 0;padding:0}
.tm-ck-leiste li{margin:0;position:relative}
.tm-ck-leiste li>a,.tm-ck-leiste li>.tm-ck-nr{text-decoration:none}
.tm-ck-nr{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;font-weight:600;border:2px solid #c3c4c7;color:#646970;background:#fff}
.tm-ck-fertig .tm-ck-nr{background:#00a32a;border-color:#00a32a;color:#fff}
.tm-ck-teil .tm-ck-nr{border-color:#dba617;color:#996800}
.tm-ck-aktuell .tm-ck-nr{background:#2271b1;border-color:#2271b1;color:#fff;box-shadow:0 0 0 3px rgba(34,113,177,.25)}
.tm-ck-pub{position:absolute;right:-2px;top:-4px;font-size:10px;color:#2271b1}
.tm-ck-fertig .tm-ck-pub{color:#00a32a}
/* Backend: schnelle Ergebniseingabe */
.tm-erg-kopf{display:flex;flex-wrap:wrap;align-items:center;gap:6px 24px;max-width:980px;margin:6px 0 10px}
.tm-erg-stand{display:flex;align-items:center;gap:10px;min-width:280px}
.tm-erg-stand .tm-ck-balken{width:160px;margin:0}
.tm-erg-tasten{margin:0;color:#646970;font-size:12px}
.tm-erg-tasten kbd{font-size:11px;padding:1px 5px}
.tm-erg-tabelle tr.tm-erg-offen td{background:#fcf9e8}
.tm-erg-tabelle tr.tm-erg-da td:nth-child(5){color:#00701a}
.tm-erg-tabelle tr:focus-within td{background:#e8f0fe}
.tm-erg-feld{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}
.tm-schnell{display:inline-flex;border:1px solid #c3c4c7;border-radius:4px;overflow:hidden}
.tm-schnell button{border:0;border-right:1px solid #c3c4c7;background:#f6f7f7;min-width:30px;height:30px;cursor:pointer;font-weight:600;color:#1d2327}
.tm-schnell button:last-child{border-right:0}
.tm-schnell button:hover{background:#fff}
.tm-schnell button.tm-an{background:#2271b1;color:#fff}
.tm-erg-ungespeichert{margin-left:10px;color:#b32d2e;font-weight:600}
@media (max-width:782px){.tm-ck-weiter{align-items:stretch;text-align:left;max-width:none;width:100%}.tm-ck-weiter .button-hero{text-align:center}}
.tm-druckleiste{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:12px 0}
.tm-druck-knopf .dashicons{font-size:16px;width:16px;height:16px;vertical-align:-3px}
/* ---------- Website: Gestaltung ab 2.18 ---------- */
:root{--tm-akzent:#1f4e79}
body:not(.wp-admin) .tm-box,body:not(.wp-admin) .tm-ergebnisse,body:not(.wp-admin) .tm-teilnehmer{--tm-rand:rgba(0,0,0,.12);--tm-flaeche:rgba(0,0,0,.035)}
body:not(.wp-admin) .tm-box{max-width:620px;padding:1.6em 1.8em;border:1px solid var(--tm-rand);border-radius:14px;background:#fff;color:#1e1e1e;box-shadow:0 1px 2px rgba(0,0,0,.04),0 8px 28px rgba(0,0,0,.06)}
body:not(.wp-admin) .tm-box.tm-fehler{border-color:#e3a1a2;background:#fdf3f3}
body:not(.wp-admin) .tm-box.tm-erfolg{border-color:#9fd8ad;background:#f1fbf3}
body:not(.wp-admin) .tm-box.tm-hinweis{border-color:#ecd38a;background:#fffbea}
.tm-anmeldung p{margin:0 0 1.1em}
body:not(.wp-admin) .tm-anmeldung input[type=text],body:not(.wp-admin) .tm-anmeldung input[type=email],body:not(.wp-admin) .tm-anmeldung input[type=date],body:not(.wp-admin) .tm-anmeldung select{padding:.65em .75em;border:1px solid #c4c7cc;border-radius:8px;font-size:1rem;background:#fff;color:#1e1e1e;transition:border-color .15s,box-shadow .15s}
body:not(.wp-admin) .tm-anmeldung input:focus,body:not(.wp-admin) .tm-anmeldung select:focus{outline:0;border-color:var(--tm-akzent);box-shadow:0 0 0 3px color-mix(in srgb,var(--tm-akzent) 22%,transparent)}
body:not(.wp-admin) .tm-anmeldung input:user-invalid{border-color:#d63638}
body:not(.wp-admin) .tm-button{display:inline-block;width:100%;padding:.85em 1.4em;border:0;border-radius:10px;background:var(--tm-akzent);color:#fff;font-size:1.05rem;font-weight:600;letter-spacing:.01em;cursor:pointer;transition:filter .15s,transform .05s}
body:not(.wp-admin) .tm-button:hover{filter:brightness(1.12)}
body:not(.wp-admin) .tm-button:active{transform:translateY(1px)}
body:not(.wp-admin) .tm-button:disabled{opacity:.6;cursor:wait}
body:not(.wp-admin) .tm-anmeldung .tm-turnier-option{border-radius:10px;padding:.8em 1em;transition:border-color .15s,background .15s}
body:not(.wp-admin) .tm-turnier-option:has(input:checked){border-color:var(--tm-akzent);background:color-mix(in srgb,var(--tm-akzent) 7%,#fff);box-shadow:inset 0 0 0 1px var(--tm-akzent)}
.tm-turnier-option input{accent-color:var(--tm-akzent)}
.tm-anmeldung input[type=checkbox]{accent-color:var(--tm-akzent);width:1.1em;height:1.1em;vertical-align:-.15em}
/* Schritte der Anmeldung */
.tm-schritte{display:flex;gap:.4em;list-style:none;margin:0 0 1.5em;padding:0;counter-reset:tm-s;font-size:.85em}
.tm-schritte li{flex:1;display:flex;flex-direction:column;align-items:center;gap:.35em;text-align:center;color:#6b6f76;position:relative;margin:0;counter-increment:tm-s}
.tm-schritte li[hidden]{display:none}
.tm-schritte li span{width:2.1em;height:2.1em;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid #c4c7cc;background:#fff;font-weight:700;z-index:1}
.tm-schritte li span::before{content:counter(tm-s)}
.tm-schritte li:not(:last-child)::after{content:"";position:absolute;top:1.05em;left:calc(50% + 1.2em);right:calc(-50% + 1.2em);height:2px;background:#d5d7db}
.tm-schritte li.tm-jetzt{color:#1e1e1e;font-weight:600}
.tm-schritte li.tm-jetzt span{border-color:var(--tm-akzent);background:var(--tm-akzent);color:#fff;box-shadow:0 0 0 4px color-mix(in srgb,var(--tm-akzent) 18%,transparent)}
.tm-schritte li.tm-erledigt span{border-color:#00a32a;background:#00a32a;color:#fff}
.tm-schritte li.tm-erledigt span::before{content:"✓"}
.tm-schritte li.tm-erledigt::after{background:#00a32a}
.tm-angaben{display:grid;grid-template-columns:max-content 1fr;gap:.3em 1.2em;margin:0 0 1.2em;padding:.9em 1.1em;border-radius:10px;background:rgba(255,255,255,.7)}
.tm-angaben dt{opacity:.7}
.tm-angaben dd{margin:0;font-weight:600}
/* Tabellen auf der Website */
body:not(.wp-admin) .tm-ergebnisse .tm-tabs{border:0;gap:.35em;background:var(--tm-flaeche);padding:.35em;border-radius:12px;display:inline-flex}
body:not(.wp-admin) .tm-ergebnisse .tm-tabs a{border-radius:9px;padding:.5em 1em;color:inherit;font-weight:500}
body:not(.wp-admin) .tm-ergebnisse .tm-tabs a:hover{background:rgba(255,255,255,.8)}
body:not(.wp-admin) .tm-ergebnisse .tm-tabs a.tm-aktiv{background:var(--tm-akzent);color:#fff;box-shadow:0 1px 3px rgba(0,0,0,.15)}
body:not(.wp-admin) .tm-runden a,body:not(.wp-admin) .tm-runden strong{border-radius:999px;min-width:2.1em;padding:.25em .5em;text-decoration:none}
body:not(.wp-admin) .tm-runden a:hover{background:var(--tm-flaeche)}
body:not(.wp-admin) .tm-runden strong{background:var(--tm-akzent);color:#fff}
body:not(.wp-admin) .tm-tabelle,body:not(.wp-admin) .tm-teilnehmer{border-collapse:separate;border-spacing:0;border:1px solid var(--tm-rand,#ddd);border-radius:12px;overflow:hidden;font-variant-numeric:tabular-nums}
body:not(.wp-admin) .tm-tabelle thead th,body:not(.wp-admin) .tm-teilnehmer thead th{background:var(--tm-flaeche,#f6f6f6);border-bottom:1px solid var(--tm-rand,#ddd);font-size:.8em;text-transform:uppercase;letter-spacing:.05em;padding:.7em .7em}
body:not(.wp-admin) .tm-tabelle td,body:not(.wp-admin) .tm-teilnehmer td{padding:.6em .7em;border-bottom:1px solid rgba(0,0,0,.06)}
body:not(.wp-admin) .tm-tabelle tbody tr:last-child td,body:not(.wp-admin) .tm-teilnehmer tbody tr:last-child td{border-bottom:0}
body:not(.wp-admin) .tm-tabelle tbody tr:hover td,body:not(.wp-admin) .tm-teilnehmer tbody tr:hover td{background:color-mix(in srgb,var(--tm-akzent) 5%,transparent)}
body:not(.wp-admin) .tm-paarungen .tm-brett{font-weight:700;opacity:.65;text-align:center}
body:not(.wp-admin) .tm-paarungen .tm-erg{font-size:1.05em}
body:not(.wp-admin) .tm-paarungen tr.tm-laeuft .tm-erg::after{content:"läuft";display:inline-block;font-size:.72em;font-weight:600;padding:.15em .55em;border-radius:999px;background:#fff4d6;color:#8a6100}
.tm-platz td:first-child{font-weight:700}
.tm-platz td:first-child::before{content:"";display:inline-block;width:.75em;height:.75em;border-radius:50%;margin-right:.4em;vertical-align:-.05em}
.tm-platz-1 td:first-child::before{background:linear-gradient(135deg,#f7d774,#c9a227)}
.tm-platz-2 td:first-child::before{background:linear-gradient(135deg,#e6e8eb,#a7adb4)}
.tm-platz-3 td:first-child::before{background:linear-gradient(135deg,#e8b58a,#a8693a)}
.tm-treffer-zeile td{background:color-mix(in srgb,var(--tm-akzent) 10%,transparent)!important}
.tm-filter{margin:.6em 0 .8em}
.tm-filter input{width:100%;max-width:340px;padding:.6em .9em .6em 2.3em;border:1px solid #c4c7cc;border-radius:999px;font-size:.95rem;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%23777' stroke-width='2'%3E%3Ccircle cx='7' cy='7' r='5'/%3E%3Cpath d='m11 11 4 4'/%3E%3C/svg%3E") no-repeat .85em center;box-sizing:border-box}
.tm-filter input:focus{outline:0;border-color:var(--tm-akzent);box-shadow:0 0 0 3px color-mix(in srgb,var(--tm-akzent) 20%,transparent)}
.tm-filter-leer{margin:.4em 0 0;opacity:.7}
.tm-leer{padding:1.2em 1.4em;border:1px dashed var(--tm-rand,#ccc);border-radius:12px;opacity:.8}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}
@media (max-width:600px){body:not(.wp-admin) .tm-box{padding:1.2em 1.1em;border-radius:12px}.tm-schritte{font-size:.75em}.tm-paarungen th:nth-child(3),.tm-paarungen td:nth-child(3),.tm-paarungen th:nth-child(5),.tm-paarungen td:nth-child(5){display:none}body:not(.wp-admin) .tm-ergebnisse .tm-tabs{display:flex}}
@media (max-width:600px){body:not(.wp-admin) .tm-paarungen td{white-space:normal}body:not(.wp-admin) .tm-paarungen td,body:not(.wp-admin) .tm-paarungen th{padding:.55em .4em}body:not(.wp-admin) .tm-ergebnisse .tm-tabs{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch}body:not(.wp-admin) .tm-ergebnisse .tm-tabs a{white-space:nowrap}}

/* Nachrückerliste */
.tm-wl-marke { display: inline-block; margin-left: .5em; padding: .05em .55em; border-radius: 999px; background: #fff4e0; color: #8a5300; font-size: .82em; font-weight: 600; }
.tm-wl-box { margin: 0 0 1em; padding: .75em 1em; border-left: 4px solid #e09b20; background: #fff8ec; border-radius: 4px; }
.tm-wlinfo { border-left: 3px solid #e09b20; padding-left: .7em; }
.tm-wl-anzahl { color: #8a5300; }
.tm-turnier-option .tm-wl-marke { flex-basis: auto; padding: .05em .55em; opacity: 1; font-size: .8em; }
