:root{
  --green:#0b5d3b;
  --green2:#083f2b;
  --gold:#d8b24c;
  --bg:#f4f6f3;
  --card:#ffffff;
  --text:#17221c;
  --muted:#647067;
  --line:#dde4dc;
  --danger:#b42318;
  --ok:#11834f;
  --blue:#1d4ed8;
}
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--text)}
a{color:var(--green);text-decoration:none}
a:hover{text-decoration:underline}
.header{background:linear-gradient(135deg,var(--green),var(--green2));color:white;padding:20px 24px;border-bottom:5px solid var(--gold)}
.header h1{margin:0;font-size:28px}
.header p{margin:6px 0 0;color:#e7efe9}
.nav{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.nav a,.btn{display:inline-flex;align-items:center;gap:8px;border:0;border-radius:12px;padding:10px 14px;background:#e9eee9;color:var(--text);font-weight:700;cursor:pointer;text-decoration:none}
.nav a{background:rgba(255,255,255,.14);color:white}
.btn.primary{background:var(--green);color:white}
.btn.gold{background:var(--gold);color:#1d1a0b}
.btn.danger{background:#fee4e2;color:var(--danger)}
.btn.small{padding:6px 9px;border-radius:9px;font-size:13px}
.container{max-width:1200px;margin:24px auto;padding:0 18px}
.narrow{max-width:720px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}
.card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:0 8px 20px rgba(0,0,0,.04)}
.card h2,.card h3{margin-top:0}
.notice{padding:12px 14px;border-radius:12px;margin:12px 0}
.notice.success{background:#dcfce7;color:#14532d}
.notice.error{background:#fee4e2;color:#7f1d1d}
.notice.info{background:#e0f2fe;color:#0c4a6e}
.muted{color:var(--muted)}
table{width:100%;border-collapse:collapse;background:white;border-radius:14px;overflow:hidden}
th,td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
th{background:#eef3ef;color:#23342a}
tr:last-child td{border-bottom:0}
input,select,textarea{width:100%;padding:10px;border:1px solid #ccd6cf;border-radius:10px;background:white;font:inherit}
label{font-weight:700;font-size:14px;display:block;margin-bottom:6px}
.formgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.badge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:800;background:#eef3ef}
.badge.open{background:#dbeafe;color:#1e40af}
.badge.finished{background:#dcfce7;color:#166534}
.badge.waiting{background:#fef3c7;color:#92400e}
.badge.locked{background:#fee2e2;color:#991b1b}
.bracket{display:flex;gap:18px;overflow:auto;padding-bottom:8px}
.round{min-width:260px}
.match{border:1px solid var(--line);border-radius:14px;background:white;padding:12px;margin-bottom:12px}
.match .code{font-weight:900;color:var(--green)}
.player{display:flex;justify-content:space-between;gap:8px;padding:7px 0;border-top:1px solid #eef2ee}
.player:first-of-type{border-top:0}
.winner{font-weight:900;color:var(--ok)}
.score-hero{font-size:36px;font-weight:900;margin:8px 0;color:var(--green)}
.holebox{border:2px solid var(--gold);border-radius:18px;padding:16px;background:#fffdf4}
.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.footer{color:var(--muted);font-size:13px;text-align:center;margin:40px 0}
@media(max-width:700px){.two{grid-template-columns:1fr}.header h1{font-size:22px}}


.score-entry{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:end}
.score-entry.inline-edit{grid-template-columns:1fr 1fr auto;align-items:end}
.score-stepper label{font-weight:800;margin-bottom:6px}
.stepper-row{display:grid;grid-template-columns:48px 1fr 48px;gap:8px;align-items:center}
.stepper-row input{text-align:center;font-size:22px;font-weight:900;padding:10px}
.stepper-row .btn{justify-content:center;font-size:22px;line-height:1;min-height:46px}
.edit-row td{background:#fff8df}
@media(max-width:700px){
  .score-entry,.score-entry.inline-edit{grid-template-columns:1fr}
  .stepper-row{grid-template-columns:56px 1fr 56px}
}


/* v5 Premium Hauptbaum – angelehnt an das Stimpmeter-Dashboard */
:root{
  --gcsb-deep:#071b12;
  --gcsb-green:#0b5d3b;
  --gcsb-green-2:#0f7a4d;
  --gcsb-card:rgba(255,255,255,.92);
  --gcsb-card-soft:rgba(255,255,255,.78);
  --gcsb-gold:#d8b24c;
  --gcsb-gold-2:#f1d77a;
  --gcsb-line:rgba(216,178,76,.78);
  --gcsb-white:#f7fbf8;
}

.visual-main{
  min-height:calc(100vh - 70px);
  background:
    radial-gradient(circle at 50% 45%, rgba(216,178,76,.14), transparent 22%),
    radial-gradient(circle at 20% 15%, rgba(15,122,77,.35), transparent 24%),
    radial-gradient(circle at 86% 20%, rgba(15,122,77,.24), transparent 22%),
    linear-gradient(135deg,#071b12 0%, #09331f 45%, #06140e 100%);
  color:var(--gcsb-white);
  padding:26px 18px 36px;
}

.visual-header{
  max-width:1500px;
  margin:0 auto 20px;
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:flex-start;
}
.visual-titleblock h1{
  margin:0;
  font-size:clamp(28px,4vw,58px);
  line-height:1;
  letter-spacing:.02em;
  text-transform:uppercase;
  color:#fff;
  text-shadow:0 2px 20px rgba(0,0,0,.35);
}
.visual-titleblock p{
  margin:10px 0 0;
  color:rgba(255,255,255,.78);
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.visual-badge{
  border:1px solid rgba(216,178,76,.7);
  background:rgba(255,255,255,.08);
  color:#fff;
  padding:10px 14px;
  border-radius:16px;
  font-weight:900;
  box-shadow:0 12px 30px rgba(0,0,0,.18);
  white-space:nowrap;
}
.visual-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}

.bracket-stage{
  position:relative;
  max-width:1500px;
  margin:0 auto;
  min-height:760px;
  border:1px solid rgba(216,178,76,.35);
  border-radius:28px;
  overflow:auto;
  background:
    linear-gradient(90deg, rgba(255,255,255,.04), transparent 25%, transparent 75%, rgba(255,255,255,.04)),
    rgba(0,0,0,.16);
  box-shadow:0 24px 70px rgba(0,0,0,.28), inset 0 0 0 1px rgba(255,255,255,.04);
}

.bracket-inner{
  position:relative;
  width:1420px;
  height:760px;
  margin:0 auto;
}

.bracket-lines{
  position:absolute;
  inset:0;
  width:1420px;
  height:760px;
  pointer-events:none;
  z-index:1;
}
.bracket-lines path{
  fill:none;
  stroke:var(--gcsb-line);
  stroke-width:2.2;
  stroke-linecap:round;
  stroke-linejoin:round;
  filter:drop-shadow(0 0 5px rgba(216,178,76,.25));
}
.bracket-lines path.future{
  stroke:rgba(255,255,255,.22);
  stroke-dasharray:4 7;
  filter:none;
}
.bracket-lines text{
  fill:rgba(255,255,255,.75);
  font-weight:900;
  font-size:12px;
  letter-spacing:.08em;
}

.vmatch{
  position:absolute;
  z-index:2;
  width:190px;
  min-height:72px;
  border-radius:14px;
  padding:9px 10px;
  color:#102018;
  background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(230,238,230,.92));
  border:1px solid rgba(216,178,76,.65);
  box-shadow:0 12px 26px rgba(0,0,0,.24);
}
.vmatch.done{
  background:linear-gradient(180deg, rgba(216,178,76,.96), rgba(246,229,157,.9));
}
.vmatch.pending{
  background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,248,221,.95));
}
.vmatch.waiting{
  background:rgba(255,255,255,.70);
  color:rgba(16,32,24,.72);
}
.vmatch.final-node{
  background:linear-gradient(180deg,#0f7a4d,#0b5d3b);
  color:#fff;
  border-color:rgba(216,178,76,.9);
  box-shadow:0 0 0 2px rgba(216,178,76,.25), 0 20px 46px rgba(0,0,0,.32);
}
.vmatch-code{
  display:flex;
  justify-content:space-between;
  gap:8px;
  align-items:center;
  font-size:10px;
  line-height:1;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:rgba(16,32,24,.62);
  margin-bottom:7px;
}
.final-node .vmatch-code{color:rgba(255,255,255,.72)}
.vstatus-dot{
  width:8px;height:8px;border-radius:50%;background:#c7d2cc;display:inline-block;
  box-shadow:0 0 0 3px rgba(0,0,0,.04);
}
.vstatus-dot.open{background:#2f80ed}
.vstatus-dot.in_progress{background:#f59e0b}
.vstatus-dot.finished{background:#11834f}
.vstatus-dot.waiting{background:#98a29b}
.vplayer{
  font-size:14px;
  font-weight:900;
  line-height:1.12;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.vplayer + .vplayer{margin-top:4px}
.vplayer.winner{
  color:#064e30;
}
.final-node .vplayer.winner,.final-node .vplayer{color:#fff}
.vresult{
  margin-top:7px;
  font-size:12px;
  font-weight:900;
  color:#6a4d00;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.final-node .vresult{color:#f1d77a}

.center-trophy{
  position:absolute;
  left:50%;
  top:330px;
  transform:translate(-50%,-50%);
  z-index:0;
  width:170px;height:170px;
  border-radius:50%;
  border:1px solid rgba(216,178,76,.45);
  background:
    radial-gradient(circle, rgba(216,178,76,.20), transparent 62%),
    rgba(255,255,255,.05);
  display:flex;
  align-items:center;
  justify-content:center;
  color:rgba(216,178,76,.94);
  font-size:72px;
  box-shadow:inset 0 0 50px rgba(216,178,76,.08), 0 20px 70px rgba(0,0,0,.25);
}
.center-trophy span{
  transform:translateY(-3px);
  filter:drop-shadow(0 8px 18px rgba(0,0,0,.45));
}

.round-label{
  position:absolute;
  z-index:3;
  color:rgba(255,255,255,.72);
  font-size:11px;
  font-weight:950;
  letter-spacing:.12em;
  text-transform:uppercase;
  transform:translateX(-50%);
  white-space:nowrap;
}
.visual-help{
  max-width:1500px;
  margin:14px auto 0;
  color:rgba(255,255,255,.68);
  font-size:13px;
}

.mobile-bracket-list{display:none}

@media(max-width:900px){
  .visual-header{display:block}
  .visual-actions{justify-content:flex-start;margin-top:14px}
  .bracket-stage{display:none}
  .mobile-bracket-list{display:block}
  .mobile-bracket-list .round{min-width:0}
  .visual-main{padding:18px 12px 30px}
}


/* v6 Split-Bracket: links Winner-Tree, rechts Looser-Tree */
.split-stage{
  max-width:1500px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1.18fr .82fr;
  gap:18px;
  align-items:start;
}
.tree-panel{
  position:relative;
  min-height:760px;
  border:1px solid rgba(216,178,76,.35);
  border-radius:28px;
  overflow:auto;
  background:
    radial-gradient(circle at 50% 18%, rgba(216,178,76,.10), transparent 26%),
    rgba(0,0,0,.16);
  box-shadow:0 24px 70px rgba(0,0,0,.22), inset 0 0 0 1px rgba(255,255,255,.04);
}
.tree-panel-header{
  position:sticky;
  top:0;
  z-index:10;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:14px 16px;
  background:linear-gradient(180deg,rgba(7,27,18,.96),rgba(7,27,18,.78));
  border-bottom:1px solid rgba(216,178,76,.24);
  backdrop-filter:blur(10px);
}
.tree-panel-header h2{
  margin:0;
  font-size:18px;
  color:#fff;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.tree-panel-header p{
  margin:2px 0 0;
  color:rgba(255,255,255,.62);
  font-size:12px;
  font-weight:700;
}
.winner-canvas{
  position:relative;
  width:860px;
  height:700px;
  margin:10px auto 20px;
}
.loser-canvas{
  position:relative;
  min-width:520px;
  min-height:700px;
  padding:18px;
}
.split-lines{
  position:absolute;
  inset:0;
  width:860px;
  height:700px;
  pointer-events:none;
  z-index:1;
}
.split-lines path{
  fill:none;
  stroke:var(--gcsb-line);
  stroke-width:2.1;
  stroke-linecap:round;
  stroke-linejoin:round;
  filter:drop-shadow(0 0 5px rgba(216,178,76,.18));
}
.split-lines path.future{stroke:rgba(255,255,255,.18);stroke-dasharray:4 7;filter:none}

.winner-canvas .vmatch{width:176px;min-height:68px}
.loser-round{
  margin-bottom:16px;
}
.loser-round-title{
  color:rgba(255,255,255,.78);
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.1em;
  font-weight:950;
  margin:0 0 8px;
}
.loser-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.loser-card{
  min-height:66px;
  border-radius:14px;
  padding:9px 10px;
  color:#102018;
  background:linear-gradient(180deg, rgba(255,255,255,.94), rgba(230,238,230,.9));
  border:1px solid rgba(216,178,76,.55);
  box-shadow:0 10px 22px rgba(0,0,0,.20);
}
.loser-card.match-active{
  background:linear-gradient(180deg, rgba(255,248,221,.96), rgba(255,255,255,.9));
}
.loser-card.done{
  background:linear-gradient(180deg, rgba(216,178,76,.94), rgba(246,229,157,.86));
}
.loser-card.eliminated{
  opacity:.58;
  filter:grayscale(.25);
}
.loser-card .mini{
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:950;
  color:rgba(16,32,24,.55);
  margin-bottom:6px;
}
.loser-card .name{
  font-size:14px;
  line-height:1.12;
  font-weight:950;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.loser-card .name + .name{margin-top:4px}
.loser-card .result{
  margin-top:6px;
  font-size:12px;
  font-weight:900;
  color:#6a4d00;
}
.loser-empty{
  border:1px dashed rgba(255,255,255,.25);
  color:rgba(255,255,255,.68);
  border-radius:18px;
  padding:18px;
  text-align:center;
  background:rgba(255,255,255,.05);
}
.final-strip{
  max-width:1500px;
  margin:18px auto 0;
  border:1px solid rgba(216,178,76,.42);
  border-radius:24px;
  padding:18px;
  background:linear-gradient(135deg,rgba(216,178,76,.14),rgba(255,255,255,.04));
  display:grid;
  grid-template-columns:1fr auto 1fr;
  gap:16px;
  align-items:center;
  color:#fff;
}
.final-strip .side-label{
  color:rgba(255,255,255,.62);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-weight:950;
}
.final-strip .final-name{
  font-size:20px;
  font-weight:950;
}
.final-cup{
  width:72px;height:72px;border-radius:50%;
  display:grid;place-items:center;
  color:var(--gcsb-gold-2);
  font-size:36px;
  border:1px solid rgba(216,178,76,.55);
  background:rgba(0,0,0,.18);
}
@media(max-width:1100px){
  .split-stage{grid-template-columns:1fr}
  .tree-panel{min-height:auto}
}
@media(max-width:700px){
  .split-stage{display:none}
  .final-strip{grid-template-columns:1fr;text-align:center}
  .loser-grid{grid-template-columns:1fr}
}


/* v7 Stacked Bracket: oben Winner Tree, unten Second Chance Tree */
.stacked-bracket{
  max-width:1500px;
  margin:0 auto;
  display:grid;
  gap:22px;
}
.stacked-panel{
  position:relative;
  border:1px solid rgba(216,178,76,.35);
  border-radius:28px;
  overflow:auto;
  background:
    radial-gradient(circle at 50% 18%, rgba(216,178,76,.10), transparent 26%),
    rgba(0,0,0,.16);
  box-shadow:0 24px 70px rgba(0,0,0,.22), inset 0 0 0 1px rgba(255,255,255,.04);
}
.stacked-panel-header{
  position:sticky;
  top:0;
  z-index:10;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:14px 16px;
  background:linear-gradient(180deg,rgba(7,27,18,.96),rgba(7,27,18,.78));
  border-bottom:1px solid rgba(216,178,76,.24);
  backdrop-filter:blur(10px);
}
.stacked-panel-header h2{
  margin:0;
  font-size:18px;
  color:#fff;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.stacked-panel-header p{
  margin:2px 0 0;
  color:rgba(255,255,255,.62);
  font-size:12px;
  font-weight:700;
}
.winner-wide-canvas{
  position:relative;
  width:1420px;
  height:760px;
  margin:10px auto 20px;
}
.second-canvas{
  position:relative;
  width:1420px;
  min-height:360px;
  margin:10px auto 20px;
  padding:18px 18px 28px;
}
.second-rounds{
  display:flex;
  gap:24px;
  align-items:flex-start;
  min-width:1300px;
}
.second-round-col{
  width:220px;
  flex:0 0 220px;
}
.second-round-col h3{
  color:rgba(255,255,255,.76);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-weight:950;
  margin:0 0 12px;
}
.second-match{
  display:block;
  min-height:74px;
  border-radius:14px;
  padding:9px 10px;
  color:#102018;
  background:linear-gradient(180deg, rgba(255,255,255,.94), rgba(230,238,230,.9));
  border:1px solid rgba(216,178,76,.55);
  box-shadow:0 10px 22px rgba(0,0,0,.20);
  margin-bottom:14px;
  text-decoration:none;
}
.second-match:hover{text-decoration:none;transform:translateY(-1px)}
.second-match.done{
  background:linear-gradient(180deg, rgba(216,178,76,.94), rgba(246,229,157,.86));
}
.second-match.waiting{
  background:rgba(255,255,255,.70);
  color:rgba(16,32,24,.72);
}
.second-code{
  display:flex;
  justify-content:space-between;
  gap:8px;
  align-items:center;
  font-size:10px;
  line-height:1;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:rgba(16,32,24,.58);
  margin-bottom:7px;
}
.second-player{
  font-size:14px;
  font-weight:950;
  line-height:1.12;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.second-player + .second-player{margin-top:4px}
.second-player.winner{color:#064e30}
.second-result{
  margin-top:7px;
  font-size:12px;
  font-weight:900;
  color:#6a4d00;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.second-waiting-list{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:10px;
  margin-bottom:18px;
}
.second-waiting-card{
  min-height:56px;
  border-radius:14px;
  padding:9px 10px;
  color:#102018;
  background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(230,238,230,.86));
  border:1px solid rgba(216,178,76,.50);
  box-shadow:0 8px 18px rgba(0,0,0,.16);
}
.second-waiting-card.eliminated{opacity:.58;filter:grayscale(.25)}
.second-empty{
  border:1px dashed rgba(255,255,255,.25);
  color:rgba(255,255,255,.68);
  border-radius:18px;
  padding:20px;
  text-align:center;
  background:rgba(255,255,255,.05);
}
.final-strip.stacked-final{
  margin-top:0;
}
@media(max-width:900px){
  .stacked-panel{display:none}
}


/* v9: Second Chance Tree im gleichen Bracket-Look wie Winner Tree */
.generic-bracket-panel{
  position:relative;
}
.generic-bracket-stage{
  position:relative;
  width:1420px;
  min-height:420px;
  margin:10px auto 20px;
}
.generic-bracket-canvas{
  position:relative;
  width:1420px;
  min-height:420px;
}
.generic-bracket-lines{
  position:absolute;
  inset:0;
  width:1420px;
  height:100%;
  pointer-events:none;
  z-index:1;
}
.generic-bracket-lines path{
  fill:none;
  stroke:var(--gcsb-line);
  stroke-width:2.2;
  stroke-linecap:round;
  stroke-linejoin:round;
  filter:drop-shadow(0 0 5px rgba(216,178,76,.20));
}
.generic-bracket-lines path.future{
  stroke:rgba(255,255,255,.18);
  stroke-dasharray:4 7;
  filter:none;
}
.generic-bracket-lines text{
  fill:rgba(255,255,255,.74);
  font-weight:900;
  font-size:12px;
  letter-spacing:.08em;
}
.generic-empty-note{
  border:1px dashed rgba(255,255,255,.25);
  color:rgba(255,255,255,.70);
  border-radius:18px;
  padding:20px;
  text-align:center;
  background:rgba(255,255,255,.05);
  margin:18px;
}
.waiting-strip{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  padding:18px 18px 0;
}
.waiting-strip .vmatch{
  position:relative;
  left:auto !important;
  top:auto !important;
  width:auto;
}
@media(max-width:900px){
  .generic-bracket-panel{display:none}
}


/* v10: Turnierbaum als Spaltenstruktur von links nach rechts */
.triangle-panel{
  position:relative;
  border:1px solid rgba(216,178,76,.35);
  border-radius:28px;
  overflow:auto;
  background:
    radial-gradient(circle at 76% 50%, rgba(216,178,76,.12), transparent 20%),
    radial-gradient(circle at 18% 14%, rgba(15,122,77,.18), transparent 26%),
    rgba(0,0,0,.16);
  box-shadow:0 24px 70px rgba(0,0,0,.22), inset 0 0 0 1px rgba(255,255,255,.04);
}
.triangle-canvas{
  position:relative;
  width:1480px;
  min-height:640px;
  margin:0 auto;
}
.triangle-lines{
  position:absolute;
  inset:0;
  width:1480px;
  height:100%;
  pointer-events:none;
  z-index:1;
}
.triangle-lines path{
  fill:none;
  stroke:var(--gcsb-line);
  stroke-width:2.2;
  stroke-linecap:round;
  stroke-linejoin:round;
  filter:drop-shadow(0 0 5px rgba(216,178,76,.20));
}
.triangle-lines path.future{
  stroke:rgba(255,255,255,.18);
  stroke-dasharray:4 7;
  filter:none;
}
.triangle-lines text{
  fill:rgba(255,255,255,.78);
  font-weight:950;
  font-size:12px;
  letter-spacing:.10em;
  text-transform:uppercase;
}
.triangle-help{
  color:rgba(255,255,255,.64);
  font-size:12px;
  font-weight:700;
  margin:0;
}
.triangle-empty{
  margin:18px;
  border:1px dashed rgba(255,255,255,.25);
  color:rgba(255,255,255,.70);
  border-radius:18px;
  padding:20px;
  text-align:center;
  background:rgba(255,255,255,.05);
}
.triangle-waiting{
  padding:18px 18px 0;
}
.triangle-waiting h3{
  margin:0 0 10px;
  color:rgba(255,255,255,.76);
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-weight:950;
}
.triangle-waiting-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.triangle-waiting-grid .vmatch{
  position:relative;
  left:auto !important;
  top:auto !important;
  width:auto;
}
@media(max-width:900px){
  .triangle-panel{display:none}
}


/* v15: Freilos-/Leerboxen zur sauberen Baumstruktur */
.vmatch.placeholder-node{
  background:linear-gradient(180deg, rgba(255,255,255,.26), rgba(255,255,255,.12));
  border:1px dashed rgba(216,178,76,.55);
  color:rgba(255,255,255,.82);
  box-shadow:none;
  backdrop-filter:blur(2px);
}
.vmatch.placeholder-node .vmatch-code{
  color:rgba(255,255,255,.65);
}
.vmatch.placeholder-node .vplayer{
  color:rgba(255,255,255,.88);
}
.vmatch.placeholder-node .vresult{
  color:rgba(241,215,122,.95);
}


/* v16: saubere Startspalte mit echten Feedern */
.vmatch.start-bye{
  background:linear-gradient(180deg, rgba(255,255,255,.82), rgba(220,230,222,.72));
  border:1px dashed rgba(216,178,76,.75);
  color:#102018;
}
.vmatch.start-bye .vresult{
  color:#6a4d00;
}
.vmatch.start-slot-empty{
  background:rgba(255,255,255,.13);
  border:1px dashed rgba(255,255,255,.22);
  color:rgba(255,255,255,.72);
  box-shadow:none;
}


/* v17: sichtbarer Cache-Buster und saubere Startspalte */
.vmatch.start-bye{
  background:linear-gradient(180deg, rgba(255,255,255,.86), rgba(220,230,222,.76));
  border:1px dashed rgba(216,178,76,.8);
  color:#102018;
}
.vmatch.start-bye .vresult{ color:#6a4d00; }
.vmatch.start-slot-empty{
  background:rgba(255,255,255,.13);
  border:1px dashed rgba(255,255,255,.22);
  color:rgba(255,255,255,.72);
  box-shadow:none;
}


/* v19: Mobile Umschaltung Baum / Tabelle */
.mobile-view-toggle{
  display:none;
  max-width:1500px;
  margin:0 auto 14px;
  gap:8px;
  padding:0 2px;
}
.mobile-toggle-btn{
  appearance:none;
  border:1px solid rgba(216,178,76,.55);
  background:rgba(255,255,255,.08);
  color:#fff;
  border-radius:999px;
  padding:10px 14px;
  font-weight:950;
  letter-spacing:.04em;
}
.mobile-toggle-btn.active{
  background:linear-gradient(180deg, rgba(216,178,76,.95), rgba(241,215,122,.86));
  color:#102018;
}
@media(max-width:900px){
  .mobile-view-toggle{display:flex}
  .stacked-bracket{display:none}
  .mobile-bracket-list{display:block}
  body[data-mobile-view="tree"] .stacked-bracket{
    display:grid;
    gap:18px;
  }
  body[data-mobile-view="tree"] .mobile-bracket-list{
    display:none;
  }
  body[data-mobile-view="tree"] .triangle-panel{
    display:block;
    overflow:auto;
    -webkit-overflow-scrolling:touch;
  }
  body[data-mobile-view="tree"] .stacked-panel{
    display:block;
  }
  body[data-mobile-view="tree"] .triangle-canvas{
    min-width:1480px;
  }
  body[data-mobile-view="tree"] .final-strip{
    min-width:760px;
  }
  body[data-mobile-view="tree"] .stacked-bracket{
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    padding-bottom:8px;
  }
  body[data-mobile-view="tree"] .visual-help{
    display:block;
  }
  body[data-mobile-view="table"] .stacked-bracket{
    display:none;
  }
  body[data-mobile-view="table"] .mobile-bracket-list{
    display:block;
  }
}


/* v25: Teilnehmer Bulk Delete */
.danger-zone{
  border-color:rgba(180,40,40,.45);
  background:linear-gradient(180deg, rgba(80,10,10,.34), rgba(255,255,255,.06));
}
.danger-zone h2{
  color:#ffe0e0;
}


/* v26: Button alle Teilnehmer löschen sichtbar oben */
.danger-zone,
.bulk-delete-top{
  border-color:rgba(190,45,45,.55);
  background:linear-gradient(180deg, rgba(90,12,12,.38), rgba(255,255,255,.06));
}
.bulk-delete-top h2{
  color:#ffe0e0;
}
.btn.danger{
  border-color:rgba(190,45,45,.70);
  background:rgba(190,45,45,.22);
  color:#ffe7e7;
}
.btn.danger:hover{
  background:rgba(190,45,45,.35);
}


/* v27: öffentliche Matchplay-Landingpage */
.matchplay-hero{
  position:relative;
  overflow:hidden;
  padding:34px 18px 30px;
  background:
    radial-gradient(circle at 18% 0%, rgba(216,178,76,.28), transparent 34%),
    radial-gradient(circle at 88% 10%, rgba(0,120,70,.28), transparent 34%),
    linear-gradient(135deg, #062514, #0b3b22 52%, #061b12);
  border-bottom:1px solid rgba(216,178,76,.35);
}
.hero-inner{
  max-width:1180px;
  margin:0 auto;
}
.eyebrow{
  margin:0 0 8px;
  color:#f1d77a;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-size:.82rem;
}
.matchplay-hero h1{
  margin:0;
  font-size:clamp(2rem,5vw,4.4rem);
  line-height:.98;
  color:#fff;
  text-shadow:0 10px 30px rgba(0,0,0,.35);
}
.hero-subline{
  max-width:820px;
  color:rgba(255,255,255,.86);
  font-size:1.12rem;
  line-height:1.55;
  margin:18px 0 0;
}
.hero-nav{
  margin-top:22px;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.btn.big{
  padding:14px 18px;
  font-size:1rem;
}
.btn.ghost{
  opacity:.72;
}
.landing-grid{
  display:grid;
  grid-template-columns:1.25fr 1fr;
  gap:18px;
  align-items:stretch;
}
.landing-card{
  border:1px solid rgba(216,178,76,.28);
  background:linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.055));
  border-radius:22px;
  padding:22px;
  box-shadow:0 18px 48px rgba(0,0,0,.18);
}
.landing-card h2,
.landing-card h3{
  margin-top:0;
}
.primary-info{
  background:
    linear-gradient(180deg, rgba(216,178,76,.25), rgba(255,255,255,.065)),
    rgba(255,255,255,.08);
}
.landing-kicker{
  display:inline-flex;
  margin-bottom:12px;
  padding:7px 11px;
  border-radius:999px;
  background:rgba(216,178,76,.20);
  border:1px solid rgba(216,178,76,.40);
  color:#f1d77a;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.78rem;
}
.hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:20px 0 14px;
}
.nice-list{
  margin:0;
  padding-left:0;
  list-style:none;
  display:grid;
  gap:12px;
}
.nice-list li{
  padding-left:26px;
  position:relative;
  line-height:1.45;
}
.nice-list li:before{
  content:"";
  position:absolute;
  left:0;
  top:.45em;
  width:10px;
  height:10px;
  border-radius:50%;
  background:#d8b24c;
  box-shadow:0 0 0 4px rgba(216,178,76,.16);
}
.wide-card{
  grid-column:1 / -1;
}
.steps{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
}
.steps div{
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.06);
  border-radius:18px;
  padding:16px;
}
.steps span{
  display:inline-grid;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:50%;
  background:linear-gradient(180deg, #d8b24c, #f1d77a);
  color:#102018;
  font-weight:950;
  margin-bottom:10px;
}
.steps strong{
  display:block;
  color:#fff;
  margin-bottom:6px;
}
.steps p{
  margin:0;
  color:rgba(255,255,255,.72);
}
@media(max-width:800px){
  .landing-grid{
    grid-template-columns:1fr;
  }
  .steps{
    grid-template-columns:1fr;
  }
  .matchplay-hero{
    padding-top:24px;
  }
}


/* v28: Teilnehmerliste und Termine auf Startseite */
.date-strip{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  margin:18px 0 8px;
}
.date-strip div{
  border:1px solid rgba(216,178,76,.28);
  border-radius:16px;
  background:rgba(0,0,0,.16);
  padding:12px;
}
.date-strip span{
  display:block;
  color:rgba(255,255,255,.68);
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:900;
  margin-bottom:4px;
}
.date-strip strong{
  display:block;
  color:#f1d77a;
  font-size:1.02rem;
}
.registered-list{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
}
.registered-list span{
  display:inline-flex;
  align-items:center;
  border:1px solid rgba(216,178,76,.28);
  background:rgba(255,255,255,.075);
  color:#fff;
  border-radius:999px;
  padding:8px 11px;
  font-weight:850;
}
@media(max-width:700px){
  .date-strip{
    grid-template-columns:1fr;
  }
}


/* v29: Turnier zurücksetzen */
.danger-zone{
  border-color:rgba(190,45,45,.55);
  background:linear-gradient(180deg, rgba(90,12,12,.38), rgba(255,255,255,.06));
}
.danger-zone h2{ color:#ffe0e0; }
.btn.danger{
  border-color:rgba(190,45,45,.70);
  background:rgba(190,45,45,.22);
  color:#ffe7e7;
}
.btn.danger:hover{ background:rgba(190,45,45,.35); }


/* v31: Lesbarkeit registrierte Teilnehmer auf heller Startseite */
.registered-list span{
  background:linear-gradient(180deg, #fff8dd, #f1d77a) !important;
  color:#062514 !important;
  border:1px solid rgba(171,126,24,.75) !important;
  box-shadow:0 3px 10px rgba(0,0,0,.10);
  text-shadow:none !important;
}


/* v32: Teilnehmerchips direkt und maximal spezifisch lesbar */
.registered-list span.registered-chip-readable,
.landing-card .registered-list span.registered-chip-readable{
  background:linear-gradient(180deg,#fff8dd,#f1d77a) !important;
  color:#062514 !important;
  border:1px solid rgba(171,126,24,.85) !important;
  box-shadow:0 3px 10px rgba(0,0,0,.14) !important;
  text-shadow:none !important;
  font-weight:950 !important;
}


/* v33: Lesbarkeit Anmeldungsschritte */
.steps-card-readable,
.landing-card.steps-card-readable{
  background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(248,246,236,.92)) !important;
  color:#062514 !important;
}
.steps-card-readable h3{
  color:#062514 !important;
}
.steps-card-readable .steps div{
  background:rgba(255,255,255,.72) !important;
  border:1px solid rgba(216,178,76,.38) !important;
  box-shadow:0 10px 24px rgba(0,0,0,.08);
}
.steps-card-readable .steps strong{
  color:#062514 !important;
  text-shadow:none !important;
}
.steps-card-readable .steps p{
  color:#34463d !important;
  text-shadow:none !important;
}
.steps-card-readable .steps span{
  color:#062514 !important;
  text-shadow:none !important;
}


/* v34: Registrierung Captcha / Honeypot */
.hp-field{
  position:absolute !important;
  left:-9999px !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
}
input:disabled{
  opacity:.75;
  cursor:not-allowed;
}


/* v35: GCSB / Stimpmeter Look */
:root{
  --gcsb-bg-0:#071421;
  --gcsb-bg-1:#0b1f33;
  --gcsb-bg-2:#102b46;
  --gcsb-card:#f7f4e8;
  --gcsb-card-2:#fffaf0;
  --gcsb-text:#071421;
  --gcsb-muted:#64717d;
  --gcsb-gold:#d8b24c;
  --gcsb-gold-2:#f1d77a;
  --gcsb-green:#0c7a4b;
  --gcsb-red:#b83b3b;
  --gcsb-line:rgba(216,178,76,.45);
}

html,body{
  background:
    radial-gradient(circle at 12% 0%, rgba(216,178,76,.16), transparent 32%),
    radial-gradient(circle at 90% 6%, rgba(40,93,143,.32), transparent 34%),
    linear-gradient(135deg, var(--gcsb-bg-0), var(--gcsb-bg-1) 52%, #050d15) !important;
  color:#f8fafc !important;
}

.header,
.matchplay-hero{
  background:
    radial-gradient(circle at 15% 0%, rgba(216,178,76,.24), transparent 32%),
    radial-gradient(circle at 86% 8%, rgba(52,115,176,.30), transparent 36%),
    linear-gradient(135deg, #071421, #102b46 58%, #06111d) !important;
  border-bottom:1px solid rgba(216,178,76,.45) !important;
  box-shadow:0 18px 55px rgba(0,0,0,.28);
}

.header h1,
.matchplay-hero h1{
  color:#ffffff !important;
  text-shadow:0 10px 28px rgba(0,0,0,.38);
}

.header p,
.hero-subline{
  color:rgba(255,255,255,.84) !important;
}

.eyebrow{
  color:var(--gcsb-gold-2) !important;
}

.nav a,
.btn{
  border:1px solid rgba(216,178,76,.45) !important;
  background:rgba(255,255,255,.08) !important;
  color:#ffffff !important;
  box-shadow:0 8px 20px rgba(0,0,0,.16);
}

.nav a:hover,
.btn:hover{
  background:rgba(216,178,76,.16) !important;
}

.btn.primary,
.btn.gold,
button.btn.primary{
  background:linear-gradient(180deg, var(--gcsb-gold-2), var(--gcsb-gold)) !important;
  color:#071421 !important;
  border-color:rgba(216,178,76,.85) !important;
  font-weight:950 !important;
}

.btn.ghost{
  opacity:.85;
}

.container{
  color:#f8fafc;
}

.card,
.landing-card,
.round,
.match,
.stacked-panel,
.triangle-panel,
.final-strip{
  background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(247,244,232,.92)) !important;
  color:var(--gcsb-text) !important;
  border:1px solid rgba(216,178,76,.38) !important;
  box-shadow:0 22px 55px rgba(0,0,0,.22) !important;
}

.card h1,
.card h2,
.card h3,
.landing-card h2,
.landing-card h3,
.round h3,
.match h3,
.stacked-panel h2{
  color:#071421 !important;
}

.card p,
.landing-card p,
.match p,
.card li,
.landing-card li{
  color:#213243 !important;
}

.muted,
.card .muted,
.landing-card .muted{
  color:#66727d !important;
}

.notice.success{
  background:#dff7e8 !important;
  color:#063b22 !important;
  border:1px solid rgba(12,122,75,.26) !important;
}

.notice.error{
  background:#fde4e4 !important;
  color:#731c1c !important;
  border:1px solid rgba(184,59,59,.25) !important;
}

input,
select,
textarea{
  background:#ffffff !important;
  color:#071421 !important;
  border:1px solid rgba(7,20,33,.18) !important;
}

label{
  color:#071421 !important;
}

table{
  background:rgba(255,255,255,.96) !important;
  color:#071421 !important;
}

th{
  color:#071421 !important;
  background:rgba(216,178,76,.18) !important;
}

td{
  color:#071421 !important;
  border-color:rgba(7,20,33,.10) !important;
}

.badge,
.visual-badge,
.landing-kicker{
  background:rgba(216,178,76,.18) !important;
  border:1px solid rgba(216,178,76,.45) !important;
  color:#5d4200 !important;
}

.date-strip div{
  background:rgba(7,20,33,.06) !important;
  border:1px solid rgba(216,178,76,.36) !important;
}
.date-strip span{
  color:#52606c !important;
}
.date-strip strong{
  color:#7b5700 !important;
}

.nice-list li:before{
  background:var(--gcsb-gold) !important;
  box-shadow:0 0 0 4px rgba(216,178,76,.18) !important;
}

.registered-list span,
.registered-list span.registered-chip-readable,
.landing-card .registered-list span.registered-chip-readable{
  background:linear-gradient(180deg,#fff8dd,#f1d77a) !important;
  color:#071421 !important;
  border:1px solid rgba(171,126,24,.85) !important;
  box-shadow:0 3px 10px rgba(0,0,0,.14) !important;
  text-shadow:none !important;
  font-weight:950 !important;
}

.steps-card-readable,
.landing-card.steps-card-readable{
  background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(247,244,232,.92)) !important;
  color:#071421 !important;
}
.steps-card-readable .steps div,
.steps div{
  background:rgba(255,255,255,.72) !important;
  border:1px solid rgba(216,178,76,.38) !important;
  box-shadow:0 10px 24px rgba(0,0,0,.08);
}
.steps strong,
.steps-card-readable .steps strong{
  color:#071421 !important;
}
.steps p,
.steps-card-readable .steps p{
  color:#34463d !important;
}
.steps span,
.steps-card-readable .steps span{
  color:#071421 !important;
  background:linear-gradient(180deg, var(--gcsb-gold-2), var(--gcsb-gold)) !important;
}

.vmatch{
  background:linear-gradient(180deg, #fff1b8, #e3c662) !important;
  color:#071421 !important;
  border:1px solid rgba(126,91,0,.45) !important;
  box-shadow:0 8px 20px rgba(0,0,0,.18) !important;
}
.vmatch.final-node{
  background:linear-gradient(180deg, #0f7b4b, #075b37) !important;
  color:#ffffff !important;
  border-color:rgba(216,178,76,.65) !important;
}
.vplayer,
.vmatch-code,
.vresult{
  color:inherit !important;
}
.vmatch.final-node .vplayer,
.vmatch.final-node .vmatch-code,
.vmatch.final-node .vresult{
  color:#ffffff !important;
}

.triangle-lines path{
  stroke:var(--gcsb-gold) !important;
}
.triangle-lines text{
  fill:#f1d77a !important;
}

.danger-zone,
.bulk-delete-top{
  background:linear-gradient(180deg, rgba(255,235,235,.96), rgba(247,244,232,.92)) !important;
  border-color:rgba(184,59,59,.45) !important;
}
.danger-zone h2,
.bulk-delete-top h2{
  color:#731c1c !important;
}
.btn.danger{
  background:rgba(184,59,59,.18) !important;
  color:#731c1c !important;
  border-color:rgba(184,59,59,.55) !important;
}
.btn.danger:hover{
  background:rgba(184,59,59,.28) !important;
}

.footer{
  color:rgba(255,255,255,.70) !important;
}

@media(max-width:900px){
  .mobile-toggle-btn{
    background:rgba(255,255,255,.10) !important;
    color:#fff !important;
  }
  .mobile-toggle-btn.active{
    background:linear-gradient(180deg, var(--gcsb-gold-2), var(--gcsb-gold)) !important;
    color:#071421 !important;
  }
}


/* v36: mockup-like landing page */
.gcsb36-body{
  margin:0;
  background:
    radial-gradient(circle at 12% 0%, rgba(216,178,76,.14), transparent 28%),
    radial-gradient(circle at 88% 6%, rgba(33,78,121,.32), transparent 34%),
    linear-gradient(135deg,#03101c,#08213b 54%,#020b14);
  color:#fff;
}
.mp36-header{
  background:
    radial-gradient(circle at 80% 40%, rgba(255,225,180,.18), transparent 28%),
    linear-gradient(180deg, #041527 0%, #07203a 55%, #071a2f 100%);
  border-bottom:1px solid rgba(216,178,76,.42);
}
.mp36-topbar{
  max-width:1280px;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:18px 22px;
}
.mp36-brand{
  display:flex;
  align-items:center;
  gap:16px;
  min-width:280px;
}
.mp36-brand-mark{
  width:62px;
  height:78px;
  border:2px solid rgba(216,178,76,.9);
  border-radius:12px 12px 18px 18px;
  color:#d8b24c;
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.04);
}
.mp36-crown{
  position:absolute;
  top:-13px;
  font-size:18px;
  color:#d8b24c;
}
.mp36-brand-letter{
  font-family:Georgia,serif;
  font-size:36px;
  font-weight:700;
  line-height:1;
}
.mp36-brand-text{
  line-height:1.08;
  color:#fff;
}
.mp36-brand-small,
.mp36-brand-big{
  letter-spacing:.08em;
}
.mp36-brand-small{ font-size:18px; }
.mp36-brand-big{ font-size:21px; font-weight:700; }
.mp36-brand-tiny{ font-size:13px; color:#e6cc8d; margin-top:4px; letter-spacing:.08em; }

.mp36-nav{
  display:flex;
  gap:34px;
  align-items:center;
  justify-content:center;
  flex:1;
}
.mp36-nav a{
  color:#f6f8fb;
  text-decoration:none;
  text-transform:uppercase;
  letter-spacing:.06em;
  font-size:14px;
  opacity:.95;
}
.mp36-nav a:hover{ color:#f1d77a; }

.mp36-login-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:0 18px;
  border:1px solid rgba(216,178,76,.8);
  border-radius:14px;
  color:#fff;
  text-decoration:none;
  background:rgba(255,255,255,.03);
  box-shadow:0 12px 25px rgba(0,0,0,.18);
  font-weight:600;
}
.mp36-login-btn:hover{ background:rgba(216,178,76,.12); }

.mp36-hero{
  max-width:1280px;
  margin:0 auto;
  min-height:460px;
  display:grid;
  grid-template-columns: 1.05fr .95fr;
  align-items:stretch;
  gap:28px;
  padding:28px 22px 20px;
}
.mp36-hero-left{
  padding:20px 0 10px;
}
.mp36-hero-left h1{
  margin:12px 0 0;
  font-family:Georgia,serif;
  font-weight:700;
  font-size:76px;
  line-height:.94;
  color:#f8f5ef;
  letter-spacing:-.02em;
}
.mp36-hero-line{
  width:44px;
  height:4px;
  background:#d8b24c;
  border-radius:999px;
  margin:20px 0 18px;
}
.mp36-hero-left p{
  font-size:20px;
  color:#e7b44b;
  margin:0 0 26px;
}
.mp36-cta-row{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
}
.mp36-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:58px;
  padding:0 28px;
  border-radius:14px;
  border:1px solid rgba(216,178,76,.75);
  color:#fff;
  text-decoration:none;
  background:rgba(6,18,31,.52);
  box-shadow:0 12px 24px rgba(0,0,0,.18);
  font-size:17px;
  font-weight:600;
}
.mp36-btn:hover{
  background:rgba(216,178,76,.14);
}
.mp36-btn-gold{
  background:linear-gradient(180deg,#e4c16b,#cfa647);
  color:#10202f;
  border-color:#f1d77a;
  font-weight:700;
}

.mp36-hero-right{
  position:relative;
  border-radius:0 0 0 0;
  overflow:hidden;
  background:
    radial-gradient(circle at 86% 14%, rgba(255,230,190,.34), transparent 24%),
    linear-gradient(135deg, rgba(9,27,48,.35), rgba(18,46,74,.28)),
    linear-gradient(180deg, rgba(20,41,58,.55), rgba(10,23,35,.55));
  min-height:420px;
}
.mp36-hero-right:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 68% 78%, rgba(24,56,33,.78), transparent 26%),
    radial-gradient(circle at 78% 82%, rgba(115,135,80,.38), transparent 36%),
    radial-gradient(circle at 84% 78%, rgba(225,210,170,.12), transparent 42%);
  pointer-events:none;
}
.mp36-bracket-ghost{
  position:absolute;
  inset:34px 26px auto 26px;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:24px;
  z-index:2;
}
.mp36-ghost-left,
.mp36-ghost-right{
  display:grid;
  gap:14px;
}
.mp36-ghost-left span,
.mp36-ghost-right span{
  display:block;
  height:44px;
  border:2px solid rgba(216,178,76,.48);
  border-radius:10px;
  background:rgba(255,255,255,.02);
}
.mp36-ghost-mid{
  display:flex;
  align-items:center;
  justify-content:center;
}
.mp36-ghost-crest{
  width:84px;
  height:104px;
  border:2px solid rgba(216,178,76,.82);
  border-radius:14px 14px 24px 24px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:Georgia,serif;
  font-size:46px;
  color:#d8b24c;
  background:rgba(5,18,30,.22);
  position:relative;
}
.mp36-ghost-crest:before{
  content:"♛";
  position:absolute;
  top:-15px;
  font-size:18px;
  color:#d8b24c;
}
.mp36-golfball-wrap{
  position:absolute;
  right:82px;
  bottom:28px;
  z-index:2;
}
.mp36-golfball{
  width:170px;
  height:170px;
  border-radius:50%;
  background:
    radial-gradient(circle at 32% 28%, #ffffff 0%, #ecf0f4 42%, #c6d0db 100%);
  box-shadow:0 28px 48px rgba(0,0,0,.35);
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:Georgia,serif;
  font-size:56px;
  color:#0b2237;
  border:1px solid rgba(255,255,255,.75);
  position:relative;
}
.mp36-golfball:before{
  content:"♛";
  position:absolute;
  top:46px;
  font-size:14px;
  color:#0b2237;
}

.mp36-main{
  max-width:1280px;
  margin:0 auto;
  padding:18px 22px 26px;
}
.mp36-info-cards{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
  margin-top:-4px;
}
.mp36-info-card{
  background:linear-gradient(180deg,#fffdf8,#efe9da);
  border:1px solid rgba(216,178,76,.4);
  border-radius:18px;
  padding:22px 24px;
  box-shadow:0 18px 38px rgba(0,0,0,.18);
  color:#0a1a2a;
  display:flex;
  align-items:center;
  gap:20px;
  min-height:120px;
}
.mp36-info-icon{
  width:68px;
  height:68px;
  border-radius:50%;
  border:2px solid rgba(180,138,36,.65);
  color:#b78a1c;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:28px;
  flex:0 0 68px;
}
.mp36-info-label{
  font-size:13px;
  letter-spacing:.08em;
  color:#34465b;
  text-transform:uppercase;
  font-weight:700;
}
.mp36-info-value{
  font-family:Georgia,serif;
  font-size:28px;
  line-height:1.15;
  margin-top:4px;
}
.mp36-info-sub{
  margin-top:3px;
  color:#223345;
  font-size:15px;
}

.mp36-grid-3{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
  margin-top:18px;
}
.mp36-dark-card{
  background:
    linear-gradient(180deg, rgba(5,19,32,.92), rgba(8,28,47,.96));
  border:1px solid rgba(216,178,76,.4);
  border-radius:16px;
  padding:18px 22px 18px;
  box-shadow:0 18px 42px rgba(0,0,0,.22);
  color:#fff;
}
.mp36-card-title,
.mp36-section-title{
  color:#dfb14a;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:15px;
  font-weight:700;
  margin-bottom:16px;
}
.mp36-player-chip-list{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.mp36-player-chip{
  display:inline-flex;
  align-items:center;
  padding:7px 12px;
  border:1px solid rgba(216,178,76,.58);
  border-radius:10px;
  background:rgba(255,255,255,.03);
  color:#fff;
  font-size:14px;
  white-space:nowrap;
}
.mp36-player-chip:before{
  content:"◔";
  margin-right:7px;
  color:#d8b24c;
  font-size:13px;
}
.mp36-linkline{
  margin-top:14px;
  color:#dfb14a;
  font-size:15px;
}
.mp36-list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:12px;
}
.mp36-list li{
  color:#f3f5f7;
  line-height:1.5;
  padding-left:26px;
  position:relative;
}
.mp36-list li:before{
  content:"✓";
  position:absolute;
  left:0;
  top:0;
  color:#d8b24c;
  font-weight:700;
}
.mp36-list li strong{ color:#e6be60; }
.mp36-muted-light{ color:rgba(255,255,255,.7); }

.mp36-steps-section{
  margin-top:18px;
  background:linear-gradient(180deg, rgba(4,19,33,.94), rgba(7,25,41,.98));
  border:1px solid rgba(216,178,76,.38);
  border-radius:16px;
  padding:18px 22px 16px;
  box-shadow:0 18px 42px rgba(0,0,0,.22);
}
.mp36-steps-grid{
  display:grid;
  grid-template-columns:1fr auto 1fr auto 1fr;
  gap:18px;
  align-items:center;
}
.mp36-step-card{
  display:grid;
  grid-template-columns:72px 1fr;
  gap:16px;
  align-items:center;
  min-height:118px;
  border:1px solid rgba(216,178,76,.32);
  background:linear-gradient(180deg, rgba(12,34,56,.95), rgba(8,27,45,.95));
  border-radius:16px;
  padding:18px;
}
.mp36-step-badge{
  width:54px;
  height:54px;
  border-radius:50%;
  background:linear-gradient(180deg,#e4c16b,#cfa647);
  color:#0e1f30;
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:Georgia,serif;
  font-size:34px;
  font-weight:700;
}
.mp36-step-title{
  color:#fff;
  font-size:18px;
  font-weight:700;
  margin-bottom:6px;
}
.mp36-step-content p{
  margin:0;
  color:rgba(255,255,255,.78);
  line-height:1.45;
}
.mp36-step-arrow{
  color:#d8b24c;
  font-size:44px;
  font-weight:700;
}

.mp36-running{
  margin-top:22px;
}
.mp36-running-card{
  background:linear-gradient(180deg,#fffdf8,#efe9da);
  color:#0b1d2f;
  border:1px solid rgba(216,178,76,.36);
  border-radius:18px;
  padding:24px;
}
.mp36-running-card h2{
  margin-top:0;
}
.mp36-running-list{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
  margin-top:18px;
}
.mp36-running-round{
  background:linear-gradient(180deg,#fffdf8,#efe9da);
  color:#0b1d2f;
  border:1px solid rgba(216,178,76,.36);
  border-radius:18px;
  padding:18px;
}
.mp36-running-round h3{
  margin:0 0 12px;
}
.mp36-running-group h4{
  margin:15px 0 8px;
}
.mp36-running-item{
  background:#fff;
  border:1px solid rgba(11,29,47,.08);
  border-radius:12px;
  padding:10px 12px;
  margin-bottom:10px;
}
.mp36-running-result{
  margin-top:6px;
  color:#624900;
  font-weight:600;
}

.mp36-footer{
  margin-top:24px;
  border-top:1px solid rgba(216,178,76,.45);
  background:linear-gradient(180deg,#041627,#051321);
}
.mp36-footer-inner{
  max-width:1280px;
  margin:0 auto;
  padding:22px 22px 30px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
}
.mp36-footer-left{
  display:flex;
  align-items:center;
  gap:18px;
}
.mp36-footer-castle{
  width:84px;
  height:46px;
  border:1px solid rgba(216,178,76,.42);
  border-radius:8px;
  color:#d8b24c;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:28px;
}
.mp36-footer-club{
  color:#e1ba60;
  font-family:Georgia,serif;
  font-size:18px;
  letter-spacing:.05em;
}
.mp36-footer-slogan{
  color:rgba(255,255,255,.82);
  margin-top:4px;
}
.mp36-footer-right{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:26px;
  color:rgba(255,255,255,.78);
  font-size:14px;
}

@media (max-width: 1120px){
  .mp36-hero{
    grid-template-columns:1fr;
  }
  .mp36-grid-3,
  .mp36-info-cards,
  .mp36-running-list{
    grid-template-columns:1fr;
  }
  .mp36-steps-grid{
    grid-template-columns:1fr;
  }
  .mp36-step-arrow{ display:none; }
  .mp36-nav{ display:none; }
}
@media (max-width: 720px){
  .mp36-topbar{
    flex-wrap:wrap;
    justify-content:center;
  }
  .mp36-brand{
    min-width:auto;
  }
  .mp36-hero-left h1{
    font-size:50px;
  }
  .mp36-cta-row{
    flex-direction:column;
    align-items:stretch;
  }
  .mp36-btn{
    width:100%;
  }
  .mp36-footer-inner{
    flex-direction:column;
    align-items:flex-start;
  }
  .mp36-footer-right{
    justify-content:flex-start;
  }
}


/* v37: closer to original mockup */
.mp37-header{
  background:
    radial-gradient(circle at 77% 16%, rgba(255,214,168,.18), transparent 18%),
    linear-gradient(180deg,#031220 0%,#061d34 56%,#04172a 100%);
}
.mp37-topbar{
  padding-top:18px;
  padding-bottom:18px;
}
.mp37-nav a{
  font-size:14px;
  letter-spacing:.08em;
}
.mp37-login-btn{
  gap:10px;
  padding:0 22px;
}
.mp37-login-btn svg{
  width:18px;height:18px;
}
.mp37-hero{
  grid-template-columns: 0.98fr 1.02fr;
  min-height:560px;
  gap:24px;
  padding-top:6px;
  padding-bottom:18px;
}
.mp37-hero-left{
  padding-top:38px;
}
.mp37-hero-left h1{
  font-size:79px;
  line-height:.92;
  margin-top:0;
}
.mp37-cta-row a svg{
  width:18px;height:18px;flex:0 0 18px;
}
.mp37-btn-gold svg{
  color:#13273a;
}
.mp37-hero-visual{
  position:relative;
  min-height:462px;
  border-radius:0;
  overflow:hidden;
  background:
    linear-gradient(90deg, rgba(5,18,31,.82) 0%, rgba(5,18,31,.45) 35%, rgba(255,255,255,.04) 100%),
    url('assets/mockup_hero_right.png');
  background-size:cover;
  background-position:center center;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.02);
}
.mp37-hero-overlay{
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 80% 22%, rgba(255,239,214,.22), transparent 18%),
    linear-gradient(90deg, rgba(4,18,31,.30), rgba(4,18,31,.00) 30%);
  pointer-events:none;
}
.mp37-main{
  padding-top:0;
}
.mp37-info-cards{
  margin-top:0;
}
.mp37-info-card{
  gap:18px;
  min-height:118px;
}
.mp37-icon-circle{
  width:74px;
  height:74px;
  border-radius:50%;
  border:2px solid #c9a34a;
  color:#c9a34a;
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 74px;
}
.mp37-icon-circle svg{
  width:31px;height:31px;
}
.mp37-grid-3{
  margin-top:16px;
}
.mp37-dark-card{
  min-height:232px;
}
.mp37-card-heading{
  display:flex;
  align-items:center;
  gap:10px;
  color:#dfb14a;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:14px;
  font-weight:700;
  margin-bottom:16px;
}
.mp37-card-heading svg{
  width:20px;height:20px;flex:0 0 20px;
}
.mp37-chip-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.mp37-chip{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:34px;
  padding:0 12px;
  border:1px solid rgba(216,178,76,.62);
  border-radius:9px;
  background:rgba(255,255,255,.02);
  color:#fff;
  font-size:14px;
  white-space:nowrap;
}
.mp37-chip svg{
  width:14px;height:14px;flex:0 0 14px;color:#d8b24c;
}
.mp37-more-link{
  margin-top:16px;
  color:#dfb14a;
  font-size:15px;
}
.mp37-more-link span{
  margin-left:6px;
}
.mp37-check-list,
.mp37-bullet-list{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:13px;
}
.mp37-check-list li,
.mp37-bullet-list li{
  position:relative;
  padding-left:30px;
  color:#f4f6f8;
  line-height:1.55;
  font-size:16px;
}
.mp37-check-list li:before{
  content:"✓";
  position:absolute;
  left:0;
  top:0;
  color:#e0b64d;
  font-size:22px;
  line-height:1;
  font-weight:700;
}
.mp37-bullet-list li:before{
  content:"•";
  position:absolute;
  left:4px;
  top:-2px;
  color:#e0b64d;
  font-size:24px;
  line-height:1;
}
.mp37-bullet-list strong{
  color:#e0b64d;
}
.mp37-steps-section{
  margin-top:12px;
  padding-top:16px;
}
.mp37-steps-heading{
  margin-bottom:16px;
}
.mp37-steps-row{
  display:grid;
  grid-template-columns:1fr auto 1fr auto 1fr;
  gap:16px;
  align-items:center;
}
.mp37-step-box{
  border:1px solid rgba(216,178,76,.35);
  background:linear-gradient(180deg, rgba(10,33,56,.92), rgba(7,25,44,.95));
  border-radius:14px;
  min-height:114px;
  padding:16px 18px;
  display:grid;
  grid-template-columns:70px 64px 1fr;
  align-items:center;
  gap:14px;
}
.mp37-step-num{
  width:58px;height:58px;border-radius:50%;
  background:linear-gradient(180deg,#e4c16b,#cfa647);
  color:#102231;
  display:flex;align-items:center;justify-content:center;
  font-family:Georgia,serif;font-size:34px;font-weight:700;
}
.mp37-step-icon{
  color:#d8b24c;
}
.mp37-step-icon svg{
  width:44px;height:44px;
}
.mp37-step-text{
  color:#fff;
}
.mp37-step-title{
  color:#fff;
  font-size:18px;
  font-weight:700;
  margin-bottom:4px;
}
.mp37-step-text p{
  margin:0;
  color:rgba(255,255,255,.82);
  line-height:1.45;
  font-size:15px;
}
.mp37-step-arrow{
  color:#d8b24c;
  font-size:54px;
  line-height:1;
  font-weight:300;
}
.mp37-footer{
  margin-top:12px;
}
.mp37-footer-inner{
  padding-top:22px;
  padding-bottom:28px;
}
.mp37-footer-left{
  display:flex;
  align-items:center;
  gap:18px;
}
.mp37-castle-line{
  width:220px;height:64px;flex:0 0 220px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 280 80' fill='none' stroke='%23cfa647' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 64h260'/%3E%3Cpath d='M24 64V46h18v18M42 46V26h14v38M56 64V34h18v30M74 64V20h20v44M94 64V34h20v30M114 64V28h16v36M130 64V18h20v46M150 64V28h18v36M168 64V22h22v42M190 64V34h18v30M208 64V24h18v40M226 64V42h18v22M244 64V50h16v14'/%3E%3Cpath d='M68 20l8-10 8 10M138 18l10-12 10 12M214 24l8-10 8 10'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-size:contain;
  background-position:left center;
  opacity:.95;
}
.mp37-footer-right{
  display:flex;
  align-items:flex-start;
  gap:34px;
  flex-wrap:wrap;
}
.mp37-footer-right span{
  display:flex;
  align-items:flex-start;
  gap:10px;
  color:rgba(255,255,255,.84);
  font-size:14px;
  line-height:1.45;
}
.mp37-footer-right svg{
  width:20px;height:20px;flex:0 0 20px;color:#d8b24c;margin-top:1px;
}

@media (max-width: 1200px){
  .mp37-chip-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 1120px){
  .mp37-hero{ grid-template-columns:1fr; }
  .mp37-steps-row{ grid-template-columns:1fr; }
  .mp37-step-arrow{ display:none; }
}
@media (max-width: 760px){
  .mp37-chip-grid{ grid-template-columns:1fr; }
  .mp37-step-box{ grid-template-columns:58px 52px 1fr; }
  .mp37-hero-left h1{ font-size:54px; }
  .mp37-hero-visual{ min-height:320px; }
}

/* v38: exact mockup alignment */
.mp38-body{
  background:
    radial-gradient(circle at 80% -5%, rgba(43,72,99,.28), transparent 34%),
    linear-gradient(180deg,#051528 0%, #061a30 54%,#03101f 100%) !important;
}
.mp38-header{
  background:linear-gradient(180deg,#041426 0%, #061b31 100%) !important;
  border-bottom:1px solid rgba(216,178,76,.58) !important;
}
.mp38-topbar{
  max-width:1340px !important;
  min-height:94px !important;
  padding:0 52px !important;
  display:flex !important;
  align-items:center !important;
  gap:42px !important;
}
.mp38-logo{
  display:flex !important;
  align-items:center !important;
  flex:0 0 300px !important;
  text-decoration:none !important;
}
.mp38-logo img{
  width:260px !important;
  height:auto !important;
  display:block !important;
  object-fit:contain !important;
}
.mp38-nav{
  display:flex !important;
  flex:1 !important;
  justify-content:center !important;
  gap:42px !important;
}
.mp38-nav a{
  font-size:14px !important;
  color:#fff !important;
  letter-spacing:.075em !important;
  font-weight:650 !important;
  opacity:.96 !important;
}
.mp38-login-btn{
  height:48px !important;
  min-height:48px !important;
  border-radius:13px !important;
  padding:0 22px !important;
  font-size:16px !important;
  font-weight:700 !important;
  color:#fff !important;
  border-color:#d8b24c !important;
  background:rgba(5,18,31,.22) !important;
}
.mp38-login-btn svg{ width:19px !important; height:19px !important; color:#d8b24c !important; }

.mp38-hero{
  max-width:1340px !important;
  min-height:425px !important;
  grid-template-columns: 640px 1fr !important;
  gap:32px !important;
  padding:42px 52px 20px !important;
  align-items:start !important;
}
.mp38-hero-left{ padding:0 !important; position:relative !important; z-index:2 !important; }
.mp38-hero-left h1{
  font-family:Georgia, "Times New Roman", serif !important;
  font-size:64px !important;
  line-height:1.03 !important;
  letter-spacing:-.025em !important;
  color:#fbf7ef !important;
  text-shadow:0 4px 0 rgba(101,54,17,.25), 0 18px 42px rgba(0,0,0,.36) !important;
  margin:0 !important;
  max-width:620px !important;
}
.mp38-hero-left p{
  color:#f1b941 !important;
  font-size:18px !important;
  line-height:1.4 !important;
  margin:12px 0 27px !important;
  max-width:620px !important;
  font-weight:500 !important;
}
.mp38-hero-line{
  width:43px !important;
  height:3px !important;
  background:#d8b24c !important;
  margin:16px 0 12px !important;
}
.mp38-cta-row{
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:wrap !important;
  gap:14px !important;
  max-width:640px !important;
}
.mp38-cta-row .mp36-btn{
  min-height:58px !important;
  height:58px !important;
  border-radius:13px !important;
  padding:0 28px !important;
  min-width:220px !important;
  gap:11px !important;
  font-size:16px !important;
  font-weight:700 !important;
  background:rgba(4,17,30,.62) !important;
  color:#fff !important;
  border:1px solid #d8b24c !important;
  box-shadow:none !important;
}
.mp38-cta-row .mp38-btn-gold{
  background:linear-gradient(180deg,#e9c86f,#cfa647) !important;
  color:#071421 !important;
  border-color:#e6c869 !important;
}
.mp38-cta-row .mp36-btn svg{ width:19px !important; height:19px !important; color:currentColor !important; }

.mp38-hero-visual{
  position:relative !important;
  min-height:425px !important;
  width:100% !important;
  overflow:hidden !important;
  background-image:
    linear-gradient(90deg, rgba(4,18,31,.25), rgba(4,18,31,.02) 30%, rgba(255,255,255,.00)),
    url('mockup_hero_right_v38.jpg') !important;
  background-size:cover !important;
  background-position:center center !important;
  border-radius:0 !important;
  box-shadow:none !important;
}
.mp38-hero-visual:after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:
    radial-gradient(circle at 88% 2%, rgba(255,226,179,.20), transparent 22%),
    linear-gradient(90deg, rgba(3,16,28,.08), transparent 35%) !important;
  pointer-events:none !important;
}

.mp38-main{ max-width:1340px !important; padding:0 52px 0 !important; }
.mp38-info-cards{
  display:grid !important;
  grid-template-columns:repeat(3,1fr) !important;
  gap:12px !important;
  margin-top:0 !important;
}
.mp38-info-card{
  border-radius:11px !important;
  min-height:92px !important;
  padding:18px 22px !important;
  background:linear-gradient(180deg,#fffdf8,#efe6d2) !important;
  border:1px solid rgba(216,178,76,.42) !important;
  box-shadow:0 10px 26px rgba(0,0,0,.16) !important;
}
.mp38-icon-circle{
  width:58px !important;
  height:58px !important;
  flex-basis:58px !important;
  color:#b58b2a !important;
  border-color:#c9a34a !important;
}
.mp38-icon-circle svg{ width:28px !important; height:28px !important; }
.mp38-info-card .mp36-info-label{
  font-size:12px !important;
  letter-spacing:.085em !important;
  color:#10223a !important;
  font-weight:800 !important;
}
.mp38-info-card .mp36-info-value{
  font-size:27px !important;
  color:#081a2d !important;
  margin-top:3px !important;
}
.mp38-info-card .mp36-info-sub{
  color:#101b2a !important;
  font-size:14px !important;
}
.mp38-grid-3{
  display:grid !important;
  grid-template-columns:1fr 1fr 1fr !important;
  gap:12px !important;
  margin-top:13px !important;
}
.mp38-dark-card{
  background:linear-gradient(180deg,rgba(4,19,34,.98),rgba(5,22,39,.98)) !important;
  border:1px solid rgba(216,178,76,.42) !important;
  border-radius:12px !important;
  box-shadow:none !important;
  min-height:190px !important;
  padding:18px 22px !important;
}
.mp38-card-heading{
  color:#d8b24c !important;
  font-size:15px !important;
  letter-spacing:.09em !important;
  margin-bottom:14px !important;
}
.mp38-card-heading svg{
  color:#d8b24c !important;
  width:21px !important;
  height:21px !important;
}
.mp38-chip-grid{ grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:9px !important; }
.mp38-chip{
  min-height:30px !important;
  padding:0 10px !important;
  border-radius:7px !important;
  color:#fff !important;
  border-color:rgba(216,178,76,.64) !important;
  background:rgba(5,18,31,.48) !important;
  font-size:13px !important;
  font-weight:500 !important;
}
.mp38-chip svg{ color:#d8b24c !important; }
.mp38-more-link{ color:#d8b24c !important; margin-top:12px !important; }
.mp38-check-list,.mp38-bullet-list{ gap:9px !important; }
.mp38-check-list li,.mp38-bullet-list li{
  color:#fff !important;
  font-size:14px !important;
  line-height:1.52 !important;
  padding-left:28px !important;
}
.mp38-check-list li:before{ color:#e2b84c !important; font-size:21px !important; }
.mp38-bullet-list li:before{ color:#e2b84c !important; }
.mp38-bullet-list strong{ color:#e2b84c !important; }
.mp38-steps-section{
  margin-top:12px !important;
  border-radius:12px !important;
  background:linear-gradient(180deg,rgba(5,21,38,.98),rgba(5,21,38,.98)) !important;
  border:1px solid rgba(216,178,76,.42) !important;
  padding:15px 20px 14px !important;
  box-shadow:none !important;
}
.mp38-steps-heading{ margin-bottom:12px !important; }
.mp38-steps-row{
  display:grid !important;
  grid-template-columns:1fr 40px 1fr 40px 1fr !important;
  gap:12px !important;
  align-items:center !important;
}
.mp38-step-box{
  min-height:96px !important;
  padding:13px 16px !important;
  border-radius:11px !important;
  grid-template-columns:58px 52px 1fr !important;
  gap:12px !important;
  background:linear-gradient(180deg,rgba(10,35,58,.98),rgba(7,26,45,.98)) !important;
  border-color:rgba(216,178,76,.30) !important;
}
.mp38-step-num{
  width:52px !important;
  height:52px !important;
  font-size:30px !important;
}
.mp38-step-icon svg{ width:40px !important; height:40px !important; }
.mp38-step-text .mp37-step-title{ font-size:17px !important; }
.mp38-step-text p{
  font-size:13px !important;
  color:rgba(255,255,255,.82) !important;
}
.mp38-step-arrow{
  font-size:42px !important;
  color:#d8b24c !important;
}
.mp38-footer{
  border-top:1px solid rgba(216,178,76,.58) !important;
  margin-top:20px !important;
  background:linear-gradient(180deg,#041527,#041321) !important;
}
.mp38-footer-inner{
  max-width:1340px !important;
  padding:24px 52px 30px !important;
}
.mp38-castle-line{
  width:240px !important;
  height:72px !important;
  flex:0 0 240px !important;
  background-image:url('mockup_footer_castle_v38.png') !important;
  background-size:contain !important;
  background-repeat:no-repeat !important;
  background-position:left center !important;
}
.mp36-footer-club{ color:#e4be60 !important; }
.mp36-footer-slogan{ color:#fff !important; }

@media (max-width: 1200px){
  .mp38-topbar{ padding-left:26px !important; padding-right:26px !important; }
  .mp38-hero{ grid-template-columns:1fr !important; padding-left:26px !important; padding-right:26px !important; }
  .mp38-main{ padding-left:26px !important; padding-right:26px !important; }
  .mp38-info-cards,.mp38-grid-3{ grid-template-columns:1fr !important; }
  .mp38-nav{ display:none !important; }
  .mp38-logo{ flex-basis:auto !important; }
}
@media (max-width: 760px){
  .mp38-topbar{ flex-direction:column !important; align-items:flex-start !important; }
  .mp38-logo img{ width:240px !important; }
  .mp38-hero-left h1{ font-size:48px !important; }
  .mp38-cta-row{ flex-direction:column !important; }
  .mp38-cta-row .mp36-btn{ width:100% !important; min-width:0 !important; }
  .mp38-hero-visual{ min-height:300px !important; }
  .mp38-chip-grid{ grid-template-columns:1fr !important; }
  .mp38-steps-row{ grid-template-columns:1fr !important; }
  .mp38-step-arrow{ display:none !important; }
}


/* v39: exact mockup SVG icon assets */
.mp39-cta-icon{
  width:26px !important;
  height:26px !important;
  object-fit:contain !important;
  flex:0 0 26px !important;
  display:block !important;
}
.mp39-cta-icon-tree{
  width:30px !important;
  flex-basis:30px !important;
}
.mp39-top-login-icon{
  width:22px !important;
  height:22px !important;
  object-fit:contain !important;
  flex:0 0 22px !important;
  display:block !important;
}
.mp39-info-icon{
  width:74px !important;
  height:74px !important;
  object-fit:contain !important;
  flex:0 0 74px !important;
  display:block !important;
}
.mp38-icon-circle{
  display:none !important;
}
.mp39-section-icon{
  width:27px !important;
  height:27px !important;
  object-fit:contain !important;
  flex:0 0 27px !important;
  display:block !important;
}
.mp39-chip-icon{
  width:17px !important;
  height:17px !important;
  object-fit:contain !important;
  flex:0 0 17px !important;
  display:block !important;
}
.mp39-step-icon-img{
  width:52px !important;
  height:58px !important;
  object-fit:contain !important;
  display:block !important;
}
.mp38-step-icon svg,
.mp38-card-heading > svg,
.mp38-chip > svg,
.mp38-cta-row .mp36-btn > svg{
  display:none !important;
}


/* v40: echte saubere Vektor-Icons statt Screenshot-Crops */
.mp39-cta-icon,
.mp39-top-login-icon,
.mp39-info-icon,
.mp39-section-icon,
.mp39-chip-icon,
.mp39-step-icon-img,
.mp40-chip-icon{
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

.mp39-cta-icon{ width:22px !important; height:22px !important; }
.mp39-cta-icon-tree{ width:24px !important; height:24px !important; flex-basis:24px !important; }
.mp39-top-login-icon{ width:19px !important; height:19px !important; }

.mp39-info-icon{
  width:58px !important;
  height:58px !important;
  flex:0 0 58px !important;
}

.mp39-section-icon{
  width:22px !important;
  height:22px !important;
  flex:0 0 22px !important;
}

.mp40-chip-icon{
  width:15px !important;
  height:15px !important;
  flex:0 0 15px !important;
  color:#D8B24C !important;
}

.mp39-step-icon-img{
  width:44px !important;
  height:48px !important;
}

.mp38-chip{
  display:inline-flex !important;
  align-items:center !important;
  gap:8px !important;
}

.mp38-step-box{
  align-items:center !important;
}

.mp38-step-icon{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

.mp38-card-heading,
.mp37-card-heading{
  align-items:center !important;
}

.mp38-info-card{
  align-items:center !important;
}

/* neutralize old image-crop specific styles that made things ugly */
.mp38-icon-circle{ display:none !important; }


/* v41: Icons sichtbar mit festen SVG-Farben */
.mp39-cta-icon,
.mp39-top-login-icon,
.mp39-info-icon,
.mp39-section-icon,
.mp40-chip-icon,
.mp39-step-icon-img{
  display:inline-block !important;
  opacity:1 !important;
  visibility:visible !important;
  filter:none !important;
}
.mp39-cta-icon{ width:22px !important; height:22px !important; }
.mp39-top-login-icon{ width:20px !important; height:20px !important; }
.mp39-info-icon{ width:58px !important; height:58px !important; }
.mp39-section-icon{ width:22px !important; height:22px !important; }
.mp40-chip-icon{ width:15px !important; height:15px !important; }
.mp39-step-icon-img{ width:46px !important; height:52px !important; }


/* v45: exakte Landingpage als Designbild mit funktionalen Hotspots */
.landing-exact-v45-body{
  margin:0 !important;
  min-height:100vh !important;
  background:#041426 !important;
  overflow-x:auto !important;
}

.landing-exact-v45-wrap{
  width:100% !important;
  min-height:100vh !important;
  display:flex !important;
  justify-content:center !important;
  align-items:flex-start !important;
  background:#041426 !important;
}

.landing-exact-v45-stage{
  position:relative !important;
  width:min(100vw, 1448px) !important;
  aspect-ratio:1448 / 1086 !important;
  overflow:hidden !important;
  background:#041426 !important;
}

.landing-exact-v45-img{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  display:block !important;
  user-select:none !important;
  -webkit-user-drag:none !important;
}

.landing-hotspot{
  position:absolute !important;
  display:block !important;
  z-index:5 !important;
  text-indent:-9999px !important;
  overflow:hidden !important;
  background:rgba(255,255,255,0) !important;
  border-radius:14px !important;
}

/* Koordinaten bezogen auf das 1448x1086 Mockup */
.hotspot-register{ left:3.8%; top:31.8%; width:15.4%; height:5.4%; }
.hotspot-login-main{ left:20.45%; top:31.8%; width:15.45%; height:5.4%; }
.hotspot-tree-main{ left:37.05%; top:31.8%; width:16.0%; height:5.4%; }

.hotspot-login-top{ left:79.2%; top:2.4%; width:14.0%; height:4.4%; }
.hotspot-tree-nav{ left:57.0%; top:3.2%; width:9.0%; height:2.8%; }
.hotspot-participants{ left:5.2%; top:68.4%; width:14.5%; height:3.0%; }

.landing-hotspot:focus-visible{
  outline:3px solid #f1d77a !important;
  outline-offset:2px !important;
  background:rgba(241,215,122,.12) !important;
}

@media(max-width:900px){
  .landing-exact-v45-stage{
    width:100vw !important;
    min-width:900px !important;
  }
  .landing-exact-v45-wrap{
    justify-content:flex-start !important;
  }
}


/* v46: Mockup-Bild mit echten dynamischen Daten-Overlays */
.landing-exact-v46-body{
  margin:0 !important;
  min-height:100vh !important;
  background:#041426 !important;
  overflow-x:auto !important;
}

.landing-exact-v46-wrap{
  width:100% !important;
  min-height:100vh !important;
  display:flex !important;
  justify-content:center !important;
  align-items:flex-start !important;
  background:#041426 !important;
}

.landing-exact-v46-stage{
  position:relative !important;
  width:min(100vw, 1448px) !important;
  aspect-ratio:1448 / 1086 !important;
  overflow:hidden !important;
  background:#041426 !important;
}

.landing-exact-v46-img{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  display:block !important;
  user-select:none !important;
  -webkit-user-drag:none !important;
}

/* Info-Text überdeckt die statischen Mockup-Termine */
.v46-info-card{
  position:absolute !important;
  z-index:4 !important;
  color:#081a2d !important;
  background:linear-gradient(180deg,#fffdf8,#f0e7d5) !important;
  border-radius:9px !important;
  pointer-events:none !important;
  padding:1.25% 0 0 9.2% !important;
  box-sizing:border-box !important;
}

.v46-info-card-1{ left:1.95%; top:40.55%; width:31.7%; height:10.45%; }
.v46-info-card-2{ left:34.55%; top:40.55%; width:31.7%; height:10.45%; }
.v46-info-card-3{ left:67.1%; top:40.55%; width:31.7%; height:10.45%; }

.v46-info-label{
  font-size:clamp(10px, .88vw, 13px) !important;
  letter-spacing:.09em !important;
  font-weight:900 !important;
  color:#10223a !important;
}

.v46-info-date{
  margin-top:.25em !important;
  font-family:Georgia, "Times New Roman", serif !important;
  font-size:clamp(18px, 1.85vw, 28px) !important;
  line-height:1.05 !important;
  color:#081a2d !important;
}

.v46-info-time{
  margin-top:.25em !important;
  font-size:clamp(10px, .95vw, 15px) !important;
  color:#111c2b !important;
}

/* Teilnehmerbox: echte DB-Namen überdecken die Mockup-Fantasienamen */
.v46-participants-card{
  position:absolute !important;
  z-index:4 !important;
  left:3.9% !important;
  top:52.8% !important;
  width:28.0% !important;
  height:18.1% !important;
  box-sizing:border-box !important;
  padding:3.0% 1.55% 1.25% !important;
  background:linear-gradient(180deg,rgba(5,21,38,.985),rgba(5,21,38,.985)) !important;
  border:1px solid rgba(216,178,76,.42) !important;
  border-radius:12px !important;
  color:#fff !important;
}

.v46-card-title{
  position:absolute !important;
  left:5.5% !important;
  top:8.5% !important;
  font-size:clamp(10px, .92vw, 14px) !important;
  font-weight:900 !important;
  letter-spacing:.08em !important;
  color:#f1c24f !important;
  text-transform:uppercase !important;
}

.v46-chip-grid{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:clamp(4px, .48vw, 8px) !important;
  align-content:flex-start !important;
  margin-top:clamp(18px, 1.55vw, 28px) !important;
}

.v46-chip{
  display:inline-flex !important;
  align-items:center !important;
  min-height:clamp(18px, 2.0vw, 28px) !important;
  padding:0 clamp(6px, .75vw, 10px) !important;
  border:1px solid rgba(216,178,76,.62) !important;
  border-radius:7px !important;
  background:rgba(5,18,31,.55) !important;
  color:#fff !important;
  font-size:clamp(9px, .82vw, 13px) !important;
  line-height:1 !important;
  white-space:nowrap !important;
  box-sizing:border-box !important;
}

.v46-chip:before{
  content:"◔" !important;
  color:#d8b24c !important;
  margin-right:.45em !important;
  font-size:.9em !important;
}

.v46-more{
  position:absolute !important;
  left:5.5% !important;
  bottom:8% !important;
  color:#d8b24c !important;
  font-size:clamp(9px, .95vw, 14px) !important;
}

.v46-empty{
  margin-top:clamp(22px, 2vw, 36px) !important;
  color:rgba(255,255,255,.78) !important;
  font-size:clamp(10px, .95vw, 14px) !important;
}

/* Hotspots */
.landing-hotspot{
  position:absolute !important;
  display:block !important;
  z-index:8 !important;
  text-indent:-9999px !important;
  overflow:hidden !important;
  background:rgba(255,255,255,0) !important;
  border-radius:14px !important;
}

.hotspot-register{ left:3.8%; top:31.8%; width:15.4%; height:5.4%; }
.hotspot-login-main{ left:20.45%; top:31.8%; width:15.45%; height:5.4%; }
.hotspot-tree-main{ left:37.05%; top:31.8%; width:16.0%; height:5.4%; }
.hotspot-login-top{ left:79.2%; top:2.4%; width:14.0%; height:4.4%; }
.hotspot-tree-nav{ left:57.0%; top:3.2%; width:9.0%; height:2.8%; }

.landing-hotspot:focus-visible{
  outline:3px solid #f1d77a !important;
  outline-offset:2px !important;
  background:rgba(241,215,122,.12) !important;
}

@media(max-width:900px){
  .landing-exact-v46-stage{
    width:100vw !important;
    min-width:900px !important;
  }
  .landing-exact-v46-wrap{
    justify-content:flex-start !important;
  }
}


/* v47: Reset auf saubere dynamische Startseite ohne Icons/Bilder */
.plain47-body{
  margin:0 !important;
  min-height:100vh !important;
  background:
    radial-gradient(circle at 18% 0%, rgba(216,178,76,.16), transparent 30%),
    linear-gradient(135deg,#041426,#08233d 55%,#04111f) !important;
  color:#fff !important;
}

.plain47-header{
  border-bottom:1px solid rgba(216,178,76,.35) !important;
  background:rgba(4,20,38,.85) !important;
}

.plain47-bar{
  max-width:1240px !important;
  margin:0 auto !important;
  padding:22px 24px !important;
  display:flex !important;
  justify-content:space-between !important;
  align-items:center !important;
  gap:20px !important;
}

.plain47-brand-main{
  font-size:22px !important;
  font-weight:900 !important;
  letter-spacing:.02em !important;
  color:#fff !important;
}

.plain47-brand-sub{
  margin-top:4px !important;
  color:#d8b24c !important;
  font-weight:700 !important;
}

.plain47-nav{
  display:flex !important;
  gap:10px !important;
  flex-wrap:wrap !important;
}

.plain47-nav a,
.plain47-btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:44px !important;
  padding:0 18px !important;
  border-radius:12px !important;
  border:1px solid rgba(216,178,76,.62) !important;
  color:#fff !important;
  text-decoration:none !important;
  background:rgba(255,255,255,.06) !important;
  font-weight:800 !important;
}

.plain47-btn-gold{
  background:linear-gradient(180deg,#f1d77a,#d8b24c) !important;
  color:#071421 !important;
  border-color:#f1d77a !important;
}

.plain47-page{
  max-width:1240px !important;
  margin:0 auto !important;
  padding:28px 24px 34px !important;
}

.plain47-hero{
  display:grid !important;
  grid-template-columns:1.1fr .9fr !important;
  gap:24px !important;
  align-items:stretch !important;
  margin-bottom:24px !important;
}

.plain47-kicker{
  margin:0 0 12px !important;
  color:#d8b24c !important;
  text-transform:uppercase !important;
  letter-spacing:.11em !important;
  font-size:13px !important;
  font-weight:900 !important;
}

.plain47-hero h1{
  margin:0 !important;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
  font-size:clamp(48px,5.4vw,82px) !important;
  line-height:.96 !important;
  color:#fff !important;
}

.plain47-lead{
  max-width:720px !important;
  margin:20px 0 0 !important;
  color:rgba(255,255,255,.82) !important;
  font-size:20px !important;
  line-height:1.5 !important;
}

.plain47-actions{
  display:flex !important;
  gap:12px !important;
  flex-wrap:wrap !important;
  margin-top:24px !important;
}

.plain47-hero-panel,
.plain47-card,
.plain47-steps,
.plain47-mobile-card,
.plain47-mobile-hero{
  border:1px solid rgba(216,178,76,.35) !important;
  background:linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,.055)) !important;
  border-radius:22px !important;
  box-shadow:0 18px 44px rgba(0,0,0,.18) !important;
}

.plain47-hero-panel{
  padding:24px !important;
}

.plain47-panel-title{
  color:#d8b24c !important;
  text-transform:uppercase !important;
  font-weight:900 !important;
  letter-spacing:.09em !important;
  margin-bottom:16px !important;
}

.plain47-hero-grid{
  display:grid !important;
  gap:12px !important;
}

.plain47-hero-grid div{
  padding:16px !important;
  border:1px solid rgba(216,178,76,.26) !important;
  border-radius:16px !important;
  background:rgba(4,20,38,.42) !important;
}

.plain47-hero-grid span{
  display:block !important;
  color:rgba(255,255,255,.64) !important;
  font-size:12px !important;
  text-transform:uppercase !important;
  letter-spacing:.08em !important;
  font-weight:800 !important;
}

.plain47-hero-grid strong{
  display:block !important;
  margin-top:5px !important;
  color:#f1d77a !important;
  font-size:24px !important;
}

.plain47-hero-grid small{
  display:block !important;
  margin-top:3px !important;
  color:#fff !important;
}

.plain47-cards{
  display:grid !important;
  grid-template-columns:1.15fr 1fr 1fr !important;
  gap:18px !important;
  margin-bottom:18px !important;
}

.plain47-card{
  padding:22px !important;
}

.plain47-card h2,
.plain47-steps h2,
.plain47-mobile-card h2{
  margin:0 0 16px !important;
  color:#f1d77a !important;
  font-size:18px !important;
  text-transform:uppercase !important;
  letter-spacing:.08em !important;
}

.plain47-card ul{
  margin:0 !important;
  padding-left:20px !important;
  color:#fff !important;
  line-height:1.65 !important;
}

.plain47-card li{
  margin-bottom:8px !important;
}

.plain47-card strong{
  color:#f1d77a !important;
}

.plain47-muted{
  color:rgba(255,255,255,.70) !important;
}

.plain47-chip-list{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:9px !important;
}

.plain47-chip-list span{
  border:1px solid rgba(216,178,76,.45) !important;
  border-radius:999px !important;
  padding:8px 12px !important;
  color:#fff !important;
  background:rgba(4,20,38,.45) !important;
  font-weight:800 !important;
}

.plain47-steps{
  padding:22px !important;
}

.plain47-step-grid{
  display:grid !important;
  grid-template-columns:repeat(3,1fr) !important;
  gap:14px !important;
}

.plain47-step-grid div{
  border:1px solid rgba(216,178,76,.28) !important;
  border-radius:18px !important;
  padding:18px !important;
  background:rgba(4,20,38,.42) !important;
}

.plain47-step-grid strong{
  display:inline-flex !important;
  width:42px !important;
  height:42px !important;
  border-radius:50% !important;
  align-items:center !important;
  justify-content:center !important;
  background:#d8b24c !important;
  color:#071421 !important;
  font-size:22px !important;
  margin-bottom:12px !important;
}

.plain47-step-grid h3{
  margin:0 0 8px !important;
  color:#fff !important;
}

.plain47-step-grid p{
  margin:0 !important;
  color:rgba(255,255,255,.72) !important;
  line-height:1.5 !important;
}

.plain47-mobile{
  display:none !important;
}

.plain47-footer{
  max-width:1240px !important;
  margin:0 auto !important;
  padding:18px 24px 30px !important;
  color:rgba(255,255,255,.62) !important;
}

/* bewusst getrennte Mobilversion */
@media(max-width:760px){
  .plain47-desktop{
    display:none !important;
  }
  .plain47-mobile{
    display:grid !important;
    gap:14px !important;
  }
  .plain47-bar{
    align-items:flex-start !important;
    flex-direction:column !important;
  }
  .plain47-nav{
    width:100% !important;
  }
  .plain47-nav a{
    flex:1 1 auto !important;
  }
  .plain47-page{
    padding:16px !important;
  }
  .plain47-mobile-hero,
  .plain47-mobile-card{
    padding:18px !important;
  }
  .plain47-mobile-hero h1{
    margin:0 0 12px !important;
    font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
    font-size:42px !important;
    color:#fff !important;
  }
  .plain47-mobile-hero p{
    color:rgba(255,255,255,.78) !important;
    line-height:1.5 !important;
  }
  .plain47-mobile-hero .plain47-btn{
    width:100% !important;
    margin-top:8px !important;
  }
  .plain47-mobile-card p{
    color:#fff !important;
    line-height:1.5 !important;
  }
}


/* v49: Startseiten-Kachel "Was gibt's zu gewinnen?" */
.plain47-prize{
  background:
    linear-gradient(180deg,rgba(216,178,76,.16),rgba(255,255,255,.055)) !important;
  border-color:rgba(241,215,122,.55) !important;
}

.plain47-prize p{
  color:rgba(255,255,255,.82) !important;
  line-height:1.55 !important;
  margin:0 0 10px !important;
}

.plain47-prize p:first-of-type{
  color:#fff !important;
  font-size:19px !important;
}

.plain47-prize strong{
  color:#f1d77a !important;
}


/* v50: gemeinsamer Teilnehmerbereich statt separater Register/Login-Buttons */
.teilnehmer50-hero{
  grid-template-columns:.95fr 1.05fr !important;
}

.teilnehmer50-choice-grid{
  display:grid !important;
  gap:14px !important;
}

.teilnehmer50-choice{
  display:block !important;
  text-decoration:none !important;
  padding:20px !important;
  border-radius:18px !important;
  border:1px solid rgba(216,178,76,.36) !important;
  background:rgba(4,20,38,.44) !important;
  color:#fff !important;
  transition:transform .15s ease, border-color .15s ease, background .15s ease !important;
}

.teilnehmer50-choice:hover{
  transform:translateY(-2px) !important;
  border-color:rgba(241,215,122,.72) !important;
  background:rgba(216,178,76,.10) !important;
}

.teilnehmer50-choice.gold{
  background:linear-gradient(180deg,#f1d77a,#d8b24c) !important;
  color:#071421 !important;
  border-color:#f1d77a !important;
}

.teilnehmer50-choice strong{
  display:block !important;
  font-size:20px !important;
  line-height:1.25 !important;
  margin-bottom:8px !important;
}

.teilnehmer50-choice span{
  display:block !important;
  color:inherit !important;
  opacity:.82 !important;
  line-height:1.45 !important;
}

.teilnehmer50-cards{
  grid-template-columns:repeat(3,1fr) !important;
}

@media(max-width:760px){
  .teilnehmer50-hero{
    display:block !important;
  }
  .teilnehmer50-hero .plain47-hero-panel{
    margin-top:14px !important;
  }
  .teilnehmer50-cards{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:14px !important;
  }
}


/* v51: Turnierbaum und Teilnehmerliste nur für angemeldete Teilnehmer */
.private51-table-wrap{
  overflow-x:auto !important;
}

.private51-table{
  width:100% !important;
  border-collapse:collapse !important;
}

.private51-table th,
.private51-table td{
  padding:12px 14px !important;
  border-bottom:1px solid rgba(216,178,76,.22) !important;
  color:#fff !important;
  text-align:left !important;
}

.private51-table th{
  color:#f1d77a !important;
  text-transform:uppercase !important;
  font-size:12px !important;
  letter-spacing:.08em !important;
}

.private51-links{
  display:flex !important;
  gap:10px !important;
  flex-wrap:wrap !important;
  margin-top:14px !important;
}


/* v52: Teilnehmerbereich entdoppelt */
.teilnehmer52-cards{
  grid-template-columns:repeat(2,1fr) !important;
}

@media(max-width:760px){
  .teilnehmer52-cards{
    grid-template-columns:1fr !important;
  }
}


/* v56: Teilnehmerbereich unterhalb + eingeloggte Startseite */
.teilnehmer50-hero{
  display:block !important;
  max-width:920px !important;
}

.teilnehmer50-hero .plain47-hero-panel{
  margin-top:28px !important;
  max-width:640px !important;
}

.teilnehmer50-choice-grid{
  grid-template-columns:1fr !important;
}

.plain47-rules-full{
  grid-column:1 / -1 !important;
}

.plain47-rules-full ul{
  columns:2 !important;
  column-gap:34px !important;
}

.plain47-rules-full li{
  break-inside:avoid !important;
  margin-bottom:10px !important;
}

.plain47-participants .private51-links{
  margin-top:16px !important;
}

@media(max-width:760px){
  .teilnehmer50-hero{
    max-width:none !important;
  }
  .teilnehmer50-hero .plain47-hero-panel{
    max-width:none !important;
  }
  .plain47-rules-full ul{
    columns:1 !important;
  }
  .plain47-mobile-card .plain47-btn{
    width:100% !important;
    margin-top:8px !important;
  }
}


/* v57: Teilnehmerliste-Seite entlinkt + Tabellenlesbarkeit als Fallback */
.private51-table{
  background:rgba(4,20,38,.72) !important;
}

.private51-table tbody tr{
  background:rgba(4,20,38,.78) !important;
}

.private51-table tbody td{
  color:#ffffff !important;
  background:rgba(4,20,38,.82) !important;
}

.private51-table thead th{
  background:rgba(216,178,76,.18) !important;
  color:#f1d77a !important;
}

.private51-table-wrap{
  border-radius:14px !important;
  overflow:hidden !important;
  border:1px solid rgba(216,178,76,.28) !important;
}





/* v69: finaler einfacher Turnierbaum-Bildblock ohne Altlasten */
.tree69-card{
  grid-column: 1 / -1 !important;
}

.tree69-head{
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  gap: 18px !important;
  margin-bottom: 18px !important;
}

.tree69-head h2{
  margin: 0 0 8px !important;
  color: #f1d77a !important;
}

.tree69-badge{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 7px 12px !important;
  border-radius: 999px !important;
  background: rgba(216,178,76,.18) !important;
  border: 1px solid rgba(216,178,76,.58) !important;
  color: #f1d77a !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
  font-size: 12px !important;
  white-space: nowrap !important;
}

.tree69-img{
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  min-width: 0 !important;
  border-radius: 18px !important;
  border: 1px solid rgba(216,178,76,.28) !important;
  box-shadow: 0 14px 36px rgba(0,0,0,.24) !important;
}

@media(max-width: 760px){
  .tree69-head{
    display: block !important;
  }

  .tree69-badge{
    margin-top: 8px !important;
  }

  .tree69-img{
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
  }
}


/* v71: Schrift im Turnierbaum/Rundenbereich vereinheitlicht */
:root{
  --ak50-font: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.tree69-card,
.tree69-head,
.tree69-head h2,
.tree69-badge,
.tree69-img,
.bracket,
.bracket *,
.tree,
.tree *,
.round,
.round *,
.match,
.match *,
.match-card,
.match-card *,
.next-round,
.next-round *,
.next-round-label,
.round-title,
.round-label,
.tournament-tree,
.tournament-tree *,
.hauptbaum,
.hauptbaum *{
  font-family: var(--ak50-font) !important;
}

/* v71: deaktivierter Turnierbaum-Button, solange Turnier nicht gestartet ist */
.is-disabled,
a.is-disabled,
span.is-disabled,
button.is-disabled{
  opacity: .48 !important;
  cursor: not-allowed !important;
  pointer-events: none !important;
  filter: grayscale(.25) !important;
  text-decoration: none !important;
}

span.plain47-btn.is-disabled,
span.btn.is-disabled,
span.cta.is-disabled{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}


/* v72: große Hero-Überschrift gleiche Schrift wie Rest */
.plain47-hero h1,
.plain47-mobile-hero h1{
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  letter-spacing: -0.03em !important;
}


/* v73: obere Navi ohne öffentlichen Teilnehmerbereich-Button */
.plain47-nav:empty{
  display:none !important;
}


/* v75: Zeitplan & Fristen */
.deadline75-card{
  grid-column: 1 / -1 !important;
}

.deadline75-card h2{
  margin-bottom: 10px !important;
}

.deadline75-grid{
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 16px !important;
  margin-top: 18px !important;
}

.deadline75-block{
  border: 1px solid rgba(216,178,76,.28) !important;
  border-radius: 16px !important;
  background: rgba(5, 18, 32, .30) !important;
  padding: 16px !important;
}

.deadline75-block h3{
  margin: 0 0 12px !important;
  color: #f1d77a !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
  font-size: 14px !important;
}

.deadline75-list{
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: grid !important;
  gap: 9px !important;
}

.deadline75-list li{
  display: flex !important;
  justify-content: space-between !important;
  align-items: baseline !important;
  gap: 14px !important;
  padding: 9px 0 !important;
  border-bottom: 1px solid rgba(255,255,255,.10) !important;
}

.deadline75-list li:last-child{
  border-bottom: 0 !important;
}

.deadline75-list span{
  color: rgba(255,255,255,.78) !important;
  line-height: 1.35 !important;
}

.deadline75-list strong{
  color: #fff !important;
  font-weight: 900 !important;
  white-space: nowrap !important;
}

.deadline75-final{
  background: rgba(216,178,76,.08) !important;
}

.deadline75-note{
  margin: 16px 0 0 !important;
  color: #f1d77a !important;
  font-weight: 800 !important;
}

@media(max-width: 900px){
  .deadline75-grid{
    grid-template-columns: 1fr !important;
  }

  .deadline75-list li{
    display: block !important;
  }

  .deadline75-list strong{
    display: block !important;
    margin-top: 3px !important;
    white-space: normal !important;
  }
}


/* v76: statischer Winner/Second-Chance-Baum + Fristen darunter */
.deadline76-card{
  grid-column: 1 / -1 !important;
}

.deadline76-table{
  margin-top: 18px !important;
  border: 1px solid rgba(216,178,76,.24) !important;
  border-radius: 18px !important;
  overflow: hidden !important;
}

.deadline76-row{
  display: grid !important;
  grid-template-columns: 1.2fr 1fr 1.2fr 1fr !important;
  gap: 16px !important;
  padding: 14px 16px !important;
  border-bottom: 1px solid rgba(255,255,255,.08) !important;
}

.deadline76-row:last-child{
  border-bottom: 0 !important;
}

.deadline76-head{
  background: rgba(216,178,76,.12) !important;
  color: #f1d77a !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
  font-size: 12px !important;
}

.deadline76-row:not(.deadline76-head):nth-child(even){
  background: rgba(255,255,255,.02) !important;
}

.deadline76-row div{
  line-height: 1.45 !important;
}

.deadline76-note{
  margin-top: 16px !important;
  color: #f1d77a !important;
  font-weight: 800 !important;
}

.deadline76-mobile-list{
  display: grid !important;
  gap: 12px !important;
  margin-top: 14px !important;
}

.deadline76-mobile-item{
  border: 1px solid rgba(216,178,76,.24) !important;
  border-radius: 14px !important;
  padding: 12px 14px !important;
  background: rgba(255,255,255,.02) !important;
}

.deadline76-mobile-item strong{
  display: block !important;
  color: #f1d77a !important;
  margin-bottom: 6px !important;
}

.deadline76-mobile-item span{
  display: block !important;
  color: #fff !important;
  line-height: 1.4 !important;
}

.deadline76-mobile-item em{
  display: block !important;
  margin-top: 6px !important;
  color: rgba(255,255,255,.78) !important;
  font-style: normal !important;
}

@media(max-width: 1100px){
  .deadline76-row{
    grid-template-columns: 1fr !important;
    gap: 6px !important;
  }

  .deadline76-head{
    display: none !important;
  }
}


/* v77: hübscherer und kompakterer Fristenfahrplan */
.deadline77-card{
  grid-column: 1 / -1 !important;
}

.deadline77-head{
  display:flex !important;
  justify-content:space-between !important;
  align-items:flex-start !important;
  gap:18px !important;
  margin-bottom:18px !important;
}

.deadline77-head h2{
  margin:0 0 8px !important;
}

.deadline77-badge{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:7px 12px !important;
  border-radius:999px !important;
  background:rgba(216,178,76,.14) !important;
  border:1px solid rgba(216,178,76,.58) !important;
  color:#f1d77a !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
  letter-spacing:.08em !important;
  font-size:12px !important;
  white-space:nowrap !important;
}

.deadline77-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:18px !important;
}

.deadline77-phase{
  border:1px solid rgba(216,178,76,.26) !important;
  border-radius:18px !important;
  background:rgba(255,255,255,.02) !important;
  padding:18px !important;
}

.deadline77-phase-final{
  background:rgba(216,178,76,.07) !important;
}

.deadline77-phase-top{
  margin-bottom:14px !important;
}

.deadline77-kicker{
  display:inline-block !important;
  margin-bottom:6px !important;
  color:#f1d77a !important;
  font-size:12px !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
  letter-spacing:.08em !important;
}

.deadline77-phase h3{
  margin:0 !important;
  color:#ffffff !important;
  font-size:22px !important;
}

.deadline77-items{
  list-style:none !important;
  padding:0 !important;
  margin:0 !important;
  display:grid !important;
  gap:12px !important;
}

.deadline77-items li{
  padding:14px 14px !important;
  border-radius:14px !important;
  background:rgba(5,18,32,.35) !important;
  border:1px solid rgba(255,255,255,.08) !important;
}

.deadline77-items strong{
  display:block !important;
  color:#f1d77a !important;
  margin-bottom:6px !important;
  font-size:16px !important;
}

.deadline77-items span{
  display:block !important;
  color:#ffffff !important;
  line-height:1.45 !important;
}

.deadline77-items em{
  display:block !important;
  margin-top:7px !important;
  color:rgba(255,255,255,.74) !important;
  font-style:normal !important;
}

.deadline77-note{
  margin:18px 0 0 !important;
  color:#f1d77a !important;
  font-weight:800 !important;
}

@media(max-width: 980px){
  .deadline77-grid{
    grid-template-columns:1fr !important;
  }
}

@media(max-width: 760px){
  .deadline77-head{
    display:block !important;
  }
  .deadline77-badge{
    margin-top:8px !important;
  }
  .deadline77-phase h3{
    font-size:20px !important;
  }
}


/* v78: Registrierungs-Erfolgsfenster */
.register78-modal-backdrop{
  position:fixed !important;
  inset:0 !important;
  z-index:9999 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:22px !important;
  background:rgba(3,10,18,.72) !important;
  backdrop-filter:blur(10px) !important;
}

.register78-modal{
  width:min(520px,100%) !important;
  border:1px solid rgba(216,178,76,.45) !important;
  border-radius:26px !important;
  background:linear-gradient(180deg,#0b2238,#071421) !important;
  color:#fff !important;
  box-shadow:0 24px 70px rgba(0,0,0,.45) !important;
  padding:32px !important;
  text-align:center !important;
}

.register78-icon{
  width:62px !important;
  height:62px !important;
  margin:0 auto 16px !important;
  border-radius:999px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:#d8b24c !important;
  color:#071421 !important;
  font-size:34px !important;
  font-weight:900 !important;
}

.register78-modal h2{
  margin:0 0 10px !important;
  color:#f1d77a !important;
  font-size:28px !important;
}

.register78-modal p{
  margin:0 0 12px !important;
  color:rgba(255,255,255,.90) !important;
  line-height:1.55 !important;
}

.register78-modal .register78-muted{
  color:rgba(255,255,255,.72) !important;
  margin-bottom:22px !important;
}


/* v79: Fristenfahrplan kompakter gestaffelt */
.deadline77-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:14px !important;
  align-items:start !important;
}

.deadline77-phase{
  padding:14px !important;
  border-radius:16px !important;
}

.deadline77-phase-top{
  margin-bottom:10px !important;
}

.deadline77-kicker{
  margin-bottom:4px !important;
  font-size:11px !important;
}

.deadline77-phase h3{
  font-size:19px !important;
}

.deadline77-items{
  gap:8px !important;
}

.deadline77-items li{
  padding:10px 12px !important;
  border-radius:12px !important;
}

.deadline77-items strong{
  font-size:14px !important;
  margin-bottom:4px !important;
}

.deadline77-items span{
  font-size:14px !important;
  line-height:1.35 !important;
}

.deadline77-items em{
  font-size:13px !important;
  margin-top:5px !important;
}

.deadline77-note{
  margin-top:14px !important;
  font-size:14px !important;
  line-height:1.45 !important;
}

@media(min-width:981px){
  .deadline77-grid{
    grid-template-columns:1fr 1fr !important;
  }
}

@media(max-width:980px){
  .deadline77-grid{
    grid-template-columns:1fr !important;
  }
}

/* v79: Admin-Button in der oberen Navi */
.plain47-nav a[href="admin/"]{
  border-color:rgba(216,178,76,.72) !important;
  color:#f1d77a !important;
}


/* v80: eigene Startseite nach Turnierstart */
.started80-cards{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:18px !important;
}

.started80-live-tree{
  grid-column:1 / -1 !important;
}

.started80-head{
  display:flex !important;
  justify-content:space-between !important;
  align-items:flex-start !important;
  gap:16px !important;
  margin-bottom:18px !important;
}

.started80-head h2{
  margin:0 0 8px !important;
}

.started80-next-grid{
  grid-template-columns:1fr !important;
}

.started80-bracket-block{
  margin-top:18px !important;
  padding-top:14px !important;
  border-top:1px solid rgba(216,178,76,.22) !important;
}

.started80-bracket-block h3{
  margin:0 0 12px !important;
  color:#f1d77a !important;
  font-size:20px !important;
}

.started80-rounds{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr)) !important;
  gap:12px !important;
  align-items:start !important;
}

.started80-round{
  border:1px solid rgba(216,178,76,.24) !important;
  border-radius:16px !important;
  padding:12px !important;
  background:rgba(255,255,255,.025) !important;
}

.started80-round h4{
  margin:0 0 10px !important;
  color:#fff !important;
  font-size:14px !important;
  text-transform:uppercase !important;
  letter-spacing:.06em !important;
}

.started80-match{
  display:block !important;
  color:#fff !important;
  text-decoration:none !important;
  border:1px solid rgba(255,255,255,.10) !important;
  background:rgba(5,18,32,.42) !important;
  border-radius:13px !important;
  padding:10px !important;
  margin-bottom:8px !important;
}

.started80-match.finished{
  border-color:rgba(216,178,76,.45) !important;
  background:rgba(216,178,76,.08) !important;
}

.started80-match.waiting{
  opacity:.72 !important;
}

.started80-match-top{
  display:flex !important;
  justify-content:space-between !important;
  gap:10px !important;
  margin-bottom:7px !important;
  color:#f1d77a !important;
  font-size:12px !important;
  font-weight:900 !important;
}

.started80-match-top em{
  font-style:normal !important;
  color:rgba(255,255,255,.58) !important;
  font-weight:700 !important;
}

.started80-player{
  padding:5px 0 !important;
  border-top:1px solid rgba(255,255,255,.07) !important;
  line-height:1.3 !important;
}

.started80-player.winner{
  color:#f1d77a !important;
  font-weight:900 !important;
}

.started80-result{
  margin-top:7px !important;
  padding-top:7px !important;
  border-top:1px solid rgba(255,255,255,.10) !important;
  color:rgba(255,255,255,.76) !important;
  font-size:13px !important;
}

@media(max-width:760px){
  .started80-head{
    display:block !important;
  }
  .started80-head .plain47-btn{
    margin-top:10px !important;
  }
  .started80-rounds{
    grid-template-columns:1fr !important;
  }
}


/* v81: Scorekeeper und Bestätigungsprozess */
.scorekeeper81-box{
  margin-top:14px;
  padding:14px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#f8faf8;
}

body.plain47-body .scorekeeper81-box{
  border-color:rgba(216,178,76,.28) !important;
  background:rgba(255,255,255,.035) !important;
}

button[disabled],
.btn[disabled]{
  opacity:.45;
  cursor:not-allowed;
}


/* v84: Teilnehmerliste aufgeräumter und kompakter */
.plain47-participants .plain47-chip-list{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:10px 12px !important;
  align-content:start !important;
}

.plain47-participants .plain47-chip-list span{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:46px !important;
  text-align:center !important;
  line-height:1.15 !important;
  padding:10px 12px !important;
  font-size:1rem !important;
  white-space:normal !important;
}

.plain47-participants .private51-links{
  margin-top:14px !important;
}

@media (max-width: 760px){
  .plain47-participants .plain47-chip-list,
  .plain47-mobile-card .plain47-chip-list{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:9px !important;
  }

  .plain47-participants .plain47-chip-list span,
  .plain47-mobile-card .plain47-chip-list span{
    display:inline-flex !important;
    min-height:auto !important;
    text-align:left !important;
    justify-content:flex-start !important;
    font-size:1rem !important;
  }
}


/* v85: Teilnehmerliste als breite Quer-Kachel, Info-Kacheln darunter */
@media (min-width: 901px){
  .plain47-cards{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:22px !important;
    align-items:start !important;
  }

  .plain47-participants{
    grid-column:1 / -1 !important;
  }

  .plain47-prize{
    grid-column:auto !important;
  }

  .plain47-cards > article.plain47-card:not(.plain47-participants):not(.tree69-card):not(.deadline77-card):not(.plain47-rules-full):nth-of-type(3){
    grid-column:auto !important;
  }

  .plain47-participants .plain47-chip-list{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:10px !important;
    align-content:start !important;
  }

  .plain47-participants .plain47-chip-list span{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:auto !important;
    width:auto !important;
    text-align:left !important;
    line-height:1.15 !important;
    padding:9px 13px !important;
    font-size:1rem !important;
    white-space:nowrap !important;
  }

  .plain47-participants .private51-links{
    margin-top:16px !important;
  }
}

/* Die großen Vollbreiten-Blöcke bleiben vollbreit */
.tree69-card,
.deadline77-card,
.plain47-rules-full,
.started80-live-tree{
  grid-column:1 / -1 !important;
}

@media (max-width: 900px){
  .plain47-cards{
    grid-template-columns:1fr !important;
  }
}


/* v86: Teilnehmer-Namenschips kleiner und enger */
.plain47-participants .plain47-chip-list{
  gap:7px 8px !important;
}

.plain47-participants .plain47-chip-list span{
  min-height:0 !important;
  width:auto !important;
  max-width:none !important;
  flex:0 0 auto !important;
  padding:5px 9px !important;
  font-size:.88rem !important;
  line-height:1.1 !important;
  font-weight:750 !important;
  white-space:nowrap !important;
  border-radius:999px !important;
}

@media (max-width: 760px){
  .plain47-participants .plain47-chip-list span,
  .plain47-mobile-card .plain47-chip-list span{
    padding:6px 10px !important;
    font-size:.92rem !important;
    line-height:1.1 !important;
  }
}


/* v87: Teilnehmerchips wirklich nur in Namensbreite */
.plain47-participants .plain47-chip-list{
  display:flex !important;
  flex-wrap:wrap !important;
  justify-content:flex-start !important;
  align-items:flex-start !important;
  gap:8px 10px !important;
  width:100% !important;
}

.plain47-participants .plain47-chip-list > *{
  flex:0 0 auto !important;
  width:auto !important;
  max-width:none !important;
}

.plain47-participants .plain47-chip-list span{
  display:inline-flex !important;
  flex:0 0 auto !important;
  width:auto !important;
  min-width:0 !important;
  max-width:none !important;
  align-items:center !important;
  justify-content:flex-start !important;
  text-align:left !important;
  white-space:nowrap !important;
  padding:6px 12px !important;
  border-radius:999px !important;
  font-size:.92rem !important;
  line-height:1.1 !important;
}

@media (max-width: 760px){
  .plain47-participants .plain47-chip-list{
    gap:8px !important;
  }
  .plain47-participants .plain47-chip-list span,
  .plain47-mobile-card .plain47-chip-list span{
    padding:6px 11px !important;
    font-size:.92rem !important;
  }
}

/* v88: AK50 Emblem auf Desktop und iPad, nicht auf Smartphones */
.plain47-hero-emblem-wrap{
  margin-top:22px !important;
}

.plain47-hero-emblem{
  display:block !important;
  width:min(100%, 230px) !important;
  height:auto !important;
  border-radius:20px !important;
  filter:drop-shadow(0 12px 24px rgba(0,0,0,.35)) !important;
}

@media (max-width: 1100px){
  .plain47-hero-emblem{
    width:min(100%, 190px) !important;
  }
}

@media (max-width: 760px){
  .plain47-hero-emblem-wrap,
  .plain47-hero-emblem{
    display:none !important;
  }
}


/* v89: Scorerechner mobil lesbar, kompakt und im Homepage-Stil */
.match89-body{
  margin:0;
  background:#071421 !important;
  color:#ffffff !important;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
}

.match89-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:18px clamp(16px,4vw,34px);
  background:#06172a;
  border-bottom:1px solid rgba(216,178,76,.36);
}

.match89-header h1{
  margin:0;
  color:#fff;
  font-size:clamp(22px,4vw,34px);
  line-height:1.1;
}

.match89-header p{
  margin:4px 0 0;
  color:#d8b24c;
  font-weight:800;
}

.match89-header a{
  border:1px solid rgba(216,178,76,.55);
  border-radius:14px;
  padding:10px 14px;
  color:#f1d77a;
  text-decoration:none;
  font-weight:800;
}

.match89-container{
  width:min(980px,100%);
  margin:0 auto;
  padding:18px clamp(12px,3vw,28px) 42px;
  box-sizing:border-box;
}

.match89-container .card,
.match89-container .holebox{
  background:linear-gradient(180deg,rgba(22,43,61,.96),rgba(11,31,49,.96)) !important;
  color:#ffffff !important;
  border:1px solid rgba(216,178,76,.30) !important;
  border-radius:22px !important;
  box-shadow:0 14px 36px rgba(0,0,0,.22) !important;
  padding:18px !important;
  margin:0 0 14px !important;
}

.match89-container h2{
  color:#f1d77a !important;
  margin:0 0 12px !important;
  letter-spacing:.02em !important;
}

.match89-container p,
.match89-container .muted{
  color:rgba(255,255,255,.76) !important;
}

.match89-status-card .score-hero{
  color:#f1d77a !important;
  font-size:clamp(38px,9vw,64px) !important;
  line-height:1 !important;
}

.match89-scorekeeper{
  margin-top:12px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
  padding:8px 10px;
  border:1px solid rgba(216,178,76,.24);
  border-radius:999px;
  background:rgba(5,18,32,.48);
  font-size:.92rem;
}

.match89-scorekeeper strong{
  color:#f1d77a !important;
}

.match89-scorekeeper em{
  color:rgba(255,255,255,.68);
  font-style:normal;
}

.match89-mini-btn{
  border:1px solid rgba(216,178,76,.55);
  background:rgba(216,178,76,.12);
  color:#f1d77a;
  border-radius:999px;
  padding:6px 10px;
  font-weight:800;
}

.match89-container label{
  color:#ffffff !important;
  font-weight:900 !important;
  margin-bottom:6px !important;
}

.match89-container input,
.match89-container select{
  background:#ffffff !important;
  color:#071421 !important;
  border:1px solid rgba(216,178,76,.35) !important;
  border-radius:14px !important;
  min-height:46px !important;
}

.match89-container .btn.primary,
.match89-container .btn.gold,
.match89-container button.btn.primary{
  background:linear-gradient(180deg,#f1d77a,#d8b24c) !important;
  color:#071421 !important;
  border:0 !important;
  box-shadow:none !important;
  font-weight:900 !important;
}

.match89-hole-card h2{
  color:#f1d77a !important;
  font-size:clamp(24px,5vw,36px) !important;
}

.match89-hole-card > p{
  margin:8px 0 !important;
}

.match89-container .score-entry{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:14px !important;
}

.match89-container .stepper-row{
  display:grid !important;
  grid-template-columns:56px minmax(110px,1fr) 56px !important;
  gap:10px !important;
  align-items:center !important;
}

.match89-container .stepper-row input{
  text-align:center !important;
  font-size:28px !important;
  font-weight:900 !important;
}

.match89-container .stepper-row button{
  background:rgba(216,178,76,.14) !important;
  color:#f1d77a !important;
  border:1px solid rgba(216,178,76,.55) !important;
  border-radius:14px !important;
  min-height:52px !important;
  font-size:24px !important;
}

.match89-scorecard-card{
  overflow:visible !important;
}

.match89-hole-list{
  display:grid;
  gap:8px;
}

.match89-hole-row{
  display:grid;
  grid-template-columns:120px 1fr auto;
  gap:12px;
  align-items:center;
  padding:10px 12px;
  border:1px solid rgba(216,178,76,.18);
  border-radius:14px;
  background:rgba(5,18,32,.42);
}

.match89-hole-main strong{
  display:block;
  color:#f1d77a;
}

.match89-hole-main span,
.match89-hole-scores small{
  color:rgba(255,255,255,.62);
}

.match89-hole-scores{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}

.match89-hole-scores span{
  color:#fff;
}

.match89-hole-status{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  color:rgba(255,255,255,.78);
  text-align:right;
}

.match89-edit-row{
  padding:12px;
  border:1px solid rgba(216,178,76,.25);
  border-radius:14px;
  background:rgba(216,178,76,.07);
}

button[disabled],
.btn[disabled]{
  opacity:.45 !important;
  cursor:not-allowed !important;
}

@media(max-width:760px){
  .match89-header{
    align-items:flex-start;
    flex-direction:column;
  }

  .match89-header a{
    width:100%;
    text-align:center;
    box-sizing:border-box;
  }

  .match89-container{
    padding:12px 10px 34px;
  }

  .match89-container .card,
  .match89-container .holebox{
    border-radius:18px !important;
    padding:14px !important;
  }

  .match89-scorekeeper{
    border-radius:14px;
    align-items:flex-start;
  }

  .match89-hole-row{
    grid-template-columns:1fr;
    gap:8px;
  }

  .match89-hole-scores{
    grid-template-columns:1fr;
    gap:4px;
  }

  .match89-hole-status{
    justify-content:space-between;
    text-align:left;
  }
}


/* v90: Scoreeingabe sofort oben, kompakter Status, kein iPhone-Doppeltipp-Zoom */
.match89-container{
  padding-top:10px !important;
}

.match89-header{
  padding-top:12px !important;
  padding-bottom:12px !important;
}

.match89-header h1{
  font-size:clamp(18px,4vw,28px) !important;
}

.match89-header p{
  font-size:.9rem !important;
}

.match89-hole-card{
  margin-top:0 !important;
  padding:14px !important;
}

.match89-hole-card h2{
  font-size:clamp(26px,7vw,42px) !important;
  line-height:1.08 !important;
  margin-bottom:8px !important;
}

.match90-hole-meta{
  margin:0 0 6px !important;
  font-size:1rem !important;
}

.match90-hole-allowance{
  margin:0 0 12px !important;
  font-size:.95rem !important;
  line-height:1.35 !important;
}

.match90-status-card{
  padding:10px 12px !important;
  margin-top:0 !important;
}

.match90-status-card h2{
  font-size:1rem !important;
  margin-bottom:4px !important;
  color:rgba(241,215,122,.84) !important;
}

.match90-status-card .score-hero{
  color:#f1d77a !important;
  font-size:1.35rem !important;
  line-height:1.15 !important;
  margin:0 0 4px !important;
}

.match90-status-card p.muted{
  font-size:.9rem !important;
  margin:0 !important;
}

.match90-status-card .match89-scorekeeper{
  margin-top:8px !important;
  padding:6px 9px !important;
  font-size:.82rem !important;
  border-radius:12px !important;
  opacity:.82 !important;
}

.match90-scorecard-card{
  margin-top:14px !important;
}

.match90-scorecard-card h2{
  font-size:1.6rem !important;
}

.match89-container .score-stepper{
  margin:0 !important;
}

.match89-container .score-stepper label{
  font-size:1rem !important;
  margin-bottom:6px !important;
}

.match89-container .stepper-row{
  grid-template-columns:54px minmax(96px,1fr) 54px !important;
  gap:8px !important;
}

.match89-container .stepper-row input{
  font-size:28px !important;
  min-height:52px !important;
  -webkit-text-size-adjust:100% !important;
  touch-action:manipulation !important;
}

.match89-container .stepper-row button,
.match89-container .stepper-plus,
.match89-container .stepper-minus{
  min-height:52px !important;
  touch-action:manipulation !important;
  -webkit-user-select:none !important;
  user-select:none !important;
}

.match89-container button,
.match89-container .btn{
  touch-action:manipulation !important;
}

.match89-container .score-entry > p{
  margin:4px 0 0 !important;
}

.match89-container .score-entry .btn.primary{
  min-height:48px !important;
  padding:12px 20px !important;
}

@media(max-width:760px){
  .match89-header{
    display:none !important;
  }

  .match89-container{
    padding:8px 10px 32px !important;
  }

  .match89-container .card,
  .match89-container .holebox{
    border-radius:18px !important;
    padding:12px !important;
    margin-bottom:10px !important;
  }

  .match89-hole-card h2{
    font-size:2.05rem !important;
  }

  .match90-hole-meta,
  .match90-hole-allowance{
    font-size:.92rem !important;
  }

  .match89-container .score-entry{
    gap:10px !important;
  }

  .match89-container .stepper-row{
    grid-template-columns:50px minmax(90px,1fr) 50px !important;
    gap:8px !important;
  }

  .match89-container .stepper-row input{
    font-size:26px !important;
    min-height:50px !important;
  }

  .match89-container .stepper-row button{
    min-height:50px !important;
  }

  .match90-status-card{
    font-size:.85rem !important;
  }
}


/* v92: Dormy- und Gewinner-Bestätigung */
.match92-flash{
  border-color:rgba(216,178,76,.45) !important;
  background:rgba(216,178,76,.10) !important;
  color:#f1d77a !important;
  font-weight:800 !important;
}

.match92-flash.dormy{
  background:rgba(42,92,74,.30) !important;
}

.match92-winner-confirm{
  border-color:rgba(216,178,76,.55) !important;
  background:linear-gradient(180deg,rgba(31,55,72,.98),rgba(11,31,49,.98)) !important;
}

.match92-winner-confirm h2{
  color:#f1d77a !important;
}

.match92-winner-confirm .btn.primary{
  width:100% !important;
  margin-top:10px !important;
}


/* v94: öffentliche Scorekarte vollständig und Admin-Scorebearbeitung */
.score94-body{
  margin:0;
  background:#071421;
  color:#fff;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

.score94-header{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:18px;
  padding:24px clamp(16px,4vw,38px);
  background:linear-gradient(135deg,#06172a,#0b2a46);
  border-bottom:1px solid rgba(216,178,76,.34);
}

.score94-header h1{
  margin:0;
  font-size:clamp(28px,4vw,42px);
  color:#fff;
}

.score94-header p{
  margin:6px 0 0;
  color:rgba(255,255,255,.76);
}

.score94-header a{
  color:#f1d77a;
  border:1px solid rgba(216,178,76,.55);
  border-radius:14px;
  padding:10px 14px;
  text-decoration:none;
  font-weight:800;
}

.score94-container{
  width:min(1220px,100%);
  margin:0 auto;
  padding:24px clamp(12px,3vw,28px) 42px;
  box-sizing:border-box;
}

.score94-card{
  background:linear-gradient(180deg,rgba(22,43,61,.96),rgba(11,31,49,.96));
  border:1px solid rgba(216,178,76,.30);
  border-radius:22px;
  padding:22px;
  margin-bottom:18px;
  box-shadow:0 14px 36px rgba(0,0,0,.22);
}

.score94-card h2{
  color:#f1d77a;
  margin:0 0 14px;
}

.score94-result{
  color:#f1d77a;
  font-size:clamp(32px,5vw,56px);
  line-height:1.1;
  font-weight:900;
  margin-bottom:18px;
}

.score94-facts{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(170px,1fr));
  gap:10px;
}

.score94-facts div{
  border:1px solid rgba(216,178,76,.20);
  border-radius:14px;
  padding:10px 12px;
  background:rgba(5,18,32,.45);
}

.score94-facts span{
  display:block;
  color:rgba(255,255,255,.62);
  font-size:.82rem;
  text-transform:uppercase;
  letter-spacing:.06em;
  font-weight:800;
}

.score94-facts strong{
  display:block;
  color:#fff;
  margin-top:4px;
}

.score94-muted{
  color:rgba(255,255,255,.70);
}

.score94-hole-list{
  display:grid;
  gap:10px;
}

.score94-hole{
  border:1px solid rgba(216,178,76,.18);
  border-radius:16px;
  padding:14px;
  background:rgba(5,18,32,.42);
}

.score94-hole-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}

.score94-hole-head strong{
  color:#f1d77a;
}

.score94-hole-head span,
.score94-hole small{
  color:rgba(255,255,255,.64);
}

.score94-hole-players{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}

.score94-hole-players div{
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px;
  padding:10px;
}

.score94-hole-players div.winner{
  border-color:rgba(216,178,76,.55);
  background:rgba(216,178,76,.08);
}

.score94-hole-players span{
  display:block;
  color:#fff;
}

.score94-hole-players strong{
  display:block;
  color:#f1d77a;
  font-size:1.6rem;
}

.score94-hole-status{
  margin-top:10px;
  color:rgba(255,255,255,.76);
}

.admin94-score-edit{
  display:grid;
  gap:10px;
}

.admin94-hole-edit{
  display:grid;
  grid-template-columns:1fr 160px 160px;
  gap:12px;
  align-items:end;
  border:1px solid rgba(255,255,255,.10);
  border-radius:14px;
  padding:12px;
  background:rgba(255,255,255,.03);
}

.admin94-hole-edit strong{
  display:block;
}

.admin94-hole-edit span{
  display:block;
  color:rgba(255,255,255,.65);
  margin-top:4px;
}

@media(max-width:760px){
  .score94-header{
    display:block;
  }
  .score94-header a{
    display:block;
    margin-top:12px;
    text-align:center;
  }
  .score94-card{
    padding:16px;
    border-radius:18px;
  }
  .score94-hole-head{
    display:block;
  }
  .score94-hole-players{
    grid-template-columns:1fr;
  }
  .admin94-hole-edit{
    grid-template-columns:1fr;
  }
}


/* v95: kleine Lesbarkeitskorrekturen Scorekarte/Admin */
.score94-hole-list:empty::after{
  content:"Keine gespeicherten Lochscores gefunden.";
  color:rgba(255,255,255,.70);
}

.admin94-hole-edit input{
  width:100%;
}


/* v96: klare Anzeige bei fehlenden Lochdaten + Admin-Neuanlage */
.score96-empty{
  border:1px solid rgba(216,178,76,.32);
  border-radius:16px;
  padding:16px;
  background:rgba(216,178,76,.08);
}

.score96-empty h3{
  margin:0 0 8px;
  color:#f1d77a;
}

.admin96-create-holes{
  border:1px solid rgba(255,255,255,.12);
  border-radius:16px;
  padding:16px;
  background:rgba(255,255,255,.035);
}


/* v97: Admin-Diagnose Lochdaten */
.admin97-debug{
  border:1px solid rgba(216,178,76,.28);
  background:rgba(216,178,76,.07);
  border-radius:12px;
  padding:10px 12px;
}


/* v99: sichtbarer Versionscheck */
.admin99-version-card,
.admin99-hardcheck{
  border:2px solid rgba(216,178,76,.55) !important;
}

.admin99-hardcheck{
  background:rgba(216,178,76,.08) !important;
}


/* v103: Admin-Matchbearbeitung und Scorekarte ins dunkle Matchplay-Layout ziehen */

/* Admin Match bearbeiten */
body.admin103-match-edit{
  background:#071421 !important;
  color:#ffffff !important;
}

body.admin103-match-edit .container{
  color:#ffffff !important;
}

body.admin103-match-edit .card{
  background:linear-gradient(180deg,rgba(22,43,61,.96),rgba(11,31,49,.96)) !important;
  color:#ffffff !important;
  border:1px solid rgba(216,178,76,.34) !important;
  border-radius:22px !important;
  box-shadow:0 14px 36px rgba(0,0,0,.24) !important;
}

body.admin103-match-edit .card h2,
body.admin103-match-edit .card h3{
  color:#f1d77a !important;
}

body.admin103-match-edit .card p,
body.admin103-match-edit .card span,
body.admin103-match-edit .card td,
body.admin103-match-edit .card th,
body.admin103-match-edit .card label{
  color:#ffffff !important;
}

body.admin103-match-edit .muted,
body.admin103-match-edit small{
  color:rgba(255,255,255,.68) !important;
}

body.admin103-match-edit .notice{
  color:#071421 !important;
}

body.admin103-match-edit .notice.success{
  background:#dff7ea !important;
  border-color:#9eddb7 !important;
  color:#073d25 !important;
}

body.admin103-match-edit .notice.error{
  background:#ffe1e1 !important;
  border-color:#f0a4a4 !important;
  color:#5b1111 !important;
}

body.admin103-match-edit .admin97-debug,
body.admin103-match-edit .admin96-create-holes,
body.admin103-match-edit .admin94-hole-edit{
  background:rgba(5,18,32,.44) !important;
  border:1px solid rgba(216,178,76,.24) !important;
  color:#ffffff !important;
}

body.admin103-match-edit .admin94-hole-edit strong{
  color:#f1d77a !important;
}

body.admin103-match-edit .admin94-hole-edit span{
  color:rgba(255,255,255,.72) !important;
}

body.admin103-match-edit input,
body.admin103-match-edit select,
body.admin103-match-edit textarea{
  background:#ffffff !important;
  color:#071421 !important;
  border:1px solid rgba(216,178,76,.46) !important;
  border-radius:12px !important;
  min-height:42px !important;
}

body.admin103-match-edit input::placeholder{
  color:rgba(7,20,33,.50) !important;
}

body.admin103-match-edit .btn,
body.admin103-match-edit button{
  border:1px solid rgba(216,178,76,.55) !important;
  color:#f1d77a !important;
  background:rgba(5,18,32,.46) !important;
  font-weight:900 !important;
}

body.admin103-match-edit .btn.primary,
body.admin103-match-edit button.btn.primary{
  background:linear-gradient(180deg,#f1d77a,#d8b24c) !important;
  color:#071421 !important;
  border:0 !important;
}

body.admin103-match-edit .btn.small{
  background:rgba(216,178,76,.14) !important;
  color:#f1d77a !important;
}

/* helles Kopf-/Dateicheck-Feld oben im Admin nicht mehr fast unsichtbar */
body.admin103-match-edit .admin99-hardcheck{
  background:rgba(5,18,32,.50) !important;
  border:1px solid rgba(216,178,76,.42) !important;
}

/* Scorekarte */
.score103-body .score94-card{
  background:linear-gradient(180deg,rgba(22,43,61,.96),rgba(11,31,49,.96)) !important;
  color:#ffffff !important;
  border-color:rgba(216,178,76,.34) !important;
}

.score103-body .score94-card h2,
.score103-body .score94-card h3{
  color:#f1d77a !important;
}

.score103-body .score94-muted,
.score103-body .score94-card p{
  color:rgba(255,255,255,.76) !important;
}

.score103-body .score94-facts div,
.score103-body .score94-hole{
  background:rgba(5,18,32,.44) !important;
  border:1px solid rgba(216,178,76,.22) !important;
}

.score103-body .score94-facts span,
.score103-body .score94-hole-head span,
.score103-body .score94-hole small{
  color:rgba(255,255,255,.66) !important;
}

.score103-body .score94-facts strong,
.score103-body .score94-hole-players span{
  color:#ffffff !important;
}

.score103-body .score94-hole-players div{
  background:rgba(255,255,255,.035) !important;
  border-color:rgba(255,255,255,.11) !important;
}

.score103-body .score94-hole-players div.winner{
  background:rgba(216,178,76,.10) !important;
  border-color:rgba(216,178,76,.55) !important;
}

.score103-body .score94-hole-status{
  color:rgba(255,255,255,.78) !important;
}

@media(max-width:760px){
  body.admin103-match-edit .card{
    border-radius:18px !important;
  }

  body.admin103-match-edit .admin94-hole-edit{
    grid-template-columns:1fr !important;
  }
}


/* v104: Cache-/Dateiversionsseite ebenfalls im dunklen Adminlayout */
body.admin104-cache-page{
  background:#071421 !important;
  color:#ffffff !important;
}

body.admin104-cache-page .container{
  color:#ffffff !important;
}

body.admin104-cache-page .card{
  background:linear-gradient(180deg,rgba(22,43,61,.96),rgba(11,31,49,.96)) !important;
  color:#ffffff !important;
  border:1px solid rgba(216,178,76,.34) !important;
  border-radius:22px !important;
  box-shadow:0 14px 36px rgba(0,0,0,.24) !important;
}

body.admin104-cache-page .card h2,
body.admin104-cache-page .card h3{
  color:#f1d77a !important;
}

body.admin104-cache-page .card p,
body.admin104-cache-page .card td,
body.admin104-cache-page .card th{
  color:#ffffff !important;
}

body.admin104-cache-page .muted{
  color:rgba(255,255,255,.70) !important;
}

body.admin104-cache-page table{
  width:100% !important;
  border-collapse:separate !important;
  border-spacing:0 !important;
  background:rgba(5,18,32,.44) !important;
  border:1px solid rgba(216,178,76,.22) !important;
  border-radius:14px !important;
  overflow:hidden !important;
}

body.admin104-cache-page th{
  background:rgba(216,178,76,.14) !important;
  color:#f1d77a !important;
  font-weight:900 !important;
}

body.admin104-cache-page td{
  background:rgba(5,18,32,.36) !important;
  border-top:1px solid rgba(255,255,255,.08) !important;
}

body.admin104-cache-page code{
  color:#f1d77a !important;
}

body.admin104-cache-page .notice{
  color:#071421 !important;
}

body.admin104-cache-page .notice.success{
  background:#dff7ea !important;
  border-color:#9eddb7 !important;
  color:#073d25 !important;
}

body.admin104-cache-page .notice.error{
  background:#ffe1e1 !important;
  border-color:#f0a4a4 !important;
  color:#5b1111 !important;
}

/* Buttons in der Matchliste waren leer/unsichtbar */
body.admin104-cache-page .btn,
body.admin104-cache-page a.btn,
body.admin104-cache-page button{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:92px !important;
  min-height:34px !important;
  padding:8px 12px !important;
  border-radius:12px !important;
  border:1px solid rgba(216,178,76,.55) !important;
  background:rgba(216,178,76,.14) !important;
  color:#f1d77a !important;
  text-decoration:none !important;
  font-weight:900 !important;
  opacity:1 !important;
  visibility:visible !important;
  font-size:.92rem !important;
}

body.admin104-cache-page a.btn.small:first-child::before{
  content:"Bearbeiten";
}

body.admin104-cache-page a.btn.small:nth-child(2)::before{
  content:"Scorekarte";
}

body.admin104-cache-page a.btn.small{
  color:transparent !important;
  position:relative !important;
}

body.admin104-cache-page a.btn.small::before{
  color:#f1d77a !important;
  position:absolute !important;
}

@media(max-width:760px){
  body.admin104-cache-page .card{
    border-radius:18px !important;
  }

  body.admin104-cache-page table{
    display:block !important;
    overflow-x:auto !important;
  }
}


/* v105: Emblem im Hero entfernt */
.plain47-hero-emblem-wrap,
.plain47-hero-emblem{
  display:none !important;
}


/* v106 – Adminbereich optisch an Hauptlayout angepasst */
body.admin-premium{
  background:
    radial-gradient(circle at 18% 12%, rgba(216,178,76,.10), transparent 20%),
    radial-gradient(circle at 82% 16%, rgba(15,122,77,.18), transparent 20%),
    linear-gradient(115deg, #05162b 0%, #0a2643 48%, #061a2f 100%);
  color:#f5f7fb;
  min-height:100vh;
}

.admin-premium .header{
  background:rgba(6, 25, 46, .72);
  backdrop-filter: blur(8px);
  border-bottom:1px solid rgba(216,178,76,.45);
  box-shadow:0 14px 40px rgba(0,0,0,.25);
}
.admin-premium .header h1{color:#fff; font-size:40px; font-weight:900; letter-spacing:-.02em}
.admin-premium .header p{color:rgba(255,255,255,.78)}
.admin-premium .nav{gap:12px}
.admin-premium .nav a{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(216,178,76,.55);
  color:#fff;
  box-shadow:0 10px 24px rgba(0,0,0,.12);
}
.admin-premium .nav a:hover{background:rgba(216,178,76,.12); text-decoration:none}

.admin-premium .container{max-width:1480px; margin:22px auto 42px; padding:0 20px}
.admin-premium .card,
.admin-premium main.container.narrow.card{
  background:linear-gradient(180deg, rgba(20,40,69,.92), rgba(10,29,50,.88));
  border:1px solid rgba(216,178,76,.55);
  border-radius:24px;
  box-shadow:0 18px 50px rgba(0,0,0,.24);
  color:#f5f7fb;
}
.admin-premium .card h2,
.admin-premium .card h3,
.admin-premium .card h4,
.admin-premium .container > h1,
.admin-premium .container > h2,
.admin-premium .container > h3{
  color:#f1d77a;
  letter-spacing:.01em;
}
.admin-premium .muted,
.admin-premium p,
.admin-premium li,
.admin-premium small,
.admin-premium td,
.admin-premium th,
.admin-premium label,
.admin-premium .card .muted{color:rgba(245,247,251,.87)}
.admin-premium .danger-zone{
  background:linear-gradient(180deg, rgba(68,20,20,.84), rgba(35,16,18,.82));
  border-color:rgba(255,133,133,.42);
}
.admin-premium hr{border:0; border-top:1px solid rgba(216,178,76,.35); margin:18px 0}

.admin-premium table{
  background:rgba(7,23,40,.78);
  border:1px solid rgba(216,178,76,.28);
  border-radius:18px;
  overflow:hidden;
}
.admin-premium th{
  background:rgba(216,178,76,.16);
  color:#f1d77a;
  font-weight:900;
  border-bottom:1px solid rgba(216,178,76,.28);
}
.admin-premium td{border-bottom:1px solid rgba(255,255,255,.08)}
.admin-premium tr:hover td{background:rgba(255,255,255,.02)}
.admin-premium a{color:#9dd2ff}
.admin-premium a:hover{color:#fff}

.admin-premium input,
.admin-premium select,
.admin-premium textarea{
  background:rgba(6,23,40,.82);
  color:#fff;
  border:1px solid rgba(216,178,76,.40);
  border-radius:12px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.02);
}
.admin-premium input::placeholder,
.admin-premium textarea::placeholder{color:rgba(255,255,255,.45)}
.admin-premium input:focus,
.admin-premium select:focus,
.admin-premium textarea:focus{
  outline:none;
  border-color:#f1d77a;
  box-shadow:0 0 0 3px rgba(216,178,76,.18);
}
.admin-premium option{color:#111}

.admin-premium .btn{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(216,178,76,.6);
  color:#fff;
  font-weight:900;
  box-shadow:0 12px 28px rgba(0,0,0,.18);
}
.admin-premium .btn:hover{text-decoration:none; filter:brightness(1.05)}
.admin-premium .btn.primary,
.admin-premium .btn.gold{
  background:linear-gradient(180deg, #f1d77a, #d8b24c);
  color:#122033;
  border-color:rgba(216,178,76,.92);
}
.admin-premium .btn.danger{
  background:rgba(127,29,29,.18);
  color:#ffd8d6;
  border-color:rgba(255,133,133,.6);
}
.admin-premium .btn.small{padding:8px 12px; border-radius:10px; font-size:13px}
.admin-premium button:not(.btn),
.admin-premium input[type="submit"]{
  display:inline-flex; align-items:center; justify-content:center;
  min-height:42px; padding:10px 14px; border-radius:12px;
  background:linear-gradient(180deg, #f1d77a, #d8b24c);
  color:#122033; border:1px solid rgba(216,178,76,.92); font-weight:900; cursor:pointer;
  box-shadow:0 12px 28px rgba(0,0,0,.18);
}
.admin-premium input[type="checkbox"]{width:18px; height:18px; accent-color:#d8b24c; box-shadow:none}

.admin-premium .notice.success{background:rgba(20,83,45,.36); color:#d8ffea; border:1px solid rgba(74,222,128,.35)}
.admin-premium .notice.error{background:rgba(127,29,29,.30); color:#ffd8d6; border:1px solid rgba(255,133,133,.35)}
.admin-premium .notice.info{background:rgba(12,74,110,.32); color:#d8f0ff; border:1px solid rgba(56,189,248,.35)}
.admin-premium .badge{background:rgba(255,255,255,.08); color:#fff; border:1px solid rgba(216,178,76,.42)}
.admin-premium .badge.open{background:rgba(59,130,246,.16); color:#cde6ff}
.admin-premium .badge.finished{background:rgba(20,83,45,.38); color:#d9ffe6}
.admin-premium .badge.waiting{background:rgba(146,64,14,.30); color:#ffe2aa}
.admin-premium .badge.locked{background:rgba(127,29,29,.3); color:#ffd5d2}

.admin-premium .formgrid{gap:16px}
.admin-premium .bulk-delete-top .formgrid{grid-template-columns:minmax(240px,1.05fr) minmax(300px,1.4fr) auto; align-items:end}
.admin-premium .bulk-delete-top p{margin:0}
.admin-premium .actions{gap:12px}
.admin-premium .footer{color:rgba(255,255,255,.6)}

/* Spezifische Feinanpassungen Adminseiten */
.admin-premium .matches-links a{display:inline-block; margin:0 0 6px}
.admin-premium td form{margin:0}
.admin-premium td .btn{margin-top:2px}
.admin-premium .card table select,
.admin-premium .card table input{min-height:40px}
.admin-premium .card table .btn.small{margin-top:4px}
.admin-premium .card table tbody tr td:last-child{min-width:240px}
.admin-premium .card table tbody tr td:nth-child(5){min-width:120px}

.admin-premium .two{gap:16px}
@media(max-width:900px){
  .admin-premium .header h1{font-size:32px}
  .admin-premium .bulk-delete-top .formgrid{grid-template-columns:1fr}
}


/* v112 – Admin-Version oben rechts + harte Admin-Dark-Optik */

/* Version immer sichtbar */
.admin-header-v112{
  position:relative !important;
  background:
    radial-gradient(circle at 20% 0%, rgba(216,178,76,.10), transparent 28%),
    linear-gradient(135deg,#06172a,#0b2a46) !important;
  border-bottom:1px solid rgba(216,178,76,.48) !important;
  color:#ffffff !important;
}

.admin-title-row{
  display:flex !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  gap:18px !important;
}

.admin-version-badge{
  position:absolute !important;
  top:16px !important;
  right:18px !important;
  z-index:9999 !important;
  min-width:66px !important;
  text-align:center !important;
  padding:8px 12px !important;
  border-radius:999px !important;
  background:linear-gradient(180deg,#f1d77a,#d8b24c) !important;
  color:#071421 !important;
  font-weight:950 !important;
  font-size:15px !important;
  border:1px solid rgba(255,255,255,.35) !important;
  box-shadow:0 12px 30px rgba(0,0,0,.32) !important;
}

.admin-header-v112 h1{
  color:#ffffff !important;
  padding-right:90px !important;
}

.admin-header-v112 p{
  color:rgba(255,255,255,.78) !important;
}

.admin-header-v112 .nav a{
  background:rgba(255,255,255,.08) !important;
  color:#ffffff !important;
  border:1px solid rgba(216,178,76,.62) !important;
  border-radius:12px !important;
  box-shadow:none !important;
}

.admin-header-v112 .nav a:hover{
  background:rgba(216,178,76,.16) !important;
  text-decoration:none !important;
}

/* Harte Admin-Optik: greift auf jede Adminseite sobald der Header vorhanden ist */
body:has(.admin-header-v112),
body.admin-v112,
body.admin-premium{
  background:
    radial-gradient(circle at 18% 12%, rgba(216,178,76,.10), transparent 22%),
    linear-gradient(115deg, #05162b 0%, #0a2643 48%, #061a2f 100%) !important;
  color:#f5f7fb !important;
  min-height:100vh !important;
}

body:has(.admin-header-v112) .container,
body.admin-v112 .container,
body.admin-premium .container{
  max-width:1480px !important;
  color:#f5f7fb !important;
}

body:has(.admin-header-v112) .card,
body.admin-v112 .card,
body.admin-premium .card,
body:has(.admin-header-v112) main.container.narrow.card,
body.admin-v112 main.container.narrow.card{
  background:linear-gradient(180deg, rgba(20,40,69,.96), rgba(10,29,50,.94)) !important;
  color:#f5f7fb !important;
  border:1px solid rgba(216,178,76,.50) !important;
  border-radius:24px !important;
  box-shadow:0 18px 50px rgba(0,0,0,.28) !important;
}

body:has(.admin-header-v112) .card h1,
body:has(.admin-header-v112) .card h2,
body:has(.admin-header-v112) .card h3,
body.admin-v112 .card h1,
body.admin-v112 .card h2,
body.admin-v112 .card h3,
body.admin-premium .card h1,
body.admin-premium .card h2,
body.admin-premium .card h3{
  color:#f1d77a !important;
}

body:has(.admin-header-v112) .card p,
body:has(.admin-header-v112) .card li,
body:has(.admin-header-v112) .card span,
body:has(.admin-header-v112) .card label,
body:has(.admin-header-v112) .card td,
body:has(.admin-header-v112) .card th,
body.admin-v112 .card p,
body.admin-v112 .card li,
body.admin-v112 .card span,
body.admin-v112 .card label,
body.admin-v112 .card td,
body.admin-v112 .card th{
  color:#f5f7fb !important;
}

body:has(.admin-header-v112) .muted,
body.admin-v112 .muted,
body.admin-premium .muted{
  color:rgba(245,247,251,.72) !important;
}

body:has(.admin-header-v112) table,
body.admin-v112 table,
body.admin-premium table{
  background:rgba(7,23,40,.78) !important;
  border:1px solid rgba(216,178,76,.28) !important;
  border-radius:18px !important;
  overflow:hidden !important;
}

body:has(.admin-header-v112) th,
body.admin-v112 th,
body.admin-premium th{
  background:rgba(216,178,76,.16) !important;
  color:#f1d77a !important;
  border-bottom:1px solid rgba(216,178,76,.28) !important;
}

body:has(.admin-header-v112) td,
body.admin-v112 td,
body.admin-premium td{
  background:rgba(5,18,32,.32) !important;
  border-bottom:1px solid rgba(255,255,255,.08) !important;
}

body:has(.admin-header-v112) input,
body:has(.admin-header-v112) select,
body:has(.admin-header-v112) textarea,
body.admin-v112 input,
body.admin-v112 select,
body.admin-v112 textarea,
body.admin-premium input,
body.admin-premium select,
body.admin-premium textarea{
  background:#ffffff !important;
  color:#071421 !important;
  border:1px solid rgba(216,178,76,.48) !important;
  border-radius:12px !important;
  min-height:42px !important;
}

body:has(.admin-header-v112) option,
body.admin-v112 option{
  color:#071421 !important;
}

body:has(.admin-header-v112) .btn,
body:has(.admin-header-v112) button,
body.admin-v112 .btn,
body.admin-v112 button,
body.admin-premium .btn,
body.admin-premium button{
  border:1px solid rgba(216,178,76,.62) !important;
  background:rgba(216,178,76,.14) !important;
  color:#f1d77a !important;
  font-weight:900 !important;
  box-shadow:0 12px 28px rgba(0,0,0,.18) !important;
  opacity:1 !important;
  visibility:visible !important;
}

body:has(.admin-header-v112) .btn.primary,
body:has(.admin-header-v112) .btn.gold,
body:has(.admin-header-v112) button.btn.primary,
body.admin-v112 .btn.primary,
body.admin-v112 .btn.gold,
body.admin-v112 button.btn.primary{
  background:linear-gradient(180deg,#f1d77a,#d8b24c) !important;
  color:#071421 !important;
  border-color:rgba(216,178,76,.92) !important;
}

body:has(.admin-header-v112) .btn.danger,
body.admin-v112 .btn.danger{
  background:rgba(127,29,29,.18) !important;
  color:#ffd8d6 !important;
  border-color:rgba(255,133,133,.60) !important;
}

/* Spieler-/Match-/Adminseiten: Linkbuttons nicht mehr leer */
body:has(.admin-header-v112) a.btn.small,
body.admin-v112 a.btn.small{
  min-width:92px !important;
  min-height:34px !important;
  justify-content:center !important;
}

body:has(.admin-header-v112) .notice.success,
body.admin-v112 .notice.success{
  background:rgba(20,83,45,.36) !important;
  color:#d8ffea !important;
  border:1px solid rgba(74,222,128,.35) !important;
}

body:has(.admin-header-v112) .notice.error,
body.admin-v112 .notice.error{
  background:rgba(127,29,29,.30) !important;
  color:#ffd8d6 !important;
  border:1px solid rgba(255,133,133,.35) !important;
}

body:has(.admin-header-v112) .danger-zone,
body.admin-v112 .danger-zone{
  background:linear-gradient(180deg, rgba(68,20,20,.84), rgba(35,16,18,.82)) !important;
  border-color:rgba(255,133,133,.42) !important;
}

body:has(.admin-header-v112) .badge,
body.admin-v112 .badge{
  border:1px solid rgba(216,178,76,.42) !important;
}

/* Fallback für Browser ohne :has(): ab v112 hat jede Adminseite body.admin-v112 */
@supports not selector(body:has(.admin-header-v112)){
  body.admin-v112{
    background:linear-gradient(115deg,#05162b,#0a2643,#061a2f) !important;
  }
}

@media(max-width:760px){
  .admin-version-badge{
    top:12px !important;
    right:12px !important;
    font-size:13px !important;
    padding:6px 10px !important;
  }
  .admin-header-v112 h1{
    font-size:28px !important;
    padding-right:78px !important;
  }
  body:has(.admin-header-v112) table,
  body.admin-v112 table{
    display:block !important;
    overflow-x:auto !important;
  }
}


/* v112 – Live-Baum direkt in der Hauptseite statt Fremdseite */
.home110-toggle-card{
  margin:18px 0 0;
}

.home110-toggle{
  display:inline-flex;
  gap:8px;
  padding:6px;
  border:1px solid rgba(216,178,76,.34);
  border-radius:999px;
  background:rgba(5,18,32,.42);
  box-shadow:0 14px 34px rgba(0,0,0,.18);
}

.home110-toggle a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:9px 18px;
  border-radius:999px;
  color:rgba(255,255,255,.78);
  font-weight:900;
  text-decoration:none;
  border:1px solid transparent;
}

.home110-toggle a.active{
  background:linear-gradient(180deg,#f1d77a,#d8b24c);
  color:#071421;
  border-color:rgba(216,178,76,.82);
}

.home110-toggle a:not(.active):hover{
  background:rgba(216,178,76,.12);
  color:#f1d77a;
}

.home110-tree-only,
.home110-overview-cards{
  margin-top:18px !important;
}

.home110-big-tree-card{
  grid-column:1 / -1 !important;
  padding:24px !important;
}

.home110-big-tree-card .started80-bracket-block{
  margin-top:18px;
  padding:18px;
  border:1px solid rgba(216,178,76,.28);
  border-radius:20px;
  background:rgba(5,18,32,.28);
}

.home110-big-tree-card .started80-bracket-block h3{
  color:#f1d77a !important;
  margin:0 0 14px !important;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:1rem;
}

.home110-big-tree-card .started80-rounds{
  gap:18px !important;
  overflow-x:auto;
  padding-bottom:12px;
}

.home110-big-tree-card .started80-round{
  min-width:230px;
}

.home110-big-tree-card .started80-match{
  border:1px solid rgba(216,178,76,.34) !important;
  background:linear-gradient(180deg,rgba(22,43,61,.96),rgba(11,31,49,.96)) !important;
  color:#fff !important;
  box-shadow:0 12px 28px rgba(0,0,0,.20);
}

.home110-big-tree-card .started80-match.finished{
  border-color:rgba(241,215,122,.62) !important;
}

.home110-big-tree-card .started80-match-top span{
  color:#f1d77a !important;
}

.home110-big-tree-card .started80-player{
  color:#fff !important;
}

.home110-big-tree-card .started80-player.winner{
  color:#f1d77a !important;
}

.home110-big-tree-card .started80-result{
  color:rgba(255,255,255,.78) !important;
}

@media(max-width:760px){
  .home110-toggle{
    display:flex;
    width:100%;
  }
  .home110-toggle a{
    flex:1;
    padding:9px 10px;
  }
  .home110-big-tree-card{
    padding:16px !important;
  }
  .home110-big-tree-card .started80-bracket-block{
    padding:14px;
  }
  .home110-big-tree-card .started80-round{
    min-width:220px;
  }
}


/* v112 – kaputte Doppelansicht nach Turnierstart entfernt */
.started111-view{
  display:block;
}

.started111-hero{
  margin-bottom:18px !important;
}

.started111-view .plain47-cards{
  margin-top:18px !important;
}

.started111-view .home110-toggle-card{
  display:flex;
  justify-content:flex-start;
}

@media(max-width:760px){
  .started111-hero{
    display:block !important;
  }
  .started111-hero .plain47-hero-panel{
    margin-top:16px;
  }
}


/* v118 – Live-Turnierbaum mobil kompakt und ohne horizontales Scrollen */
.home112-tree-card{ overflow:hidden; }
.home112-card-head{ margin-bottom:16px; }
.home112-inner-toggle{ display:inline-flex; gap:8px; padding:6px; margin:4px 0 22px; border:1px solid rgba(216,178,76,.34); border-radius:999px; background:rgba(5,18,32,.44); }
.home112-inner-toggle a{ display:inline-flex; align-items:center; justify-content:center; min-height:36px; padding:8px 16px; border-radius:999px; text-decoration:none; color:rgba(255,255,255,.76); font-weight:900; border:1px solid transparent; }
.home112-inner-toggle a.active{ background:linear-gradient(180deg,#f1d77a,#d8b24c); color:#071421; border-color:rgba(216,178,76,.82); }
.home112-inner-toggle a:not(.active):hover{ color:#f1d77a; background:rgba(216,178,76,.12); }
.home112-visual-block{ margin-top:18px; padding:18px; border:1px solid rgba(216,178,76,.28); border-radius:20px; background:radial-gradient(circle at 18% 10%, rgba(216,178,76,.08), transparent 22%), rgba(5,18,32,.30); }
.home112-visual-title{ display:flex; justify-content:space-between; gap:16px; align-items:flex-end; margin-bottom:14px; }
.home112-visual-title h3{ margin:0; color:#f1d77a; text-transform:uppercase; letter-spacing:.08em; font-size:1rem; }
.home112-visual-title span{ color:rgba(255,255,255,.70); font-weight:800; font-size:.82rem; }
.home112-visual-scroll{ overflow-x:auto; overflow-y:hidden; padding:4px 4px 18px; }
.home112-visual-tree{ display:grid; grid-template-columns:repeat(var(--round-count), 200px); gap:54px; min-width:max-content; align-items:start; }
.home112-visual-round{ width:200px; min-width:0; }
.home112-visual-round h4{ margin:0 0 14px; color:#f1d77a; text-transform:uppercase; letter-spacing:.09em; font-size:.76rem; line-height:1.15; word-break:break-word; }
.home112-visual-stack{ display:flex; flex-direction:column; gap:18px; }
.home112-visual-round:nth-child(2) .home112-visual-stack{ padding-top:44px; }
.home112-visual-round:nth-child(3) .home112-visual-stack{ padding-top:94px; }
.home112-visual-round:nth-child(4) .home112-visual-stack{ padding-top:158px; }
.home112-visual-round:nth-child(5) .home112-visual-stack{ padding-top:222px; }
.home112-visual-round:nth-child(6) .home112-visual-stack{ padding-top:286px; }
.home112-visual-match{ position:relative; display:block; width:100%; max-width:190px; min-height:58px; padding:10px 12px; border-radius:14px; text-decoration:none; background:linear-gradient(180deg,#f1d77a,#e0c15c); border:1px solid rgba(216,178,76,.85); box-shadow:0 12px 22px rgba(0,0,0,.22); box-sizing:border-box; overflow:visible; }
.home112-visual-match::after{ content:""; position:absolute; top:50%; right:-22px; width:22px; border-top:2px dashed rgba(216,178,76,.75); transform:translateY(-50%); }
.home112-visual-round:last-child .home112-visual-match::after{ display:none; }
.home112-visual-match.final{ background:linear-gradient(180deg,#10853f,#0b6f34); border-color:rgba(241,215,122,.72); }
.home112-code, .home112-visual-match .home112-code{ display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:6px; color:rgba(7,20,33,.88) !important; font-size:.72rem; font-weight:950; text-transform:uppercase; }
.home112-visual-match.final .home112-code{ color:rgba(255,255,255,.92) !important; }
.home112-code span{ width:9px; height:9px; border-radius:999px; background:#9ca3af; box-shadow:0 0 0 2px rgba(255,255,255,.30); flex:0 0 9px; }
.home112-visual-match.open .home112-code span, .home112-visual-match.in_progress .home112-code span{ background:#3b82f6; }
.home112-visual-match.finished .home112-code span{ background:#16a34a; }
.home112-visual-match strong, .home112-visual-match strong.winner, .home112-visual-match em{ display:block; line-height:1.18; color:#071421 !important; opacity:1 !important; word-break:break-word; }
.home112-visual-match strong{ font-size:.92rem; font-weight:950; }
.home112-visual-match strong + strong{ margin-top:4px; }
.home112-visual-match strong.winner{ color:#071421 !important; }
.home112-visual-match.final strong, .home112-visual-match.final strong.winner, .home112-visual-match.final em{ color:#ffffff !important; }
.home112-visual-match em{ margin-top:6px; font-style:normal; font-size:.78rem; font-weight:800; color:rgba(7,20,33,.80) !important; }
.home112-visual-match.final em{ color:rgba(255,255,255,.82) !important; }
@media(max-width:760px){
  .home112-inner-toggle{ display:flex; width:100%; }
  .home112-inner-toggle a{ flex:1; padding:8px 10px; }
  .home112-visual-block{ padding:12px 10px; border-radius:18px; }
  .home112-visual-title{ display:block; margin-bottom:10px; }
  .home112-visual-title h3{ font-size:.95rem; }
  .home112-visual-title span{ display:block; margin-top:4px; font-size:.78rem; }
  .home112-visual-scroll{ overflow-x:hidden; padding:2px 0 10px; }
  .home112-visual-tree{ width:100%; min-width:0; grid-template-columns:repeat(var(--round-count), minmax(0, 1fr)); gap:10px; }
  .home112-visual-round{ width:auto; }
  .home112-visual-round h4{ margin:0 0 10px; font-size:.68rem; }
  .home112-visual-stack{ gap:14px; }
  .home112-visual-round:nth-child(2) .home112-visual-stack{ padding-top:32px; }
  .home112-visual-round:nth-child(3) .home112-visual-stack{ padding-top:68px; }
  .home112-visual-round:nth-child(4) .home112-visual-stack{ padding-top:104px; }
  .home112-visual-round:nth-child(5) .home112-visual-stack{ padding-top:140px; }
  .home112-visual-round:nth-child(6) .home112-visual-stack{ padding-top:176px; }
  .home112-visual-match{ max-width:none; min-height:44px; padding:8px 8px 7px; border-radius:12px; box-shadow:0 8px 18px rgba(0,0,0,.18); }
  .home112-visual-match::after{ right:-10px; width:10px; border-top-width:2px; }
  .home112-code, .home112-visual-match .home112-code{ margin-bottom:4px; gap:4px; font-size:.58rem; }
  .home112-code span{ width:7px; height:7px; flex-basis:7px; }
  .home112-visual-match strong{ font-size:.72rem; line-height:1.14; }
  .home112-visual-match strong + strong{ margin-top:3px; }
  .home112-visual-match em{ margin-top:4px; font-size:.62rem; line-height:1.12; }
}


/* v117 – oberen Hauptseiten-Umschalter entfernt */
.started111-view > .home110-toggle-card{
  display:none !important;
}


/* v117 – Live-Turnierbaum immer auf der Startseite sichtbar */
.home110-tree-only{
  display:grid !important;
}


/* v117 – Baum oben, restliche Inhalte darunter wieder sichtbar */
.started116-view{
  display:block;
}

.started116-view .home110-tree-only{
  display:grid !important;
  margin-top:18px !important;
}

.started116-rules,
.started116-deadlines,
.started116-system{
  grid-column:1 / -1 !important;
}

.started116-rules{
  margin-top:4px;
}

.started116-deadlines,
.started116-system{
  margin-top:0;
}

@media(min-width:980px){
  .started116-rules{
    grid-column:1 / 7 !important;
  }
  .started116-deadlines{
    grid-column:7 / -1 !important;
  }
  .started116-system{
    grid-column:1 / -1 !important;
  }
}


/* v117 – Live-Turnierbaum-Kachel volle Breite statt schmaler Spalte */
.started117-main-grid{
  display:grid !important;
  grid-template-columns:repeat(12, minmax(0, 1fr)) !important;
  gap:22px !important;
  width:100% !important;
  align-items:start !important;
}

.started117-main-grid > .home112-tree-card,
.started117-main-grid > .home110-big-tree-card,
.started117-main-grid > .started80-live-tree{
  grid-column:1 / -1 !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
}

.started117-main-grid .started80-head,
.started117-main-grid .home112-card-head{
  display:flex !important;
  justify-content:space-between !important;
  align-items:flex-start !important;
  gap:18px !important;
  width:100% !important;
}

.started117-main-grid .home112-inner-toggle{
  max-width:100% !important;
  flex-wrap:wrap !important;
}

.started117-main-grid .home112-visual-scroll{
  width:100% !important;
  max-width:100% !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
}

.started117-main-grid .home112-visual-tree{
  min-width:max-content !important;
}

.started117-main-grid .started116-rules,
.started117-main-grid .started116-deadlines,
.started117-main-grid .started116-system{
  min-width:0 !important;
}

@media(min-width:980px){
  .started117-main-grid > .started116-rules{
    grid-column:1 / 7 !important;
  }
  .started117-main-grid > .started116-deadlines{
    grid-column:7 / -1 !important;
  }
  .started117-main-grid > .started116-system{
    grid-column:1 / -1 !important;
  }
}

@media(max-width:979px){
  .started117-main-grid{
    grid-template-columns:1fr !important;
  }
  .started117-main-grid > *{
    grid-column:1 / -1 !important;
  }
}


/* v137 – Admin Lesbarkeit: Matches/Spieler/Handicap-Felder */
body.admin-v107 .card,
body.admin-premium .card,
body:has(.admin-header-v107) .card{
  color:#ffffff !important;
}

body.admin-v107 .card h1,
body.admin-v107 .card h2,
body.admin-v107 .card h3,
body.admin-v107 .card h4,
body.admin-premium .card h1,
body.admin-premium .card h2,
body.admin-premium .card h3,
body.admin-premium .card h4,
body:has(.admin-header-v107) .card h1,
body:has(.admin-header-v107) .card h2,
body:has(.admin-header-v107) .card h3,
body:has(.admin-header-v107) .card h4{
  color:#f1d77a !important;
}

body.admin-v107 .card p,
body.admin-v107 .card label,
body.admin-v107 .card span,
body.admin-v107 .card small,
body.admin-v107 .card strong,
body.admin-v107 .card li,
body.admin-premium .card p,
body.admin-premium .card label,
body.admin-premium .card span,
body.admin-premium .card small,
body.admin-premium .card strong,
body.admin-premium .card li,
body:has(.admin-header-v107) .card p,
body:has(.admin-header-v107) .card label,
body:has(.admin-header-v107) .card span,
body:has(.admin-header-v107) .card small,
body:has(.admin-header-v107) .card strong,
body:has(.admin-header-v107) .card li{
  color:#ffffff !important;
}

body.admin-v107 .muted,
body.admin-premium .muted,
body:has(.admin-header-v107) .muted{
  color:rgba(255,255,255,.72) !important;
}

/* Tabellen: weiße Schrift erzwingen, nicht dunkel auf dunkel */
body.admin-v107 table,
body.admin-premium table,
body:has(.admin-header-v107) table{
  width:100% !important;
  background:rgba(5,18,32,.72) !important;
  border:1px solid rgba(216,178,76,.34) !important;
  border-radius:16px !important;
  border-collapse:separate !important;
  border-spacing:0 !important;
  overflow:hidden !important;
}

body.admin-v107 thead th,
body.admin-premium thead th,
body:has(.admin-header-v107) thead th{
  background:rgba(216,178,76,.18) !important;
  color:#f1d77a !important;
  font-weight:950 !important;
}

body.admin-v107 tbody td,
body.admin-v107 tbody td *,
body.admin-premium tbody td,
body.admin-premium tbody td *,
body:has(.admin-header-v107) tbody td,
body:has(.admin-header-v107) tbody td *{
  color:#ffffff !important;
}

body.admin-v107 tbody td,
body.admin-premium tbody td,
body:has(.admin-header-v107) tbody td{
  background:rgba(5,18,32,.52) !important;
  border-top:1px solid rgba(255,255,255,.08) !important;
  vertical-align:top !important;
}

body.admin-v107 tbody tr:hover td,
body.admin-premium tbody tr:hover td,
body:has(.admin-header-v107) tbody tr:hover td{
  background:rgba(216,178,76,.07) !important;
}

/* Links in Tabellen lesbar */
body.admin-v107 table a,
body.admin-premium table a,
body:has(.admin-header-v107) table a{
  color:#9dd2ff !important;
  font-weight:850 !important;
}

body.admin-v107 table a:hover,
body.admin-premium table a:hover,
body:has(.admin-header-v107) table a:hover{
  color:#ffffff !important;
}

/* Formulare: Labels sichtbar, Felder hell und gut lesbar */
body.admin-v107 form label,
body.admin-premium form label,
body:has(.admin-header-v107) form label{
  color:#ffffff !important;
  font-weight:900 !important;
}

body.admin-v107 input,
body.admin-v107 select,
body.admin-v107 textarea,
body.admin-premium input,
body.admin-premium select,
body.admin-premium textarea,
body:has(.admin-header-v107) input,
body:has(.admin-header-v107) select,
body:has(.admin-header-v107) textarea{
  background:#ffffff !important;
  color:#071421 !important;
  border:1px solid rgba(216,178,76,.64) !important;
  border-radius:12px !important;
  min-height:42px !important;
  font-weight:700 !important;
}

body.admin-v107 input::placeholder,
body.admin-v107 textarea::placeholder,
body.admin-premium input::placeholder,
body.admin-premium textarea::placeholder,
body:has(.admin-header-v107) input::placeholder,
body:has(.admin-header-v107) textarea::placeholder{
  color:rgba(7,20,33,.55) !important;
}

body.admin-v107 select option,
body.admin-premium select option,
body:has(.admin-header-v107) select option{
  color:#071421 !important;
  background:#ffffff !important;
}

/* Buttons: Text sichtbar */
body.admin-v107 .btn,
body.admin-v107 button,
body.admin-v107 input[type="submit"],
body.admin-premium .btn,
body.admin-premium button,
body.admin-premium input[type="submit"],
body:has(.admin-header-v107) .btn,
body:has(.admin-header-v107) button,
body:has(.admin-header-v107) input[type="submit"]{
  color:#f1d77a !important;
  background:rgba(216,178,76,.14) !important;
  border:1px solid rgba(216,178,76,.68) !important;
  font-weight:950 !important;
}

body.admin-v107 .btn.primary,
body.admin-v107 button.btn.primary,
body.admin-v107 input[type="submit"].primary,
body.admin-premium .btn.primary,
body.admin-premium button.btn.primary,
body.admin-premium input[type="submit"].primary,
body:has(.admin-header-v107) .btn.primary,
body:has(.admin-header-v107) button.btn.primary,
body:has(.admin-header-v107) input[type="submit"].primary{
  color:#071421 !important;
  background:linear-gradient(180deg,#f1d77a,#d8b24c) !important;
  border-color:rgba(216,178,76,.95) !important;
}

/* Spielerformular: Handicap-Feld nicht absaufen lassen */
body.admin-v107 .formgrid,
body.admin-premium .formgrid,
body:has(.admin-header-v107) .formgrid{
  align-items:end !important;
  gap:14px !important;
}

body.admin-v107 .formgrid > p,
body.admin-premium .formgrid > p,
body:has(.admin-header-v107) .formgrid > p{
  margin:0 0 12px !important;
}

body.admin-v107 .formgrid input,
body.admin-v107 .formgrid select,
body.admin-premium .formgrid input,
body.admin-premium .formgrid select,
body:has(.admin-header-v107) .formgrid input,
body:has(.admin-header-v107) .formgrid select{
  width:100% !important;
  box-sizing:border-box !important;
}

/* Matches verwalten: Manuell werten sauberer */
body.admin-v107 td form select,
body.admin-v107 td form input,
body.admin-premium td form select,
body.admin-premium td form input,
body:has(.admin-header-v107) td form select,
body:has(.admin-header-v107) td form input{
  width:100% !important;
  margin-bottom:6px !important;
}

body.admin-v107 .badge,
body.admin-premium .badge,
body:has(.admin-header-v107) .badge{
  color:#f1d77a !important;
  background:rgba(216,178,76,.14) !important;
  border:1px solid rgba(216,178,76,.56) !important;
}

/* Checkboxen bleiben sichtbar */
body.admin-v107 input[type="checkbox"],
body.admin-premium input[type="checkbox"],
body:has(.admin-header-v107) input[type="checkbox"]{
  width:18px !important;
  height:18px !important;
  min-height:18px !important;
  accent-color:#d8b24c !important;
}

/* iPad/Desktop Tabellenbereich nicht abdunkeln */
body.admin-v107 .card::before,
body.admin-premium .card::before,
body:has(.admin-header-v107) .card::before{
  display:none !important;
}


/* v137 – Admin Tabellenfelder wirklich lesbar, Spieler direkt bearbeitbar */

/* Der vorherige globale Tabellen-Farbzwang machte Eingabefelder in Tabellen unsichtbar. */
body.admin-v137 tbody td input,
body.admin-v137 tbody td select,
body.admin-v137 tbody td textarea,
body.admin-v107 tbody td input,
body.admin-v107 tbody td select,
body.admin-v107 tbody td textarea,
body.admin-premium tbody td input,
body.admin-premium tbody td select,
body.admin-premium tbody td textarea,
body:has(.admin-header-v107) tbody td input,
body:has(.admin-header-v107) tbody td select,
body:has(.admin-header-v107) tbody td textarea{
  color:#071421 !important;
  background:#ffffff !important;
  -webkit-text-fill-color:#071421 !important;
  opacity:1 !important;
  caret-color:#071421 !important;
}

body.admin-v137 tbody td input::placeholder,
body.admin-v107 tbody td input::placeholder,
body.admin-premium tbody td input::placeholder,
body:has(.admin-header-v107) tbody td input::placeholder{
  color:rgba(7,20,33,.56) !important;
  -webkit-text-fill-color:rgba(7,20,33,.56) !important;
}

/* Auch Text außerhalb von Feldern in Admin-Tabellen sicher hell. */
body.admin-v137 tbody td,
body.admin-v137 tbody td > span,
body.admin-v137 tbody td > strong,
body.admin-v137 tbody td > label,
body.admin-v137 tbody td > div,
body.admin-v137 tbody td a{
  color:#ffffff !important;
}

body.admin-v137 tbody td a{
  color:#9dd2ff !important;
}

/* Adminrechte: Felder nicht mehr wie leer */
body.admin-v137 .card table input,
body.admin-v137 .card table select{
  min-width:140px !important;
  color:#071421 !important;
  background:#fff !important;
  -webkit-text-fill-color:#071421 !important;
}

/* Spielerbereich: alle Spieler als editierbare Tabelle */
.admin121-players-table{
  table-layout:auto !important;
}

.admin121-players-table th,
.admin121-players-table td{
  white-space:normal !important;
}

.admin121-players-table input{
  width:100% !important;
  min-width:110px !important;
}

.admin121-players-table td:nth-child(4){
  min-width:150px !important;
}

.admin121-players-table td:nth-child(7) input{
  min-width:78px !important;
  max-width:110px !important;
}

.admin121-players-table .is-inactive td{
  opacity:.72 !important;
}

.admin121-checkline{
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
  color:#ffffff !important;
  font-weight:850 !important;
  white-space:nowrap !important;
}

.admin121-checkline input{
  width:18px !important;
  min-width:18px !important;
  height:18px !important;
  min-height:18px !important;
}

.admin121-actions{
  min-width:170px !important;
}

.admin121-actions form,
.admin121-actions button{
  margin:0 6px 6px 0 !important;
}

/* Formular „Neuen Spieler anlegen“: Handicap-Feld sauber sichtbar */
body.admin-v137 .formgrid{
  grid-template-columns:repeat(auto-fit, minmax(170px, 1fr)) !important;
}

body.admin-v137 .formgrid p label{
  color:#ffffff !important;
  margin-bottom:6px !important;
  display:block !important;
}

@media(max-width:900px){
  .admin121-players-table{
    display:block !important;
    overflow-x:auto !important;
  }
}


/* v137 – Spielerbereich: Teilnehmerliste zuerst, sichtbar, Bearbeiten möglich */
.admin122-player-list-card{
  margin-top:20px !important;
}

.admin122-players-table{
  width:100% !important;
  table-layout:auto !important;
}

.admin122-players-table th,
.admin122-players-table td{
  color:#ffffff !important;
  vertical-align:middle !important;
}

.admin122-players-table td strong{
  color:#ffffff !important;
}

.admin122-players-table td small{
  display:block !important;
  margin-top:3px !important;
  color:rgba(255,255,255,.68) !important;
}

.admin122-status{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:70px !important;
  padding:6px 10px !important;
  border-radius:999px !important;
  font-weight:950 !important;
  border:1px solid rgba(216,178,76,.55) !important;
}

.admin122-status.is-active{
  color:#d8ffea !important;
  background:rgba(20,83,45,.34) !important;
  border-color:rgba(74,222,128,.40) !important;
}

.admin122-status.is-off{
  color:#ffd8d6 !important;
  background:rgba(127,29,29,.24) !important;
  border-color:rgba(255,133,133,.36) !important;
}

.admin122-actions{
  white-space:nowrap !important;
  min-width:260px !important;
}

.admin122-actions form{
  display:inline-block !important;
  margin:0 4px 4px 0 !important;
}

.admin122-actions .btn{
  margin:0 4px 4px 0 !important;
}

/* Spielerformular: keine verschluckten Felder mehr */
.admin122-player-form{
  display:grid !important;
  grid-template-columns:repeat(6, minmax(120px, 1fr)) !important;
  gap:14px !important;
  align-items:end !important;
}

.admin122-player-form p{
  margin:0 !important;
}

.admin122-player-form label{
  display:block !important;
  color:#ffffff !important;
  font-weight:950 !important;
  margin-bottom:6px !important;
}

.admin122-player-form input{
  width:100% !important;
  box-sizing:border-box !important;
  color:#071421 !important;
  background:#ffffff !important;
  -webkit-text-fill-color:#071421 !important;
}

.admin122-checkcell label{
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
  min-height:42px !important;
  margin-bottom:0 !important;
}

.admin122-checkcell input{
  width:18px !important;
  min-width:18px !important;
  height:18px !important;
  min-height:18px !important;
  -webkit-text-fill-color:initial !important;
}

.admin122-form-actions{
  display:flex !important;
  gap:8px !important;
  flex-wrap:wrap !important;
}

/* Delete-Bereich unten kompakt */
.admin122-delete-grid{
  display:grid !important;
  grid-template-columns:1.1fr 1.4fr auto !important;
  gap:16px !important;
  align-items:end !important;
}

.admin122-delete-grid p{
  margin:0 !important;
}

.admin122-delete-grid label{
  color:#ffffff !important;
  font-weight:900 !important;
}

@media(max-width:1100px){
  .admin122-player-form{
    grid-template-columns:repeat(3, minmax(160px, 1fr)) !important;
  }
  .admin122-delete-grid{
    grid-template-columns:1fr !important;
  }
}

@media(max-width:760px){
  .admin122-player-form{
    grid-template-columns:1fr !important;
  }
  .admin122-players-table{
    display:block !important;
    overflow-x:auto !important;
  }
  .admin122-actions{
    min-width:220px !important;
  }
}


/* v137 – Spielerliste ohne HTML-Table, damit keine Zeilen verschwinden */
.admin123-player-list{
  display:block !important;
  width:100% !important;
  border:1px solid rgba(216,178,76,.36) !important;
  border-radius:18px !important;
  overflow:hidden !important;
  background:rgba(5,18,32,.48) !important;
}

.admin123-player-head,
.admin123-player-row{
  display:grid !important;
  grid-template-columns:120px minmax(180px,1.2fr) minmax(180px,1fr) minmax(140px,.8fr) 110px 110px minmax(260px,1.2fr) !important;
  gap:14px !important;
  align-items:center !important;
}

.admin123-player-head{
  padding:12px 14px !important;
  background:rgba(216,178,76,.18) !important;
  color:#f1d77a !important;
  font-weight:950 !important;
}

.admin123-player-head span{
  color:#f1d77a !important;
}

.admin123-player-row{
  padding:14px !important;
  border-top:1px solid rgba(255,255,255,.09) !important;
  color:#ffffff !important;
}

.admin123-player-row:nth-child(even){
  background:rgba(255,255,255,.025) !important;
}

.admin123-player-row *,
.admin123-player-row div,
.admin123-player-row strong,
.admin123-player-row small{
  color:#ffffff !important;
}

.admin123-player-row.is-inactive{
  opacity:.72 !important;
}

.admin123-name strong{
  display:block !important;
  font-weight:950 !important;
}

.admin123-name small{
  display:block !important;
  margin-top:3px !important;
  color:rgba(255,255,255,.68) !important;
}

.admin123-actions{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:6px !important;
  align-items:center !important;
}

.admin123-actions form{
  display:inline-flex !important;
  margin:0 !important;
}

.admin123-actions .btn{
  margin:0 !important;
}

@media(max-width:1100px){
  .admin123-player-head{
    display:none !important;
  }

  .admin123-player-row{
    grid-template-columns:1fr 1fr !important;
    gap:10px 14px !important;
  }

  .admin123-player-row > div{
    min-width:0 !important;
  }

  .admin123-actions{
    grid-column:1 / -1 !important;
  }
}

@media(max-width:640px){
  .admin123-player-row{
    grid-template-columns:1fr !important;
  }
}


/* v137 – Admin E-Mail Sammelversand */
.email128-bulk-card{
  border-color:rgba(241,215,122,.58) !important;
}

.email128-bulk-card h2{
  color:#f1d77a !important;
}

.email128-bulk-card form{
  margin:16px 0 0 !important;
}

.email128-result{
  margin-top:18px !important;
  padding:14px !important;
  border:1px solid rgba(216,178,76,.34) !important;
  border-radius:16px !important;
  background:rgba(5,18,32,.42) !important;
}

.email128-result h3{
  margin:0 0 10px !important;
  color:#f1d77a !important;
}

.email128-result ul{
  margin:0 !important;
  padding-left:20px !important;
}

.email128-result li{
  margin:5px 0 !important;
  color:#fff !important;
}


/* v137 – Matchsetup HCP aus Datenbank vorbefüllen */
.match129-setup-correct{
  border-color:rgba(241,215,122,.55) !important;
}
.match129-setup-correct h2{
  color:#f1d77a !important;
}


/* v137 – Sicherheitsabfrage vor Rundenstart */
.match130-warning{
  margin:12px 0 18px !important;
  padding:12px 14px !important;
  border-radius:14px !important;
  border:1px solid rgba(216,178,76,.42) !important;
  background:rgba(216,178,76,.10) !important;
  color:#fff !important;
}

.match130-confirm[hidden]{
  display:none !important;
}

.match130-confirm{
  position:fixed !important;
  inset:0 !important;
  z-index:9999 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:18px !important;
  background:rgba(0,0,0,.68) !important;
  backdrop-filter:blur(5px) !important;
}

.match130-confirm-box{
  width:min(560px, 100%) !important;
  max-height:90vh !important;
  overflow:auto !important;
  padding:22px !important;
  border-radius:24px !important;
  border:1px solid rgba(216,178,76,.62) !important;
  background:linear-gradient(180deg,#14283f,#071a2e) !important;
  box-shadow:0 24px 80px rgba(0,0,0,.40) !important;
  color:#fff !important;
}

.match130-confirm-box h3{
  margin:0 0 8px !important;
  color:#f1d77a !important;
  font-size:1.45rem !important;
}

.match130-confirm-box p{
  color:#fff !important;
}

.match130-confirm-box dl{
  display:grid !important;
  gap:10px !important;
  margin:16px 0 !important;
}

.match130-confirm-box dl div{
  display:grid !important;
  grid-template-columns:1fr 1.2fr !important;
  gap:12px !important;
  padding:10px 12px !important;
  border-radius:14px !important;
  background:rgba(255,255,255,.055) !important;
  border:1px solid rgba(255,255,255,.09) !important;
}

.match130-confirm-box dt{
  color:#f1d77a !important;
  font-weight:950 !important;
}

.match130-confirm-box dd{
  margin:0 !important;
  color:#fff !important;
  font-weight:900 !important;
}

.match130-confirm-note{
  padding:12px 14px !important;
  border-radius:14px !important;
  background:rgba(216,178,76,.10) !important;
  border:1px solid rgba(216,178,76,.36) !important;
}

.match130-confirm-actions{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:10px !important;
  margin-top:14px !important;
}

@media(max-width:560px){
  .match130-confirm-box{
    padding:18px !important;
  }
  .match130-confirm-box dl div{
    grid-template-columns:1fr !important;
    gap:4px !important;
  }
  .match130-confirm-actions .btn{
    width:100% !important;
  }
}


/* v137 – Rundenstart Button/Fix + Scorekartenformat Print */
.match130-setup-form .btn.primary{opacity:1!important;}

/* v137 – Scorekarte: Matchstand-Spalte */
.w-stand{width:11%;}

.plain47-fee-line{display:inline-block;margin:10px 0 8px;padding:10px 14px;border-radius:999px;border:1px solid rgba(216,178,76,.55);background:rgba(216,178,76,.12);color:#f1d77a;font-weight:950;}

/* v170: visueller Winner Tree – identisches Layout auf dunkelblauem Hintergrund */
.home169-winner-block{
  margin-top:18px !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  overflow:hidden;
}
.home169-tree-shell{
  width:100%;
  overflow-x:auto;
  overflow-y:hidden;
  border-radius:18px;
  background:#132b42;
  border:1px solid rgba(216,178,76,.34);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.035),
    0 18px 42px rgba(0,0,0,.16);
}
.home169-canvas{
  position:relative;
  min-width:max-content;
  background:
    radial-gradient(circle at 48% 18%, rgba(216,178,76,.075), transparent 31%),
    linear-gradient(180deg,#172f47 0%,#10263a 100%);
}
.home169-round-label{
  position:absolute;
  z-index:3;
  top:12px;
  max-width:205px;
  color:#edcf62;
  font-size:12px;
  line-height:1.12;
  font-weight:950;
  letter-spacing:.075em;
  text-transform:uppercase;
  white-space:normal;
}
.home169-lines{
  position:absolute;
  inset:0;
  z-index:1;
  overflow:visible;
  pointer-events:none;
}
.home169-lines path{
  fill:none;
  stroke:#dcae18;
  stroke-width:1.8;
  stroke-linecap:butt;
  stroke-linejoin:miter;
  vector-effect:non-scaling-stroke;
}
.home169-lines path.future{
  stroke-dasharray:6 6;
}
.home169-lines path.done{
  stroke-dasharray:none;
}
.home169-match{
  position:absolute;
  z-index:2;
  display:block;
  box-sizing:border-box;
  width:190px;
  min-height:76px;
  padding:9px 10px 8px;
  overflow:hidden;
  border-radius:14px;
  text-decoration:none;
  color:#071421 !important;
  background-color:#efd875;
  background-image:linear-gradient(180deg,#fff0ad 0%,#e7c75d 100%);
  border:1px solid rgba(185,137,0,.52);
  box-shadow:0 10px 20px rgba(0,0,0,.17);
}
.home169-match:hover{
  transform:none;
  text-decoration:none;
}
.home169-match.final{
  background-color:#086a38;
  background-image:linear-gradient(180deg,#0d8043 0%,#086a38 100%);
  color:#fff !important;
  border-color:rgba(197,157,26,.72);
  box-shadow:0 12px 24px rgba(0,0,0,.22);
}
.home169-code{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin-bottom:6px;
  color:inherit !important;
  font-size:10px;
  line-height:1;
  font-weight:950;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.home169-match strong{
  display:block;
  max-width:100%;
  overflow:hidden;
  color:inherit !important;
  font-size:14px;
  line-height:1.15;
  font-weight:950;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.home169-match strong.winner{
  display:flex;
  align-items:center;
  gap:7px;
  color:#064d2f !important;
  text-shadow:0 1px 0 rgba(255,255,255,.2);
}
.home169-match.final strong.winner{
  color:#ffffff !important;
}
.home169-winner-tag{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:2px 8px;
  border-radius:999px;
  background:rgba(21,148,83,.16);
  border:1px solid rgba(21,148,83,.38);
  color:#0a6a3d;
  font-size:9px;
  line-height:1;
  font-weight:950;
  letter-spacing:.06em;
  text-transform:uppercase;
  flex:0 0 auto;
}
.home169-match.final .home169-winner-tag{
  background:rgba(255,255,255,.18);
  border-color:rgba(255,255,255,.28);
  color:#fff;
}
.home169-match strong + strong{
  margin-top:4px;
}
.home169-match em{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  max-width:100%;
  margin-top:7px;
  padding:5px 8px;
  overflow:hidden;
  color:#6a5112 !important;
  background:rgba(255,255,255,.38);
  border:1px solid rgba(185,137,0,.25);
  border-radius:10px;
  font-size:12px;
  line-height:1.08;
  font-style:normal;
  font-weight:900;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.home169-result-text{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  flex:1 1 auto;
}
.home169-result-score{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:3px 8px;
  border-radius:999px;
  background:#159453;
  color:#fff !important;
  font-size:11px;
  line-height:1;
  font-weight:950;
  letter-spacing:.03em;
  flex:0 0 auto;
}
.home169-match.final em{
  background:rgba(255,255,255,.14);
  border-color:rgba(255,255,255,.18);
  color:#fff !important;
}
.home169-match.final .home169-result-score{
  background:#fff;
  color:#086a38 !important;
}
.home169-match.final strong,
.home169-match.final em,
.home169-match.final .home169-code{
  color:#fff !important;
}
.home169-dot{
  flex:0 0 auto;
  display:block;
  width:9px;
  height:9px;
  border-radius:50%;
  background:#a7b0ab;
  box-shadow:0 0 0 2px rgba(255,255,255,.38);
}
.home169-dot.open{background:#3b82f6;}
.home169-dot.in_progress{background:#f59e0b;}
.home169-dot.finished{background:#159453;}
.home169-dot.waiting{background:#a7b0ab;}
.home169-match.final .home169-dot{box-shadow:0 0 0 2px rgba(255,255,255,.20);}

@media(max-width:760px){
  .home169-tree-shell{
    border-radius:14px;
  }
}

/* v172 – Live-Matches, Startmail und schreibgeschützte Zuschaueransicht */
.started80-match.in_progress{
  border-color:rgba(245,158,11,.72) !important;
  box-shadow:0 0 0 1px rgba(245,158,11,.14),0 10px 26px rgba(0,0,0,.18) !important;
}
.started80-match-top em.live{
  display:inline-flex !important;
  align-items:center !important;
  gap:6px !important;
  padding:3px 8px !important;
  border-radius:999px !important;
  background:#f59e0b !important;
  color:#071421 !important;
  font-weight:950 !important;
  letter-spacing:.06em !important;
}
.started80-match-top em.live::before{
  content:"";
  width:6px;
  height:6px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 0 0 3px rgba(255,255,255,.18);
}

.home112-visual-match.in_progress{
  border-color:rgba(245,158,11,.78) !important;
  box-shadow:0 0 0 2px rgba(245,158,11,.14),0 12px 24px rgba(0,0,0,.20) !important;
}
.home112-code .home112-code-state{
  display:inline-flex !important;
  align-items:center !important;
  gap:6px !important;
  width:auto !important;
  height:auto !important;
  border-radius:0 !important;
  background:none !important;
  box-shadow:none !important;
  flex:0 0 auto !important;
}
.home112-code .home112-code-state em{
  display:inline-flex;
  align-items:center;
  padding:3px 7px;
  border-radius:999px;
  background:#f59e0b;
  color:#071421 !important;
  font-size:9px;
  line-height:1;
  font-style:normal;
  font-weight:950;
  letter-spacing:.06em;
}
.home112-code .home112-code-state i{
  display:block;
  width:9px;
  height:9px;
  border-radius:999px;
  background:#9ca3af;
  box-shadow:0 0 0 2px rgba(255,255,255,.30);
}
.home112-visual-match.open .home112-code-state i,
.home112-visual-match.in_progress .home112-code-state i{background:#3b82f6;}
.home112-visual-match.finished .home112-code-state i{background:#16a34a;}

.home169-match.in_progress{
  border-color:rgba(245,158,11,.95);
  box-shadow:0 0 0 2px rgba(245,158,11,.20),0 12px 25px rgba(0,0,0,.23);
}
.home169-code-state{
  display:inline-flex;
  align-items:center;
  gap:7px;
  flex:0 0 auto;
}
.home169-live-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:3px 7px;
  border-radius:999px;
  background:#f59e0b;
  color:#071421 !important;
  font-size:9px;
  line-height:1;
  font-weight:950;
  letter-spacing:.07em;
  box-shadow:0 0 0 2px rgba(245,158,11,.14);
}
.home169-match.in_progress .home169-dot{
  background:#f59e0b;
  animation:live172Pulse 1.8s ease-in-out infinite;
}
@keyframes live172Pulse{
  0%,100%{box-shadow:0 0 0 2px rgba(255,255,255,.38),0 0 0 0 rgba(245,158,11,.42);}
  50%{box-shadow:0 0 0 2px rgba(255,255,255,.38),0 0 0 7px rgba(245,158,11,0);}
}

.live172-body{
  margin:0;
  min-height:100vh;
  background:
    radial-gradient(circle at 50% -15%,rgba(216,178,76,.14),transparent 34%),
    linear-gradient(180deg,#071421 0%,#0b2238 50%,#071421 100%);
  color:#f7f9fc;
}
.live172-header{
  border-bottom:1px solid rgba(216,178,76,.28);
  background:rgba(5,18,32,.86);
  backdrop-filter:blur(14px);
}
.live172-header-inner{
  width:min(1180px,calc(100% - 32px));
  margin:0 auto;
  padding:24px 0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.live172-header h1{
  margin:5px 0 4px;
  color:#fff;
  font-size:clamp(24px,4vw,38px);
  line-height:1.06;
}
.live172-header p{
  margin:0;
  color:rgba(255,255,255,.66);
  font-weight:750;
}
.live172-kicker{
  display:flex;
  align-items:center;
  gap:9px;
  color:#f1d77a;
  font-size:12px;
  font-weight:950;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.live172-pulse{
  width:9px;
  height:9px;
  border-radius:50%;
  background:#f59e0b;
  animation:live172Pulse 1.8s ease-in-out infinite;
}
.live172-back{
  flex:0 0 auto;
  padding:10px 15px;
  border:1px solid rgba(216,178,76,.45);
  border-radius:999px;
  color:#f1d77a;
  text-decoration:none;
  font-weight:900;
}
.live172-page{
  width:min(1180px,calc(100% - 32px));
  margin:0 auto;
  padding:28px 0 50px;
}
.live172-hero,.live172-card{
  border:1px solid rgba(216,178,76,.30);
  border-radius:24px;
  background:linear-gradient(180deg,rgba(19,43,66,.96),rgba(9,31,51,.96));
  box-shadow:0 24px 58px rgba(0,0,0,.25);
}
.live172-hero{padding:24px;}
.live172-card{margin-top:22px;padding:24px;}
.live172-state-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  color:rgba(255,255,255,.58);
  font-size:13px;
  font-weight:750;
}
.live172-state{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:6px 11px;
  border-radius:999px;
  font-size:11px;
  font-weight:950;
  letter-spacing:.09em;
}
.live172-state::before{
  content:"";
  width:7px;
  height:7px;
  border-radius:50%;
  background:currentColor;
}
.live172-state.live{background:#f59e0b;color:#071421;}
.live172-state.finished{background:#159453;color:#fff;}
.live172-state.waiting{background:#667481;color:#fff;}
.live172-versus{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(220px,.7fr) minmax(0,1fr);
  align-items:center;
  gap:22px;
  padding:28px 0 24px;
}
.live172-player{
  min-width:0;
  padding:18px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:18px;
  background:rgba(255,255,255,.045);
}
.live172-player.right{text-align:right;}
.live172-player span{
  display:block;
  margin-bottom:6px;
  color:#f1d77a;
  font-size:11px;
  font-weight:950;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.live172-player strong{
  display:block;
  overflow:hidden;
  color:#fff;
  font-size:clamp(19px,3vw,30px);
  line-height:1.08;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.live172-player small{
  display:block;
  margin-top:8px;
  color:rgba(255,255,255,.60);
  font-weight:750;
}
.live172-score-center{text-align:center;}
.live172-score-text{
  color:#f1d77a;
  font-size:clamp(25px,4vw,46px);
  line-height:1.02;
  font-weight:950;
  letter-spacing:-.035em;
}
.live172-after{
  margin-top:8px;
  color:rgba(255,255,255,.62);
  font-weight:850;
}
.live172-progress{
  height:8px;
  overflow:hidden;
  border-radius:999px;
  background:rgba(255,255,255,.09);
}
.live172-progress i{
  display:block;
  width:0;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#d8b24c,#f1d77a);
  transition:width .35s ease;
}
.live172-facts{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-top:18px;
}
.live172-facts div{
  padding:13px 14px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px;
  background:rgba(255,255,255,.035);
}
.live172-facts span{
  display:block;
  color:rgba(255,255,255,.52);
  font-size:10px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.live172-facts strong{
  display:block;
  margin-top:4px;
  color:#fff;
  font-size:17px;
}
.live172-section-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin-bottom:18px;
}
.live172-section-head h2{margin:2px 0 0;color:#fff;}
.live172-section-kicker{
  margin:0;
  color:#f1d77a;
  font-size:11px;
  font-weight:950;
  letter-spacing:.10em;
  text-transform:uppercase;
}
.live172-auto{
  color:rgba(255,255,255,.54);
  font-size:12px;
  font-weight:750;
}
.live172-hole-list{display:grid;gap:10px;}
.live172-hole{
  display:grid;
  grid-template-columns:150px minmax(0,1fr) minmax(150px,.65fr);
  align-items:center;
  gap:16px;
  padding:13px 14px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:16px;
  background:rgba(255,255,255,.035);
}
.live172-hole.p1,.live172-hole.p2{border-color:rgba(216,178,76,.25);}
.live172-hole-head strong{display:block;color:#fff;}
.live172-hole-head span{display:block;margin-top:4px;color:rgba(255,255,255,.52);font-size:12px;}
.live172-hole-scores{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.live172-hole-scores > div{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:2px 10px;
  align-items:center;
  padding:8px 10px;
  border-radius:12px;
  background:rgba(255,255,255,.035);
}
.live172-hole-scores > div.winner{
  background:rgba(21,148,83,.17);
  box-shadow:inset 0 0 0 1px rgba(21,148,83,.38);
}
.live172-hole-scores span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#fff;font-weight:850;}
.live172-hole-scores strong{grid-row:1 / 3;grid-column:2;color:#f1d77a;font-size:23px;}
.live172-hole-scores small{color:rgba(255,255,255,.52);font-size:10px;}
.live172-hole-status{text-align:right;color:#f1d77a;font-weight:900;}
.live172-empty{
  padding:32px;
  border:1px dashed rgba(216,178,76,.28);
  border-radius:16px;
  color:rgba(255,255,255,.58);
  text-align:center;
}
.live172-page > .notice{margin-top:16px;}

@media(max-width:820px){
  .live172-header-inner{align-items:flex-start;}
  .live172-versus{grid-template-columns:1fr 1fr;}
  .live172-score-center{grid-column:1 / -1;grid-row:1;}
  .live172-player{grid-row:2;}
  .live172-facts{grid-template-columns:1fr 1fr;}
  .live172-hole{grid-template-columns:1fr;gap:10px;}
  .live172-hole-status{text-align:left;}
}
@media(max-width:560px){
  .live172-header-inner{width:min(100% - 22px,1180px);padding:18px 0;display:block;}
  .live172-back{display:inline-flex;margin-top:14px;}
  .live172-page{width:min(100% - 22px,1180px);padding-top:14px;}
  .live172-hero,.live172-card{padding:16px;border-radius:18px;}
  .live172-state-row{align-items:flex-start;}
  .live172-versus{gap:8px;padding:20px 0;}
  .live172-player{padding:12px;}
  .live172-player strong{font-size:17px;white-space:normal;}
  .live172-player small{font-size:11px;}
  .live172-score-text{font-size:29px;}
  .live172-facts{gap:7px;}
  .live172-facts div{padding:10px;}
  .live172-facts strong{font-size:15px;}
  .live172-section-head{display:block;}
  .live172-auto{display:block;margin-top:7px;}
  .live172-hole-scores{grid-template-columns:1fr;}
}
.match172-live-note{
  margin:12px 0 0 !important;
  padding:12px 14px !important;
  border-radius:14px !important;
  border:1px solid rgba(245,158,11,.42) !important;
  background:rgba(245,158,11,.10) !important;
  color:#fff !important;
  line-height:1.45 !important;
}
.match172-live-note strong{color:#f1d77a !important;}
.vmatch.live{
  border-color:rgba(245,158,11,.82) !important;
  box-shadow:0 0 0 2px rgba(245,158,11,.14),0 12px 24px rgba(0,0,0,.22) !important;
}
.vmatch.live .vmatch-code::after{
  content:"LIVE";
  margin-left:auto;
  padding:3px 7px;
  border-radius:999px;
  background:#f59e0b;
  color:#071421;
  font-size:9px;
  line-height:1;
  font-weight:950;
  letter-spacing:.06em;
}
.vmatch.live .vstatus-dot{background:#f59e0b !important;animation:live172Pulse 1.8s ease-in-out infinite;}


/* v174: Turnierbaum-Verbindungslinien einheitlich gestrichelt.
   Ausschließlich die SVG-Connectoren; Karten/Layout/Farben bleiben unverändert. */
.bracket-lines path,
.split-lines path,
.generic-bracket-lines path,
.triangle-lines path,
.home169-lines path {
  stroke-dasharray: 6 6 !important;
}


/* v175: Second Chance Tree – alle Verbindungslinien ebenfalls gestrichelt.
   Nur Connector-SVGs; keine Karten, Farben oder Abstände verändert. */
.split-lines path,
.loser-lines path,
.second-chance-lines path,
.secondchance-lines path,
.sc-lines path,
.generic-bracket-lines path,
.triangle-lines path {
  stroke-dasharray: 6 6 !important;
}


/* v176: Second Chance Tree – Karten wirklich miteinander verbinden.
   Die Linien werden aus den tatsächlichen Kartenpositionen berechnet. */
.home112-visual-tree[data-sc-connectors="1"]{
  position:relative !important;
}
.home112-visual-tree[data-sc-connectors="1"] .home112-visual-round{
  position:relative;
  z-index:2;
}
.home112-visual-tree[data-sc-connectors="1"] .home112-visual-match::after{
  display:none !important;
}
.home176-sc-lines{
  position:absolute;
  inset:0;
  z-index:1;
  overflow:visible;
  pointer-events:none;
}
.home176-sc-path{
  fill:none;
  stroke:#dcae18;
  stroke-width:1.8;
  stroke-dasharray:6 6;
  stroke-linecap:butt;
  stroke-linejoin:miter;
  vector-effect:non-scaling-stroke;
}
