:root {
  --user-primary: #175cd3;
  --user-primary-contrast: #fff;
  --user-accent: #0d8b68;
  --user-accent-contrast: #fff;
  --v2-bg: #eef4fb;
  --v2-surface: #ffffff;
  --v2-surface-2: #f5f8fc;
  --v2-text: #132238;
  --v2-muted: #607089;
  --v2-border: rgba(36, 64, 98, .16);
  --v2-font-scale: 1;
  --v2-gap-scale: 1;
}

html[data-theme="dark"] {
  --v2-bg: #071321;
  --v2-surface: #0f2033;
  --v2-surface-2: #152941;
  --v2-text: #f5f8fc;
  --v2-muted: #a8b7ca;
  --v2-border: rgba(174, 198, 226, .18);
  color-scheme: dark;
}
html[data-theme="light"] { color-scheme: light; }
html[data-font-size="small"] { --v2-font-scale: .92; }
html[data-font-size="large"] { --v2-font-scale: 1.09; }
html[data-font-size="xlarge"] { --v2-font-scale: 1.18; }
html[data-density="compact"] { --v2-gap-scale: .82; }
html[data-density="spacious"] { --v2-gap-scale: 1.18; }
html { font-size: calc(16px * var(--v2-font-scale)); }
html[data-reduce-motion="true"] *, html[data-reduce-motion="true"] *::before, html[data-reduce-motion="true"] *::after { animation-duration: .001ms !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }

body { background-color: var(--v2-bg); color: var(--v2-text); }
.button-primary,
.admin-sport-choice input:checked + span,
.wizard-option-card input:checked + span,
.sport-button.active,
.admin-sport-tab.active,
.filter-button.active {
  background: var(--user-primary) !important;
  color: var(--user-primary-contrast) !important;
  border-color: transparent !important;
}
.button-secondary { background: var(--v2-surface-2); color: var(--v2-text); border-color: var(--v2-border); }

/* Farbbug-Fix: keine hart weißen Auswahlflächen mehr. */
.admin-sport-choice label > span,
.wizard-option-card > span,
.admin-more-options,
.admin-more-options-content,
.sport-default-settings,
.panel,
.tournament-card,
.referee-sport-tournament-section,
input, select, textarea {
  background-color: var(--v2-surface) !important;
  color: var(--v2-text) !important;
  border-color: var(--v2-border) !important;
}
.admin-sport-choice label > span:hover,
.wizard-option-card > span:hover { background-color: var(--v2-surface-2) !important; }
select option { background: var(--v2-surface); color: var(--v2-text); }

/* Details/Weitere Optionen dürfen beim Aufklappen nicht überlappen. */
.admin-more-options { overflow: clip; }
.admin-more-options > summary { min-height: 46px; display:flex; align-items:center; }
.admin-more-options-content { position: static !important; max-width: 100%; overflow: visible; display:grid; gap: calc(12px * var(--v2-gap-scale)); }
.admin-more-options[open] .admin-more-options-content { animation: v2Reveal .18s ease-out; }
@keyframes v2Reveal { from { opacity:0; transform:translateY(-5px) } to { opacity:1; transform:none } }

/* Responsive Karten/Grids. */
.people-admin-team-list,
.team-grid,
.admin-grid,
.settings-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)); gap:calc(14px * var(--v2-gap-scale)); }

/* Externe Anzeige-Schaltflächen. */
.external-display-actions { display:flex; gap:8px; flex-wrap:wrap; margin-top:12px; }
.external-display-actions .button { min-height:42px; }

@media (max-width: 760px) {
  .site-header, .page, .admin-page, main { max-width:100%; }
  .site-header { padding-inline:14px; }
  .page { padding-inline:10px; }
  .button { min-height:44px; }
  .admin-sport-choice, .wizard-option-grid { grid-template-columns:1fr !important; }
  .people-admin-team-list { grid-template-columns:1fr; }
  table { font-size:.92rem; }
}


/* V3: konsistente individuelle Farben und intelligente Kontraste. */
:where(.button-primary,.profile-kicker,.profile-live,.active-tab,.nav-pill.is-active){background-color:var(--user-primary)!important;color:var(--user-primary-contrast)!important;}
:where(.profile-nav-item.active,.assignment-chip,.status-chip.is-live){border-color:color-mix(in srgb,var(--user-primary) 60%,var(--v2-border))!important;}
:where(.site-header,.profile-v2-hero){--header-a:color-mix(in srgb,var(--user-primary) 72%,#14263b);--header-b:color-mix(in srgb,var(--user-accent) 64%,#2b6672);}

.assignment-dialog{width:min(760px,calc(100% - 20px));max-height:88vh;padding:0;border:1px solid var(--v2-border);border-radius:22px;background:var(--v2-surface);color:var(--v2-text);box-shadow:0 30px 90px rgba(0,0,0,.5)}
.assignment-dialog::backdrop{background:rgba(3,9,17,.72);backdrop-filter:blur(5px)}
.assignment-shell{padding:20px;display:grid;gap:15px}.assignment-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.assignment-head h2{margin:.25rem 0}.assignment-head small{color:var(--v2-muted);font-weight:800;letter-spacing:.1em}.assignment-search{display:grid;gap:7px;font-weight:750}.assignment-selected{display:flex;gap:8px;flex-wrap:wrap}.assignment-chip{display:grid;grid-template-columns:1fr auto;gap:2px 10px;align-items:center;padding:9px 11px;border:1px solid var(--v2-border);border-radius:14px;background:var(--v2-surface-2)}.assignment-chip small{grid-column:1;color:var(--v2-muted)}.assignment-chip button{grid-column:2;grid-row:1/3;border:0;background:transparent;color:inherit;font-size:1.3rem}.assignment-results{display:grid;gap:7px;max-height:290px;overflow:auto}.assignment-result{text-align:left;display:grid;gap:3px;padding:11px;border:1px solid var(--v2-border);border-radius:13px;background:var(--v2-surface-2);color:var(--v2-text)}.assignment-result span,.assignment-empty{color:var(--v2-muted)}
.referee-assignment-button{margin-top:8px}

@media(max-width:600px){.assignment-dialog{width:100%;max-width:none;margin:auto 0 0;border-radius:22px 22px 0 0}.assignment-shell{padding:15px}.assignment-head{align-items:center}}

.v3-quick-nav{position:fixed;right:14px;bottom:max(14px,env(safe-area-inset-bottom));z-index:90;display:flex;gap:6px;padding:6px;border:1px solid var(--v2-border);border-radius:16px;background:color-mix(in srgb,var(--v2-surface) 92%,transparent);box-shadow:0 14px 44px rgba(0,0,0,.22);backdrop-filter:blur(12px)}.v3-quick-nav a{padding:9px 11px;border-radius:11px;text-decoration:none;color:var(--v2-text);font-weight:800}.v3-quick-nav a:hover{background:var(--v2-surface-2)}@media(max-width:600px){.v3-quick-nav{left:8px;right:8px;justify-content:space-around}.v3-quick-nav a{flex:1;text-align:center;font-size:.86rem}}
