:root {
  --green: #00a850;
  --dark-green: #006b36;
  --yellow: #fff001;
  --ink: #142018;
  --muted: #66756b;
  --line: #dfe8df;
  --soft: #f6faf3;
  --white: #fff;
  --danger: #b42318;
}
* { box-sizing: border-box; }
body { margin: 0; font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; background: linear-gradient(135deg, #eaf6e7, #fffde0); color: var(--ink); }
a { color: var(--dark-green); }
.page-shell { min-height: 100vh; }
.topbar { position: sticky; top: 0; z-index: 20; display:flex; justify-content:space-between; align-items:center; gap:16px; padding:12px 18px; background: rgba(255,255,255,.94); border-bottom: 1px solid var(--line); backdrop-filter: blur(10px); }
.brand { display:flex; align-items:center; gap:10px; text-decoration:none; color:var(--ink); }
.brand small { display:block; color:var(--muted); font-size:12px; }
.brand-mark { width:42px; height:42px; border-radius: 13px; display:grid; place-items:center; background: var(--yellow); border: 3px solid var(--green); color:var(--dark-green); font-weight:900; letter-spacing:-.04em; box-shadow: 0 8px 20px rgba(0, 107, 54, .14); }
.brand-mark.big { width:86px; height:86px; border-radius: 24px; font-size:28px; margin:auto; }
.topbar nav { display:flex; align-items:center; gap: 12px; flex-wrap:wrap; }
.topbar nav a, .linkbtn { border:0; background:transparent; color:var(--dark-green); font-weight:700; cursor:pointer; text-decoration:none; font:inherit; }
main { width:min(1180px, calc(100vw - 24px)); margin: 0 auto; padding: 24px 0 48px; }
.auth-card { width:min(430px, 100%); margin: 36px auto; background:var(--white); border:1px solid var(--line); border-radius:24px; padding:24px; box-shadow: 0 18px 60px rgba(20,32,24,.12); }
.hero-mini { text-align:center; padding:10px 8px 20px; }
.hero-mini h1 { margin:14px 0 4px; }
.hero-mini p, .muted { color:var(--muted); }
.stack { display:grid; gap:12px; }
label { display:grid; gap:6px; font-weight:800; color:#243a2c; }
input, select { width:100%; border:1px solid #cddbcc; border-radius:12px; padding:10px 12px; font:inherit; background:white; }
button, .button { border:1px solid var(--dark-green); border-radius:12px; padding:10px 14px; font-weight:900; cursor:pointer; background:white; color:var(--dark-green); text-decoration:none; display:inline-block; }
button.primary, .primary { background:var(--green); color:white; border-color:var(--green); box-shadow: 0 8px 18px rgba(0,168,80,.20); }

button.danger, .button.danger { background: var(--danger); color: white; border-color: var(--danger); }
.inline-actions { display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
button:disabled, input:disabled { opacity:.55; cursor:not-allowed; }
.flash { padding:12px 14px; border-radius:14px; margin-bottom:16px; border:1px solid var(--line); background:#fff; }
.flash.success { border-color:#a8dab8; background:#effaf1; }
.flash.error { border-color:#f2afa9; background:#fff1ef; color:var(--danger); }
.flash.info { border-color:#9bc6f2; background:#eef7ff; }
.panel, .app-panel { background:rgba(255,255,255,.92); border:1px solid var(--line); border-radius:26px; padding:20px; box-shadow: 0 16px 55px rgba(20,32,24,.10); }
.panel.narrow { max-width:560px; margin:auto; }
.app-hero { position:relative; overflow:hidden; border-radius:24px; padding:24px; background: linear-gradient(120deg, var(--dark-green), var(--green)); color:white; margin-bottom:18px; }
.app-hero:after { content:""; position:absolute; inset:auto -70px -100px auto; width:240px; height:240px; border-radius:50%; background:var(--yellow); opacity:.9; }
.app-hero h1 { margin:0 0 8px; font-size:clamp(30px, 5vw, 54px); letter-spacing:-.05em; }
.app-hero p { max-width:760px; margin:0; color:rgba(255,255,255,.86); }
.stat-row { display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:12px; margin:18px 0; }
.stat { padding:14px; border-radius:18px; background:var(--soft); border:1px solid var(--line); }
.stat strong { display:block; font-size:24px; color:var(--dark-green); }
.tabs { display:flex; gap:8px; flex-wrap:wrap; margin: 16px 0; }
.tab { border-color: transparent; background:#edf7ed; }
.tab.active { background:var(--yellow); color:var(--dark-green); border-color:var(--green); }
.tab.attention { border-color:#f59e0b; box-shadow: inset 0 0 0 1px rgba(245,158,11,.28); }
.tab.attention:not(.active)::after { content:""; display:inline-block; width:8px; height:8px; border-radius:999px; background:#f59e0b; margin-left:6px; vertical-align:middle; }
.match-day { margin: 18px 0 24px; }
.day-header { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; padding:14px 16px; border-radius:18px; background:#f8fbf1; border:1px solid var(--line); margin-bottom:10px; }
.day-header h2 { margin:0; }
.deadline { font-size:13px; color:var(--muted); text-align:right; }
.match-grid { display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap:12px; }
.match-card { border:1px solid var(--line); border-radius:20px; padding:14px; background:white; display:grid; gap:10px; }
.match-card.live { border-color: #efb034; box-shadow: 0 0 0 3px rgba(255,240,1,.35); }
.match-card.locked { background:#fbfcfa; }
.match-meta { display:flex; justify-content:space-between; gap:8px; color:var(--muted); font-size:12px; }
.teams { font-size:17px; font-weight:950; letter-spacing:-.02em; }
.scoreline { font-size:13px; color:var(--dark-green); font-weight:900; }
.hub { display:flex; gap:8px; }
.hub button { flex:1; padding:9px 6px; }
.hub button.selected { background:var(--green); color:white; border-color:var(--green); }
.score-inputs { display:grid; grid-template-columns: 1fr auto 1fr; align-items:center; gap:8px; }
.save-status { min-height:18px; color:var(--muted); font-size:12px; }
.locked-badge, .live-badge { border-radius:999px; padding:3px 8px; font-size:11px; font-weight:900; }
.locked-badge { background:#eee; color:#555; }
.live-badge { background:#fff2b5; color:#8a5b00; }
.table-wrap { overflow:auto; border:1px solid var(--line); border-radius:18px; }
table { width:100%; border-collapse:collapse; background:white; }
th, td { padding:10px 12px; border-bottom:1px solid var(--line); text-align:left; vertical-align:top; }
th { background:var(--dark-green); color:white; }
tr:last-child td { border-bottom:0; }
.admin-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.inline-form { display:flex; gap:6px; align-items:center; flex-wrap:wrap; }
.inline-form input { width:70px; }
.loading { padding:40px; text-align:center; color:var(--muted); }
@media (max-width: 800px) {
  .topbar { align-items:flex-start; flex-direction:column; }
  .stat-row, .match-grid, .admin-grid { grid-template-columns:1fr; }
  .day-header { flex-direction:column; }
  .deadline { text-align:left; }
  main { width:min(100vw - 12px, 1180px); padding-top: 8px; }
  .panel, .app-panel { padding:12px; border-radius:18px; }
}

.override-panel {
  border: 2px solid #f59e0b;
  background: #fff7ed;
  border-radius: 18px;
  padding: 18px;
  margin: 18px 0;
  box-shadow: 0 10px 30px rgba(245, 158, 11, 0.16);
}
.override-panel h2 {
  margin-top: 0;
}
.override-item {
  background: #fff;
  border: 1px solid #fed7aa;
  border-radius: 14px;
  padding: 14px;
  margin-top: 12px;
}
.override-score {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 10px 0;
}
.override-score span {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 999px;
  padding: 6px 10px;
}
.override-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.compact-form textarea,
.override-item textarea {
  min-height: 72px;
}

.badge,
.participant-badge {
  border-radius: 999px;
  display: inline-block;
  font-size: 11px;
  font-weight: 950;
  padding: 4px 8px;
  white-space: nowrap;
}
.badge.app-user,
.participant-badge.app-user {
  background: #dcfce7;
  border: 1px solid #86efac;
  color: #166534;
}
.badge.pseudo,
.participant-badge.pseudo {
  background: #e0f2fe;
  border: 1px solid #7dd3fc;
  color: #075985;
}
.badge.warn {
  background: #fef3c7;
  border: 1px solid #f59e0b;
  color: #92400e;
}
.badge.ok {
  background: #ecfdf5;
  border: 1px solid #34d399;
  color: #065f46;
}
.warning-list {
  background: #fffbeb;
  border: 1px solid #fcd34d;
  border-radius: 14px;
  padding: 12px 18px 12px 32px;
}
.warn-text {
  color: #92400e;
  font-weight: 800;
}
.leaderboard-note {
  background: #f8fafc;
  border: 1px solid var(--line);
  border-radius: 14px;
  color: var(--muted);
  font-weight: 800;
  margin-bottom: 10px;
  padding: 10px 12px;
}
textarea[hidden] {
  display: none;
}

.review-summary {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 10px;
  margin: 16px 0 22px;
}
.review-summary > div {
  background: var(--soft);
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 12px;
}
.review-summary small {
  color: var(--muted);
  display: block;
  font-weight: 800;
}
.review-summary strong {
  color: var(--dark-green);
  display: block;
  font-size: 26px;
  line-height: 1.1;
}
.review-tabs a.tab {
  text-decoration: none;
}
.review-action-form {
  margin-top: 10px;
  min-width: 260px;
}
.badge.review {
  background: #eef2ff;
  border: 1px solid #a5b4fc;
  color: #3730a3;
}
.badge.danger {
  background: #fee2e2;
  border: 1px solid #fca5a5;
  color: #991b1b;
}
.compact-list {
  margin: 0;
  padding-left: 18px;
}
@media (max-width: 1000px) {
  .review-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.admin-assisted-form {
  background: #f8fafc;
  border: 1px solid var(--line);
  border-radius: 16px;
  margin: 14px 0 22px;
  padding: 16px;
}

.notification-panel {
  border: 1px solid #fed7aa;
  background: #fff7ed;
  border-radius: 18px;
  padding: 1rem;
  margin: 1rem 0;
}
.notification-panel h2 { margin-top: 0; }
.notification-item {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: center;
  border-top: 1px solid #fed7aa;
  padding: .8rem 0;
}
.notification-item p { margin: .25rem 0 0; }
.bulk-reminder-form {
  border: 1px dashed #cbd5e1;
  border-radius: 14px;
  padding: 1rem;
  margin: 1rem 0;
  background: #f8fafc;
}
@media (max-width: 720px) {
  .notification-item { display: block; }
}

.helper-note {
  background: #f0fdf4;
  border: 1px solid #86efac;
  border-radius: 14px;
  color: #166534;
  font-weight: 800;
  margin: 10px 0 14px;
  padding: 10px 12px;
}
.missing-selector {
  background: #f8fafc;
  border: 1px solid var(--line);
  border-radius: 16px;
  margin: 14px 0 18px;
  padding: 14px;
}
.match-group-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 10px 0 14px;
}
.match-group-card {
  background: white;
  border: 1px solid var(--line);
  border-radius: 14px;
  display: block;
  font-weight: 700;
  padding: 10px;
  position: relative;
}
.match-group-card small {
  color: var(--muted);
  display: block;
  font-weight: 600;
  margin-top: 4px;
}
.match-group-card input[type="checkbox"] {
  display: inline-block;
  margin-right: 4px;
  width: auto;
}
.incomplete-hint {
  color: #92400e;
  font-weight: 800;
}
@media (max-width: 800px) {
  .match-group-grid { grid-template-columns: 1fr; }
}

/* v0.1.11: clean result/points status on Tips */
.tips-toolbar {
  align-items: center;
  background: rgba(255,255,255,.82);
  border: 1px solid var(--line);
  border-radius: 16px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 14px;
  justify-content: space-between;
  margin: 10px 0 14px;
  padding: 10px 12px;
}
.toggle-line {
  align-items: center;
  display: flex;
  flex-direction: row;
  font-weight: 900;
  gap: 8px;
}
.toggle-line input[type="checkbox"] {
  accent-color: var(--green);
  height: 18px;
  width: 18px;
}
.match-card.finished {
  border-color: #cbd5cf;
  background: #fcfdfb;
}
.match-card.finished.result-good,
.match-card.live.result-good {
  border-color: #86efac;
}
.status-pill {
  border-radius: 999px;
  font-size: 11px;
  font-weight: 950;
  padding: 3px 8px;
  white-space: nowrap;
}
.status-pill.open { background:#effaf1; color:#166534; }
.status-pill.locked { background:#f1f5f9; color:#475569; }
.status-pill.live { background:#fff7d1; color:#8a5b00; }
.status-pill.final { background:#eef2f6; color:#334155; }
.match-result-row {
  display: grid;
  gap: 8px;
  grid-template-columns: 1fr auto;
}
.result-line,
.points-summary {
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 9px 10px;
}
.result-line {
  background: #f8fafc;
  display: grid;
  gap: 2px;
}
.result-line span,
.points-summary span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .03em;
}
.result-line strong,
.points-summary strong {
  color: var(--ink);
  font-size: 18px;
  line-height: 1.1;
}
.result-line small {
  color: var(--muted);
  font-size: 13px;
}
.result-line em,
.points-summary small {
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
  font-weight: 700;
}
.result-line.live {
  background: #fffdf0;
  border-color: #f5d565;
}
.result-line.final {
  background: #f8fafc;
  border-color: #cbd5e1;
}
.points-summary {
  align-content: center;
  display: grid;
  min-width: 116px;
  text-align: right;
}
.points-summary.full-points {
  background: #ecfdf5;
  border-color: #86efac;
}
.points-summary.partial-points {
  background: #f7fee7;
  border-color: #bef264;
}
.points-summary.live-points {
  background: #fffdf0;
  border-color: #f5d565;
}
.points-summary.zero-points {
  background: #fff7f7;
  border-color: #fecaca;
}
.prediction-label {
  color: #243a2c;
  font-size: 13px;
  font-weight: 900;
}
.prediction-label strong {
  color: var(--dark-green);
}
.hub button.selected:disabled,
.score-inputs input:disabled {
  opacity: .95;
}
.hub button.result-ok,
.hub button.selected.result-ok {
  background: #dcfce7;
  border-color: #22c55e;
  color: #14532d;
  box-shadow: inset 0 0 0 2px rgba(34,197,94,.18);
}
.hub button.selected.result-bad {
  background: #fee2e2;
  border-color: #f87171;
  color: #7f1d1d;
  box-shadow: inset 0 0 0 2px rgba(248,113,113,.16);
}
.hub button.actual-hub:not(.selected) {
  border-color: #86efac;
  background: #f0fdf4;
  color: #166534;
}
.score-inputs.result-ok input {
  border-color: #22c55e;
  background: #f0fdf4;
  color: #14532d;
  font-weight: 950;
}
.score-inputs.result-bad input {
  border-color: #fca5a5;
  background: #fff7f7;
  color: #7f1d1d;
  font-weight: 950;
}
.score-inputs.result-ok span { color: #166534; font-weight: 950; }
.score-inputs.result-bad span { color: #991b1b; font-weight: 950; }
@media (max-width: 720px) {
  .match-result-row { grid-template-columns: 1fr; }
  .points-summary { text-align: left; }
  .tips-toolbar { align-items: flex-start; flex-direction: column; }
}

/* v0.1.12: compact, prioritized Tips view */
.compact-helper {
  margin-bottom: 10px;
}
.tips-summary-panel {
  align-items: stretch;
  background: linear-gradient(135deg, rgba(0,168,80,.08), rgba(255,240,1,.12));
  border: 1px solid rgba(0,105,55,.14);
  border-radius: 18px;
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(3, minmax(0, 1fr)) 1.4fr;
  margin: 10px 0 12px;
  padding: 12px;
}
.tips-summary-panel > div {
  background: rgba(255,255,255,.74);
  border: 1px solid rgba(0,105,55,.10);
  border-radius: 14px;
  padding: 10px;
}
.tips-summary-panel small {
  color: var(--muted);
  display: block;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .03em;
  text-transform: uppercase;
}
.tips-summary-panel strong {
  color: var(--dark-green);
  display: block;
  font-size: 20px;
  line-height: 1.1;
  margin-top: 3px;
}
.tips-summary-panel p {
  align-self: center;
  color: #294237;
  font-weight: 850;
  margin: 0;
}
.compact-toolbar {
  margin-bottom: 16px;
}
.tips-section {
  margin: 16px 0 22px;
}
.tips-section-head {
  align-items: end;
  border-bottom: 1px solid rgba(0,105,55,.12);
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin: 0 0 10px;
  padding-bottom: 8px;
}
.tips-section-head h2 {
  color: var(--dark-green);
  font-size: 20px;
  letter-spacing: -.02em;
  margin: 0;
}
.tips-section-head p {
  color: var(--muted);
  font-size: 13px;
  font-weight: 750;
  margin: 2px 0 0;
}
.tips-section-head > span {
  background: rgba(0,168,80,.08);
  border: 1px solid rgba(0,168,80,.20);
  border-radius: 999px;
  color: var(--dark-green);
  font-size: 12px;
  font-weight: 950;
  padding: 5px 9px;
  white-space: nowrap;
}
.compact-day {
  margin: 0 0 14px;
}
.compact-day h3 {
  color: #385344;
  font-size: 13px;
  font-weight: 950;
  letter-spacing: .02em;
  margin: 0 0 7px;
  text-transform: uppercase;
}
.compact-match-list {
  display: grid;
  gap: 9px;
}
.match-card.compact-match-card {
  border-radius: 16px;
  gap: 0;
  padding: 0;
  overflow: hidden;
}
.compact-match-card.needs-tip {
  border-color: #f2b45b;
  box-shadow: inset 4px 0 0 #f2b45b;
}
.compact-match-card.live {
  border-color: #f0d35f;
  box-shadow: inset 4px 0 0 #f0d35f;
}
.compact-match-card.finished {
  background: rgba(255,255,255,.88);
  border-color: #d9e2dc;
}
.compact-match-card.full-points {
  box-shadow: inset 4px 0 0 #22c55e;
}
.compact-match-card.partial-points {
  box-shadow: inset 4px 0 0 #a3e635;
}
.compact-match-card.zero-points.finished {
  box-shadow: inset 4px 0 0 #cbd5e1;
}
.compact-match-main {
  display: grid;
  gap: 9px;
  padding: 12px;
}
.compact-match-top {
  align-items: start;
  display: flex;
  gap: 10px;
  justify-content: space-between;
}
.compact-meta {
  font-size: 11px;
  justify-content: flex-start;
  margin-bottom: 2px;
}
.compact-teams {
  font-size: 16px;
  line-height: 1.15;
}
.compact-venue {
  font-size: 12px;
  margin-top: 3px;
}
.compact-status {
  align-items: flex-end;
  display: flex;
  flex-direction: column;
  gap: 7px;
  min-width: max-content;
}
button.small,
.button.small {
  border-radius: 999px;
  font-size: 12px;
  padding: 6px 10px;
}
button.ghost,
.button.ghost {
  background: #fff;
  border-color: #cbd5e1;
  color: #334155;
}
button.ghost:hover,
.button.ghost:hover {
  border-color: var(--green);
  color: var(--dark-green);
}
.compact-outcome {
  align-items: stretch;
  display: grid;
  gap: 8px;
  grid-template-columns: minmax(145px, 1.1fr) minmax(130px, .9fr) auto;
}
.tip-line,
.result-compact .result-line,
.points-compact .points-summary {
  min-height: 48px;
}
.tip-line {
  background: #fbfdfb;
  border: 1px solid var(--line);
  border-radius: 13px;
  display: grid;
  gap: 4px;
  padding: 8px 9px;
}
.tip-line > span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .03em;
  text-transform: uppercase;
}
.tip-line > div {
  align-items: center;
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}
.tip-chip {
  align-items: center;
  background: #f1f5f9;
  border: 1px solid #dbe4ed;
  border-radius: 999px;
  color: #334155;
  display: inline-flex;
  font-size: 13px;
  font-weight: 950;
  line-height: 1;
  min-height: 26px;
  padding: 6px 9px;
}
.tip-chip.hub {
  min-width: 30px;
  justify-content: center;
}
.tip-chip.score {
  border-radius: 10px;
}
.tip-chip.ok {
  background: #ecfdf5;
  border-color: #86efac;
  color: #14532d;
}
.tip-chip.bad {
  background: #fff7f7;
  border-color: #fecaca;
  color: #7f1d1d;
}
.tip-chip.missing {
  background: #fff7ed;
  border-color: #fed7aa;
  color: #92400e;
}
.result-compact .result-line,
.points-compact .points-summary {
  padding: 8px 9px;
}
.result-compact .result-line strong,
.points-compact .points-summary strong {
  font-size: 16px;
}
.points-compact .points-summary {
  min-width: 96px;
}
.points-summary.muted-points {
  background: #f8fafc;
  border-color: var(--line);
  color: var(--muted);
}
.compact-missing {
  color: #92400e;
  font-size: 12px;
  font-weight: 850;
  margin-top: -2px;
}
.compact-editor {
  background: #f8fafc;
  border: 1px solid var(--line);
  border-radius: 14px;
  display: grid;
  gap: 9px;
  padding: 10px;
}
.compact-editor .hub button {
  padding: 8px 6px;
}
.finished-hidden-note {
  background: #f8fafc;
  border: 1px dashed #cbd5e1;
  border-radius: 14px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 800;
  margin: 14px 0;
  padding: 10px 12px;
}
@media (min-width: 900px) {
  .compact-match-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 900px) {
  .tips-summary-panel {
    grid-template-columns: 1fr;
  }
  .compact-outcome {
    grid-template-columns: 1fr;
  }
  .points-compact .points-summary {
    min-width: 0;
    text-align: left;
  }
}
@media (max-width: 620px) {
  .compact-match-top,
  .tips-section-head {
    align-items: flex-start;
    flex-direction: column;
  }
  .compact-status {
    align-items: flex-start;
    flex-direction: row;
    flex-wrap: wrap;
  }
}

/* v0.1.13: mobile-first Tips flow with input, summary and result cards */
.stat-row {
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
}
.tips-summary-panel {
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}
.switch-line {
  align-items: center;
  cursor: pointer;
  display: flex;
  gap: 12px;
  justify-content: space-between;
  width: 100%;
}
.switch-line > span {
  display: grid;
  gap: 2px;
}
.switch-line strong {
  color: #20382a;
  font-size: 14px;
}
.switch-line small {
  color: var(--muted);
  font-weight: 700;
}
.switch-line input {
  height: 1px;
  opacity: 0;
  position: absolute;
  width: 1px;
}
.switch-line i {
  background: #dbe7dc;
  border: 1px solid #bad0bd;
  border-radius: 999px;
  flex: 0 0 48px;
  height: 28px;
  position: relative;
  transition: .16s ease;
}
.switch-line i:after {
  background: white;
  border-radius: 50%;
  box-shadow: 0 2px 8px rgba(0,0,0,.18);
  content: "";
  height: 22px;
  left: 2px;
  position: absolute;
  top: 2px;
  transition: .16s ease;
  width: 22px;
}
.switch-line input:checked + i {
  background: var(--green);
  border-color: var(--dark-green);
}
.switch-line input:checked + i:after {
  transform: translateX(20px);
}
.tips-section.priority-section .tips-section-head h2 {
  color: #7a3d00;
}
.compact-match-list {
  gap: 12px;
}
.match-card.compact-match-card {
  border-radius: 20px;
}
.match-card-head {
  align-items: flex-start;
  display: flex;
  gap: 12px;
  justify-content: space-between;
}
.card-action {
  flex: 0 0 auto;
}
.input-match-card {
  border-color: #f2b45b;
  box-shadow: inset 4px 0 0 #f2b45b;
}
.input-match-card .compact-match-main {
  gap: 13px;
  padding: 15px;
}
.input-block {
  display: grid;
  gap: 7px;
}
.input-label {
  color: #243a2c;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: .03em;
  text-transform: uppercase;
}
.hub-choice button {
  border-radius: 14px;
  min-height: 44px;
  font-size: 15px;
}
.mobile-score-inputs {
  align-items: end;
  display: grid;
  gap: 8px;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
}
.mobile-score-inputs label {
  gap: 5px;
  min-width: 0;
}
.mobile-score-inputs label span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.mobile-score-inputs input {
  min-height: 46px;
  text-align: center;
  font-size: 18px;
  font-weight: 900;
}
.score-separator {
  color: var(--muted);
  font-size: 22px;
  font-weight: 900;
  padding-bottom: 10px;
}
.mobile-score-inputs.result-ok input {
  border-color: #22c55e;
  background: #f0fdf4;
  color: #14532d;
}
.mobile-score-inputs.result-bad input {
  border-color: #fca5a5;
  background: #fff7f7;
  color: #7f1d1d;
}
.input-card-footer {
  align-items: center;
  display: flex;
  gap: 10px;
  justify-content: space-between;
}
.input-hint {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}
.input-card-footer .primary.small {
  min-height: 40px;
  white-space: nowrap;
}
.summary-match-card .compact-match-main,
.result-match-card .compact-match-main {
  gap: 10px;
  padding: 13px 14px;
}
.summary-row,
.result-card-row {
  display: grid;
  gap: 8px;
}
.summary-row {
  grid-template-columns: 1.4fr .8fr;
}
.summary-row > div,
.result-main {
  background: #fbfdfb;
  border: 1px solid var(--line);
  border-radius: 13px;
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 8px 9px;
}
.summary-row span,
.result-main span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .03em;
  text-transform: uppercase;
}
.summary-row strong,
.result-main strong {
  color: var(--ink);
  font-size: 14px;
}
.missing-summary-card {
  border-color: #f3d7ad;
}
.result-card-row {
  grid-template-columns: minmax(125px, .8fr) minmax(160px, 1fr) auto;
}
.result-match-card.live {
  border-color: #f0d35f;
  box-shadow: inset 4px 0 0 #f0d35f;
}
.result-match-card.finished.full-points,
.result-match-card.finished.partial-points,
.result-match-card.finished.zero-points {
  background: rgba(255,255,255,.92);
}
.show-more-row {
  display: flex;
  justify-content: center;
  margin: 12px 0 4px;
}
.show-more-row .button {
  background: #f7fbf7;
  border-color: #bdd8c2;
}
@media (max-width: 900px) {
  .compact-match-list {
    gap: 14px;
  }
  .result-card-row,
  .summary-row {
    grid-template-columns: 1fr;
  }
  .tips-section {
    margin: 20px 0 28px;
  }
  .tips-section-head {
    gap: 6px;
  }
}
@media (max-width: 620px) {
  main {
    width: min(100vw - 18px, 1180px);
  }
  .app-hero {
    border-radius: 20px;
    padding: 18px;
  }
  .app-hero h1 {
    font-size: 27px;
  }
  .stat-row {
    gap: 8px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .stat {
    padding: 10px;
  }
  .stat strong {
    font-size: 20px;
  }
  .tabs {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    overflow-x: visible;
    padding-bottom: 0;
  }
  .tab {
    min-height: 44px;
    text-align: center;
    width: 100%;
  }
  .compact-helper {
    line-height: 1.35;
    padding: 12px;
  }
  .tips-summary-panel {
    border-radius: 16px;
    gap: 8px;
    padding: 10px;
  }
  .tips-summary-panel p {
    font-size: 14px;
  }
  .compact-toolbar {
    padding: 12px;
  }
  .tips-section-head h2 {
    font-size: 24px;
  }
  .tips-section-head p {
    font-size: 14px;
    line-height: 1.35;
  }
  .match-card.compact-match-card {
    border-radius: 19px;
  }
  .compact-match-main,
  .summary-match-card .compact-match-main,
  .result-match-card .compact-match-main,
  .input-match-card .compact-match-main {
    padding: 15px;
  }
  .match-card-head {
    flex-direction: column;
    gap: 10px;
  }
  .card-action,
  .card-action button,
  .input-card-footer .primary.small {
    width: 100%;
  }
  .card-action button,
  .input-card-footer .primary.small {
    min-height: 46px;
  }
  .compact-teams {
    font-size: 18px;
  }
  .compact-venue {
    font-size: 13px;
    line-height: 1.35;
  }
  .hub-choice {
    gap: 7px;
  }
  .hub-choice button {
    min-height: 48px;
  }
  .mobile-score-inputs {
    gap: 7px;
  }
  .input-card-footer {
    align-items: stretch;
    flex-direction: column;
  }
}

/* v0.1.14: privacy/profile and shared predictions */
.profile-panel {
  display: grid;
  gap: 16px;
}
.profile-card {
  background: #fbfdfb;
  border: 1px solid var(--line);
  border-radius: 18px;
  display: grid;
  gap: 10px;
  padding: 15px;
}
.profile-card h2 {
  color: var(--dark-green);
  margin: 0;
}
.privacy-prompt {
  background: linear-gradient(135deg, #ffffff, #f6fff3);
  border: 1px solid rgba(0,168,80,.28);
  border-left: 5px solid var(--green);
  border-radius: 22px;
  box-shadow: 0 14px 42px rgba(0,105,55,.10);
  display: grid;
  gap: 14px;
  margin: 16px 0;
  padding: 18px;
}
.privacy-prompt-head {
  align-items: flex-start;
  display: flex;
  gap: 12px;
  justify-content: space-between;
}
.privacy-prompt h2,
.shared-panel h2 {
  color: var(--dark-green);
  margin: 0 0 4px;
}
.privacy-prompt p {
  color: var(--muted);
  font-weight: 750;
  margin: 0;
}
.privacy-choice-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.privacy-choice-group {
  background: rgba(255,255,255,.78);
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 12px;
}
.privacy-choice-group h3 {
  font-size: 15px;
  margin: 0 0 10px;
}
.privacy-choice-group > div {
  display: grid;
  gap: 8px;
  grid-template-columns: 1fr 1fr;
}
.privacy-choice {
  background: #fff;
  border-color: #cfded1;
  color: #20382a;
  display: grid;
  gap: 3px;
  min-height: 58px;
  padding: 10px;
  text-align: left;
}
.privacy-choice strong {
  color: inherit;
  font-size: 15px;
}
.privacy-choice small {
  color: var(--muted);
  font-weight: 750;
  line-height: 1.25;
}
.privacy-choice.active {
  background: #ecfdf5;
  border-color: var(--green);
  box-shadow: inset 0 0 0 2px rgba(0,168,80,.13);
  color: var(--dark-green);
}
.privacy-prompt-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.shared-panel {
  display: grid;
  gap: 14px;
}
.shared-head {
  align-items: flex-start;
  display: flex;
  justify-content: space-between;
  gap: 12px;
}
.shared-user-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.shared-user-chip {
  background: #f7fbf7;
  border-color: #bdd8c2;
  border-radius: 999px;
  color: var(--dark-green);
}
.shared-user-chip.active {
  background: var(--yellow);
  border-color: var(--green);
}
.shared-empty {
  background: #f8fafc;
  border: 1px dashed #cbd5e1;
  border-radius: 16px;
  color: var(--muted);
  font-weight: 800;
  padding: 14px;
}
.shared-prediction-list {
  display: grid;
  gap: 10px;
}
.shared-prediction-list h3 {
  color: #20382a;
  margin: 0;
}
.shared-prediction-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 18px;
  display: grid;
  gap: 10px;
  padding: 13px;
}
.shared-prediction-grid {
  display: grid;
  gap: 8px;
  grid-template-columns: minmax(150px, 1fr) minmax(120px, .8fr) auto;
}
@media (max-width: 800px) {
  .privacy-choice-grid,
  .privacy-choice-group > div,
  .shared-prediction-grid {
    grid-template-columns: 1fr;
  }
  .privacy-prompt-head,
  .shared-head {
    flex-direction: column;
  }
  .privacy-prompt {
    padding: 15px;
  }
}

/* v0.1.15: match-based shared predictions */
.match-shared-panel {
  gap: 16px;
}
.shared-scope-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.shared-scope-chip {
  background: #f7fbf7;
  border-color: #bdd8c2;
  border-radius: 999px;
  color: var(--dark-green);
  min-height: 42px;
  padding: 9px 13px;
}
.shared-scope-chip.active {
  background: var(--yellow);
  border-color: var(--green);
  box-shadow: inset 0 0 0 2px rgba(0,168,80,.14);
}
.shared-match-list {
  display: grid;
  gap: 14px;
}
.shared-match-card {
  background: #fff;
  border: 1px solid var(--line);
  border-left: 5px solid #d6e5d8;
  border-radius: 20px;
  display: grid;
  gap: 12px;
  padding: 14px;
}
.shared-match-card.live {
  border-left-color: #f5c542;
  background: linear-gradient(135deg, #fffdf2, #fff);
}
.shared-match-card.finished {
  border-left-color: var(--green);
}
.shared-match-top {
  align-items: flex-start;
  display: grid;
  gap: 10px;
  grid-template-columns: minmax(0, 1fr) auto;
}
.shared-match-result {
  background: #f7fbf7;
  border: 1px solid var(--line);
  border-radius: 14px;
  display: grid;
  gap: 2px;
  min-width: 112px;
  padding: 9px 11px;
  text-align: right;
}
.shared-match-result span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
}
.shared-match-result strong {
  color: #20382a;
  font-size: 16px;
}
.shared-tip-list {
  display: grid;
  gap: 7px;
}
.shared-tip-row {
  align-items: center;
  background: #fbfdfb;
  border: 1px solid #e1ece3;
  border-radius: 14px;
  display: grid;
  gap: 8px;
  grid-template-columns: minmax(120px, 1fr) auto auto;
  padding: 9px 10px;
}
.shared-tip-row > strong {
  color: #20382a;
  font-size: 14px;
}
.shared-tip-value {
  align-items: center;
  display: flex;
  gap: 5px;
  justify-content: flex-end;
}
.shared-points {
  align-items: center;
  border: 1px solid #d9e6dc;
  border-radius: 12px;
  display: inline-grid;
  gap: 1px;
  min-width: 74px;
  padding: 5px 8px;
  text-align: center;
}
.shared-points small {
  color: var(--muted);
  font-size: 10px;
  font-weight: 850;
  line-height: 1;
}
.shared-points strong {
  color: #20382a;
  font-size: 13px;
  line-height: 1.1;
}
.shared-points.full-points,
.shared-points.partial-points {
  background: #ecfdf5;
  border-color: rgba(0,168,80,.28);
}
.shared-points.live-points {
  background: #fff8dc;
  border-color: rgba(245,197,66,.6);
}
.shared-points.zero-points,
.shared-points.muted {
  background: #f8fafc;
  border-color: #e2e8f0;
  color: var(--muted);
}
.shared-empty.compact {
  padding: 10px 12px;
}
@media (max-width: 700px) {
  .shared-match-card {
    border-radius: 18px;
    gap: 10px;
    padding: 13px;
  }
  .shared-match-top,
  .shared-tip-row {
    grid-template-columns: 1fr;
  }
  .shared-match-result {
    min-width: 0;
    text-align: left;
  }
  .shared-tip-value {
    justify-content: flex-start;
  }
  .shared-points {
    justify-items: start;
    text-align: left;
    width: fit-content;
  }
}

/* v0.1.18: admin bulk prediction entry cleanup */
.bulk-entry-panel code {
  background: #f1f5f9;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  padding: 2px 6px;
}
.bulk-entry-toolbar {
  background: linear-gradient(180deg, #fbfffb, #f7faf7);
  border: 1px solid var(--line);
  border-radius: 20px;
  display: grid;
  gap: 12px;
  grid-template-columns: minmax(260px, 2fr) minmax(160px, .8fr) minmax(190px, 1fr) auto;
  margin: 16px 0;
  padding: 14px;
  align-items: end;
}
.bulk-match-card {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 12px;
  margin: 12px 0 16px;
}
.bulk-match-card > div {
  background: var(--soft);
  border: 1px solid var(--line);
  border-radius: 17px;
  padding: 14px;
}
.bulk-match-card small,
.bulk-match-card span {
  color: var(--muted);
  display: block;
  font-weight: 750;
}
.bulk-match-card strong {
  color: var(--dark-green);
  display: block;
  font-size: 20px;
  line-height: 1.2;
  margin: 3px 0;
}
.bulk-paste-card,
.bulk-reason-card {
  border-radius: 18px;
  margin: 14px 0;
  padding: 14px;
}
.bulk-paste-card {
  background: #fffdf0;
  border: 1px solid #facc15;
}
.bulk-reason-card {
  background: #f8fafc;
  border: 1px solid var(--line);
}
.bulk-paste-card summary,
.bulk-reason-card summary {
  color: var(--dark-green);
  cursor: pointer;
  font-size: 16px;
  font-weight: 950;
}
.bulk-entry-form {
  display: grid;
  gap: 12px;
}
.bulk-entry-list {
  display: grid;
  gap: 10px;
  margin-top: 6px;
}
.bulk-person-row {
  background: #fff;
  border: 1px solid #dfe8e2;
  border-radius: 16px;
  box-shadow: 0 1px 0 rgba(16, 24, 40, .03);
  overflow: hidden;
}
.bulk-person-row.missing {
  border-color: #fed7aa;
  box-shadow: inset 4px 0 0 #f59e0b;
}
.bulk-person-row.complete {
  box-shadow: inset 4px 0 0 rgba(0, 168, 80, .18);
}
.bulk-person-main {
  align-items: center;
  display: grid;
  gap: 14px;
  grid-template-columns: minmax(240px, 1.6fr) minmax(105px, .55fr) minmax(235px, 1fr) minmax(86px, auto);
  padding: 13px 14px;
}
.bulk-person-id strong {
  color: #173b25;
  display: block;
  font-size: 15px;
  line-height: 1.2;
}
.bulk-person-meta {
  align-items: center;
  color: var(--muted);
  display: flex;
  flex-wrap: wrap;
  gap: 6px 8px;
  font-size: 12px;
  font-weight: 750;
  margin-top: 4px;
  overflow-wrap: anywhere;
}
.bulk-current,
.bulk-new-tip {
  display: grid;
  gap: 5px;
}
.bulk-current span,
.bulk-new-tip > span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.bulk-current strong {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  color: #334155;
  display: inline-flex;
  font-size: 14px;
  font-weight: 950;
  line-height: 1;
  padding: 9px 10px;
  width: fit-content;
}
.bulk-person-row.missing .bulk-current strong {
  background: #fff7ed;
  border-color: #fed7aa;
  color: #92400e;
}
.bulk-tip-inputs {
  align-items: center;
  display: flex;
  gap: 7px;
}
.bulk-tip-inputs select {
  min-width: 72px;
  padding: 8px 10px;
}
.bulk-tip-inputs .score-mini {
  max-width: 70px;
  padding: 8px 10px;
  text-align: center;
}
.score-separator {
  color: #64748b;
  font-weight: 950;
}
.bulk-row-status {
  justify-self: end;
}
.bulk-row-actions {
  background: #fbfdfb;
  border-top: 1px solid #e8f0eb;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
  padding: 9px 14px 11px;
}
.undo-admin-change {
  background: #fff7ed;
  border: 1px solid #fed7aa;
  border-radius: 999px;
  margin: 0;
  padding: 7px 10px;
}
.undo-admin-change[open] {
  border-radius: 14px;
  max-width: 420px;
}
.undo-admin-change summary {
  color: #9a3412;
  cursor: pointer;
  font-size: 13px;
  font-weight: 950;
  list-style-position: inside;
}
.undo-admin-change.clear-wrong-tip {
  background: #fff1f2;
  border-color: #fecdd3;
}
.undo-admin-change.clear-wrong-tip summary {
  color: #9f1239;
}
.undo-admin-change .compact-form {
  margin-top: 8px;
}
.bulk-save-bar {
  align-items: center;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 16px;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: space-between;
  margin-top: 12px;
  padding: 12px;
  position: sticky;
  bottom: 10px;
  z-index: 5;
}
.empty-state {
  background: #f8fafc;
  border: 1px dashed #cbd5e1;
  border-radius: 16px;
  color: var(--muted);
  font-weight: 850;
  padding: 16px;
}
@media (max-width: 1050px) {
  .bulk-person-main {
    grid-template-columns: minmax(220px, 1.3fr) minmax(96px, .6fr) minmax(215px, 1fr);
  }
  .bulk-row-status {
    justify-self: start;
  }
}
@media (max-width: 900px) {
  .bulk-entry-toolbar,
  .bulk-match-card,
  .bulk-person-main {
    grid-template-columns: 1fr;
  }
  .bulk-row-actions {
    justify-content: flex-start;
  }
  .bulk-save-bar {
    align-items: stretch;
    display: grid;
    position: static;
  }
}
@media (max-width: 560px) {
  .bulk-tip-inputs {
    align-items: stretch;
    display: grid;
    grid-template-columns: 1fr 1fr auto 1fr;
  }
  .bulk-tip-inputs select,
  .bulk-tip-inputs .score-mini {
    max-width: none;
    width: 100%;
  }
}
/* Configurable brand logo */
.brand-logo { padding: 0; overflow: hidden; background: var(--green); }
.brand-logo img { width: 100%; height: 100%; display: block; object-fit: cover; }
.brand-logo.big img { border-radius: inherit; }

/* v0.1.21a PWA install/home-screen helper */
.install-help-card {
  align-items: center;
  background: linear-gradient(135deg, #f7fff3, #fffde8);
  border: 1px solid #cfe8c8;
  border-radius: 18px;
  box-shadow: 0 10px 26px rgba(0, 107, 54, .10);
  display: flex;
  gap: 12px;
  justify-content: space-between;
  margin: 0 0 16px;
  padding: 14px 16px;
}
.install-help-card strong {
  color: var(--dark-green);
  display: block;
  font-size: 16px;
}
.install-help-card p {
  color: var(--muted);
  margin: 4px 0 0;
}
.install-help-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}
.install-manual-hint {
  background: #f0f7ed;
  border: 1px solid #d8e9d3;
  border-radius: 999px;
  color: var(--dark-green);
  display: inline-block;
  font-size: 13px;
  font-weight: 850;
  padding: 7px 10px;
}
@media (max-width: 700px) {
  .install-help-card {
    align-items: stretch;
    display: grid;
  }
  .install-help-actions {
    justify-content: flex-start;
  }
  .install-help-actions button,
  .install-help-actions .button {
    flex: 1 1 auto;
  }
}


/* v0.1.21b2 mobile nav + push visibility */
.push-nudge-card {
  align-items: center;
  background: linear-gradient(135deg, #ecfdf5, #fffde8);
  border: 1px solid #b7e3bf;
  border-radius: 18px;
  box-shadow: 0 10px 26px rgba(0, 107, 54, .10);
  display: flex;
  gap: 12px;
  justify-content: space-between;
  margin: 0 0 16px;
  padding: 14px 16px;
}
.push-nudge-card strong {
  color: var(--dark-green);
  display: block;
  font-size: 16px;
}
.push-nudge-card p {
  color: var(--muted);
  margin: 4px 0 0;
}
.push-nudge-actions {
  display: flex;
  flex: 0 0 auto;
  gap: 8px;
  justify-content: flex-end;
}
@media (max-width: 700px) {
  .push-nudge-card {
    align-items: stretch;
    display: grid;
  }
  .push-nudge-actions {
    justify-content: stretch;
  }
  .push-nudge-actions button {
    width: 100%;
  }
}
@media (max-width: 380px) {
  .tabs {
    grid-template-columns: 1fr;
  }
}

/* v0.1.21b4 push nudge dismissal */
.push-dismissed-note {
  background: #fff8e6;
  border: 1px solid #efd28a;
  border-radius: 16px;
  color: #4a3a00;
  padding: 12px 14px;
}
.push-dismissed-note strong {
  color: #4a3a00;
  display: block;
}
.push-dismissed-note p {
  margin: 4px 0 10px;
}


/* v0.1.21b5 push nudge dismissal modal */
.push-modal-backdrop {
  align-items: center;
  background: rgba(3, 28, 15, .44);
  bottom: 0;
  display: flex;
  justify-content: center;
  left: 0;
  padding: 18px;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 1000;
}
.push-modal-sheet {
  background: #fffef7;
  border: 1px solid rgba(0, 107, 54, .18);
  border-radius: 22px;
  box-shadow: 0 24px 70px rgba(0, 43, 21, .28);
  color: var(--text);
  max-width: 520px;
  outline: none;
  padding: 18px;
  width: min(100%, 520px);
}
.push-modal-head {
  align-items: start;
  display: flex;
  gap: 12px;
  justify-content: space-between;
}
.push-modal-head h2 {
  color: var(--dark-green);
  font-size: 21px;
  line-height: 1.18;
  margin: 0;
}
.icon-button {
  align-items: center;
  background: #f4faef;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--dark-green);
  cursor: pointer;
  display: inline-flex;
  font-size: 24px;
  font-weight: 800;
  height: 36px;
  justify-content: center;
  line-height: 1;
  padding: 0;
  width: 36px;
}
.push-modal-body {
  color: var(--muted);
  display: grid;
  gap: 8px;
  margin: 14px 0 0;
}
.push-modal-body p {
  margin: 0;
}
.push-modal-body ul {
  background: #f7fff3;
  border: 1px solid #dcefd5;
  border-radius: 16px;
  color: var(--dark-green);
  display: grid;
  gap: 5px;
  margin: 0;
  padding: 12px 14px 12px 32px;
}
.push-modal-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
  margin-top: 18px;
}
@media (max-width: 700px) {
  .push-modal-backdrop {
    align-items: end;
    padding: 0;
  }
  .push-modal-sheet {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    max-width: none;
    padding: 18px 16px max(18px, env(safe-area-inset-bottom));
    width: 100%;
  }
  .push-modal-actions {
    display: grid;
    grid-template-columns: 1fr;
  }
  .push-modal-actions button {
    width: 100%;
  }
}

/* v0.1.21b Web Push subscription foundation */
.push-panel {
  display: grid;
  gap: 14px;
}
.push-status-grid {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.push-pref-card {
  background: #fbfef8;
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 14px;
}
.push-pref-card h3 {
  margin: 0 0 6px;
}
.push-pref-line small {
  display: block;
  color: var(--muted);
  font-weight: 650;
  margin-top: 2px;
}
.push-actions {
  margin-top: 2px;
}
@media (max-width: 800px) {
  .push-status-grid { grid-template-columns: 1fr; }
}


/* v0.1.21b3 push settings under profile */
.profile-push-card {
  padding: 0;
  overflow: hidden;
}
.profile-push-card .push-panel {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  padding: 15px;
}
.profile-push-card .push-panel:focus-within {
  outline: 3px solid rgba(255, 240, 1, .65);
  outline-offset: -3px;
}


.push-debug-line {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin: 0.75rem 0;
  font-size: 0.78rem;
  color: var(--muted);
}
.push-debug-line span {
  border: 1px solid rgba(0,0,0,0.08);
  background: rgba(255,255,255,0.72);
  border-radius: 999px;
  padding: 0.22rem 0.48rem;
}
.button.danger-soft {
  border-color: rgba(174, 42, 42, 0.28);
  color: #8a1f1f;
  background: rgba(255, 245, 245, 0.9);
}
.button.danger-soft:hover {
  background: rgba(255, 235, 235, 0.95);
}

.round-leaderboards {
  margin-top: 20px;
}
.round-leaderboard-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 14px;
}
.round-leaderboard-card {
  background: #fff;
  border: 1px solid #dfe7d8;
  border-radius: 16px;
  padding: 14px;
  box-shadow: 0 2px 10px rgba(0,0,0,.035);
}
.round-leaderboard-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 6px;
}
.round-leaderboard-head h4 {
  margin: 0;
}
.mini-badge {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  background: #edf5e8;
  color: #2c4c2e;
  font-size: 12px;
  padding: 3px 8px;
  white-space: nowrap;
}
.table-wrap.compact table th,
.table-wrap.compact table td {
  padding: 7px 8px;
  font-size: 13px;
}
.section-title-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}
.section-title-row h3 {
  margin: 0 0 4px;
}

/* v0.1.21g1 header/brand dark-mode correction
   Keep real dark mode available, keep the yellow hero circle visible,
   and layer the decoration behind text so it cannot cover the title. */
:root,
html {
  color-scheme: light dark;
}

.app-hero {
  isolation: isolate;
  background: linear-gradient(120deg, var(--dark-green), var(--green));
}

.app-hero::after {
  content: "";
  position: absolute;
  z-index: 0;
  pointer-events: none;
  inset: auto -72px -96px auto;
  width: 238px;
  height: 238px;
  border-radius: 50%;
  background: var(--yellow);
  opacity: .94;
  box-shadow: 0 0 0 34px rgba(255, 240, 1, .14);
}

.app-hero h1,
.app-hero p {
  max-width: min(760px, calc(100% - 112px));
  position: relative;
  z-index: 1;
}

@media (max-width: 620px) {
  .app-hero::after {
    inset: auto -62px -78px auto;
    width: 172px;
    height: 172px;
    opacity: .92;
    box-shadow: 0 0 0 24px rgba(255, 240, 1, .12);
  }
  .app-hero h1,
  .app-hero p {
    max-width: min(100%, calc(100% - 38px));
  }
}

@media (prefers-color-scheme: dark) {
  :root {
    --yellow: #fff001;
    --green: #00a850;
    --dark-green: #006b36;
    --ink: #eef8f0;
    --muted: #b9cdbd;
    --line: #264734;
    --soft: #102718;
    --white: #132217;
  }

  body {
    background: linear-gradient(135deg, #07150d, #102416 62%, #1f260d);
    color: var(--ink);
  }

  a,
  .topbar nav a,
  .linkbtn {
    color: #8ff0ae;
  }

  .topbar,
  .auth-card,
  .panel,
  .app-panel,
  .match-card,
  .override-item,
  .result-match-card.finished.full-points,
  .result-match-card.finished.partial-points,
  .result-match-card.finished.zero-points,
  table,
  input,
  select,
  button,
  .button,
  .flash {
    background-color: var(--white);
    color: var(--ink);
    border-color: var(--line);
  }

  .brand,
  label,
  .teams {
    color: var(--ink);
  }

  .brand small,
  .hero-mini p,
  .muted,
  .save-status,
  .match-meta,
  .deadline {
    color: var(--muted);
  }

  .brand-mark,
  .tab.active,
  .live-badge {
    background: var(--yellow);
    color: #063b21;
    border-color: var(--green);
  }

  button.primary,
  .primary,
  .hub button.selected {
    background: var(--green);
    color: #fff;
    border-color: var(--green);
  }

  .tab,
  .day-header,
  .stat,
  .show-more-row .button {
    background: #102718;
    border-color: var(--line);
    color: var(--ink);
  }

  th {
    background: var(--dark-green);
    color: #fff;
  }

  .scoreline,
  .stat strong {
    color: #8ff0ae;
  }

  .app-hero {
    background: linear-gradient(120deg, #004522, #008640);
    color: #fff;
  }

  .app-hero::after {
    background: var(--yellow);
    opacity: .96;
    box-shadow: 0 0 0 34px rgba(255, 240, 1, .16), 0 18px 50px rgba(0, 0, 0, .22);
  }

  .app-hero p {
    color: rgba(255,255,255,.88);
  }

  .match-card.locked {
    background: #17241b;
  }

  .locked-badge {
    background: #243628;
    color: #d7e9db;
  }
}

/* v0.1.21g2 header blend + admin theme check
   Keep the yellow header decoration, but make the visible part mostly a soft
   corner glow. Admin theme override is client-side only and exists so admins can
   quickly inspect light/dark rendering without changing ordinary user behavior. */
.app-hero::after {
  inset: auto -136px -148px auto;
  width: 318px;
  height: 318px;
  background: radial-gradient(circle,
    rgba(255, 240, 1, .96) 0%,
    rgba(255, 240, 1, .88) 26%,
    rgba(255, 240, 1, .48) 46%,
    rgba(255, 240, 1, .18) 61%,
    rgba(255, 240, 1, 0) 76%);
  opacity: 1;
  box-shadow: none;
}

@media (max-width: 620px) {
  .app-hero::after {
    inset: auto -102px -110px auto;
    width: 232px;
    height: 232px;
    background: radial-gradient(circle,
      rgba(255, 240, 1, .96) 0%,
      rgba(255, 240, 1, .84) 24%,
      rgba(255, 240, 1, .44) 44%,
      rgba(255, 240, 1, .16) 60%,
      rgba(255, 240, 1, 0) 76%);
  }
}

.admin-theme-switch {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin: -4px 0 16px;
  padding: 10px 12px;
  border: 1px dashed rgba(0, 107, 54, .32);
  border-radius: 16px;
  background: rgba(255, 255, 255, .72);
}
.admin-theme-switch strong {
  display: block;
  color: var(--dark-green);
}
.admin-theme-switch span {
  display: block;
  color: var(--muted);
  font-size: 12px;
}
.theme-switch-buttons {
  display: inline-flex;
  gap: 6px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.theme-switch-btn {
  padding: 7px 10px;
  border-radius: 999px;
  font-size: 12px;
  line-height: 1;
  background: var(--white);
}
.theme-switch-btn.active {
  background: var(--yellow);
  color: #063b21;
  border-color: var(--green);
  box-shadow: 0 0 0 2px rgba(255, 240, 1, .28);
}

html[data-u14-theme="dark"] {
  color-scheme: dark;
  --yellow: #fff001;
  --green: #00a850;
  --dark-green: #006b36;
  --ink: #eef8f0;
  --muted: #b9cdbd;
  --line: #264734;
  --soft: #102718;
  --white: #132217;
}
html[data-u14-theme="dark"] body {
  background: linear-gradient(135deg, #07150d, #102416 62%, #1f260d);
  color: var(--ink);
}
html[data-u14-theme="dark"] a,
html[data-u14-theme="dark"] .topbar nav a,
html[data-u14-theme="dark"] .linkbtn {
  color: #8ff0ae;
}
html[data-u14-theme="dark"] .topbar,
html[data-u14-theme="dark"] .auth-card,
html[data-u14-theme="dark"] .panel,
html[data-u14-theme="dark"] .app-panel,
html[data-u14-theme="dark"] .match-card,
html[data-u14-theme="dark"] .override-item,
html[data-u14-theme="dark"] .result-match-card.finished.full-points,
html[data-u14-theme="dark"] .result-match-card.finished.partial-points,
html[data-u14-theme="dark"] .result-match-card.finished.zero-points,
html[data-u14-theme="dark"] table,
html[data-u14-theme="dark"] input,
html[data-u14-theme="dark"] select,
html[data-u14-theme="dark"] button,
html[data-u14-theme="dark"] .button,
html[data-u14-theme="dark"] .flash,
html[data-u14-theme="dark"] .admin-theme-switch {
  background-color: var(--white);
  color: var(--ink);
  border-color: var(--line);
}
html[data-u14-theme="dark"] .brand,
html[data-u14-theme="dark"] label,
html[data-u14-theme="dark"] .teams {
  color: var(--ink);
}
html[data-u14-theme="dark"] .brand small,
html[data-u14-theme="dark"] .hero-mini p,
html[data-u14-theme="dark"] .muted,
html[data-u14-theme="dark"] .save-status,
html[data-u14-theme="dark"] .match-meta,
html[data-u14-theme="dark"] .deadline,
html[data-u14-theme="dark"] .admin-theme-switch span {
  color: var(--muted);
}
html[data-u14-theme="dark"] .brand-mark,
html[data-u14-theme="dark"] .tab.active,
html[data-u14-theme="dark"] .live-badge,
html[data-u14-theme="dark"] .theme-switch-btn.active {
  background: var(--yellow);
  color: #063b21;
  border-color: var(--green);
}
html[data-u14-theme="dark"] button.primary,
html[data-u14-theme="dark"] .primary,
html[data-u14-theme="dark"] .hub button.selected {
  background: var(--green);
  color: #fff;
  border-color: var(--green);
}
html[data-u14-theme="dark"] .tab,
html[data-u14-theme="dark"] .day-header,
html[data-u14-theme="dark"] .stat,
html[data-u14-theme="dark"] .show-more-row .button {
  background: #102718;
  border-color: var(--line);
  color: var(--ink);
}
html[data-u14-theme="dark"] th {
  background: var(--dark-green);
  color: #fff;
}
html[data-u14-theme="dark"] .scoreline,
html[data-u14-theme="dark"] .stat strong,
html[data-u14-theme="dark"] .admin-theme-switch strong {
  color: #8ff0ae;
}
html[data-u14-theme="dark"] .app-hero {
  background: linear-gradient(120deg, #004522, #008640);
  color: #fff;
}
html[data-u14-theme="dark"] .app-hero p {
  color: rgba(255,255,255,.88);
}
html[data-u14-theme="dark"] .match-card.locked {
  background: #17241b;
}
html[data-u14-theme="dark"] .locked-badge {
  background: #243628;
  color: #d7e9db;
}

html[data-u14-theme="light"] {
  color-scheme: light;
  --green: #00a850;
  --dark-green: #006b36;
  --yellow: #fff001;
  --ink: #142018;
  --muted: #66756b;
  --line: #dfe8df;
  --soft: #f6faf3;
  --white: #fff;
}
html[data-u14-theme="light"] body {
  background: linear-gradient(135deg, #eaf6e7, #fffde0);
  color: var(--ink);
}
html[data-u14-theme="light"] a,
html[data-u14-theme="light"] .topbar nav a,
html[data-u14-theme="light"] .linkbtn,
html[data-u14-theme="light"] .scoreline,
html[data-u14-theme="light"] .stat strong,
html[data-u14-theme="light"] .admin-theme-switch strong {
  color: var(--dark-green);
}
html[data-u14-theme="light"] .topbar {
  background: rgba(255,255,255,.94);
  border-color: var(--line);
}
html[data-u14-theme="light"] .auth-card,
html[data-u14-theme="light"] .panel,
html[data-u14-theme="light"] .app-panel,
html[data-u14-theme="light"] .match-card,
html[data-u14-theme="light"] .override-item,
html[data-u14-theme="light"] table,
html[data-u14-theme="light"] input,
html[data-u14-theme="light"] select,
html[data-u14-theme="light"] button,
html[data-u14-theme="light"] .button,
html[data-u14-theme="light"] .flash,
html[data-u14-theme="light"] .admin-theme-switch {
  background-color: var(--white);
  color: var(--ink);
  border-color: var(--line);
}
html[data-u14-theme="light"] .panel,
html[data-u14-theme="light"] .app-panel {
  background: rgba(255,255,255,.92);
}
html[data-u14-theme="light"] .brand,
html[data-u14-theme="light"] label,
html[data-u14-theme="light"] .teams {
  color: var(--ink);
}
html[data-u14-theme="light"] .brand small,
html[data-u14-theme="light"] .hero-mini p,
html[data-u14-theme="light"] .muted,
html[data-u14-theme="light"] .save-status,
html[data-u14-theme="light"] .match-meta,
html[data-u14-theme="light"] .deadline,
html[data-u14-theme="light"] .admin-theme-switch span {
  color: var(--muted);
}
html[data-u14-theme="light"] .brand-mark,
html[data-u14-theme="light"] .tab.active,
html[data-u14-theme="light"] .live-badge,
html[data-u14-theme="light"] .theme-switch-btn.active {
  background: var(--yellow);
  color: var(--dark-green);
  border-color: var(--green);
}
html[data-u14-theme="light"] button.primary,
html[data-u14-theme="light"] .primary,
html[data-u14-theme="light"] .hub button.selected {
  background: var(--green);
  color: #fff;
  border-color: var(--green);
}
html[data-u14-theme="light"] .tab {
  background:#edf7ed;
}
html[data-u14-theme="light"] .day-header {
  background:#f8fbf1;
}
html[data-u14-theme="light"] .stat {
  background: var(--soft);
}
html[data-u14-theme="light"] th {
  background:var(--dark-green);
  color:white;
}
html[data-u14-theme="light"] .app-hero {
  background: linear-gradient(120deg, var(--dark-green), var(--green));
  color:white;
}
html[data-u14-theme="light"] .app-hero p {
  color:rgba(255,255,255,.86);
}
html[data-u14-theme="light"] .match-card.locked {
  background:#fbfcfa;
}
html[data-u14-theme="light"] .locked-badge {
  background:#eee;
  color:#555;
}

@media (max-width: 620px) {
  .admin-theme-switch {
    align-items: flex-start;
    flex-direction: column;
  }
  .theme-switch-buttons {
    justify-content: flex-start;
  }
}


/* v0.1.21g3 dark-mode readability + reminder preference hotfix
   Keep the LFK header glow and admin theme switch, but make dark mode readable:
   higher contrast text, clearer cards, less green-on-green, and softer inputs. */
.app-hero::after {
  inset: auto -154px -166px auto;
  width: 340px;
  height: 340px;
  background: radial-gradient(circle,
    rgba(255, 240, 1, .98) 0%,
    rgba(255, 240, 1, .86) 18%,
    rgba(255, 240, 1, .34) 38%,
    rgba(255, 240, 1, .10) 56%,
    rgba(255, 240, 1, 0) 74%);
}

@media (max-width: 620px) {
  .app-hero::after {
    inset: auto -122px -132px auto;
    width: 260px;
    height: 260px;
    background: radial-gradient(circle,
      rgba(255, 240, 1, .98) 0%,
      rgba(255, 240, 1, .84) 17%,
      rgba(255, 240, 1, .30) 37%,
      rgba(255, 240, 1, .09) 55%,
      rgba(255, 240, 1, 0) 73%);
  }
}

@media (prefers-color-scheme: dark) {
  :root {
    --ink: #f4fff6;
    --muted: #d2e4d5;
    --line: #315941;
    --soft: #173320;
    --white: #102518;
  }

  body {
    background: linear-gradient(135deg, #06110a, #0d2114 58%, #162207);
  }

  .topbar,
  .auth-card,
  .panel,
  .app-panel,
  .admin-theme-switch {
    background-color: rgba(14, 35, 22, .96);
    border-color: #315941;
  }

  .match-card,
  .override-item,
  .result-match-card.finished.full-points,
  .result-match-card.finished.partial-points,
  .result-match-card.finished.zero-points,
  table,
  .round-leaderboard-card {
    background-color: #132c1c;
    color: #f4fff6;
    border-color: #38664a;
  }

  input,
  select,
  textarea {
    background-color: #f8fff8;
    color: #102018;
    border-color: #b8d3bd;
  }

  input::placeholder,
  textarea::placeholder {
    color: #607368;
  }

  button,
  .button {
    background-color: #f8fff8;
    color: #064226;
    border-color: #9fc8a8;
  }

  .tips-section-head h2,
  .section-title-row h3,
  .compact-day h3,
  .brand,
  label,
  .teams,
  .compact-teams,
  .input-label,
  .prediction-label,
  .round-leaderboard-head h4 {
    color: #f7fff8;
  }

  .tips-section-head p,
  .compact-venue,
  .muted,
  .save-status,
  .match-meta,
  .compact-meta,
  .deadline,
  .mobile-score-inputs label span,
  .input-hint,
  .summary-row span,
  .result-main span {
    color: #d2e4d5;
  }

  .tips-section-head,
  .section-title-row {
    border-color: rgba(143, 240, 174, .24);
  }

  .tips-section-head > span,
  .mini-badge {
    background: rgba(255, 240, 1, .13);
    border-color: rgba(255, 240, 1, .32);
    color: #fff68a;
  }

  .tips-section.priority-section .tips-section-head h2 {
    color: #ffd477;
  }

  .compact-match-card.finished,
  .result-match-card.finished.full-points,
  .result-match-card.finished.partial-points,
  .result-match-card.finished.zero-points {
    background: #132c1c;
  }

  .summary-row > div,
  .result-main,
  .tips-summary-panel > div {
    background: rgba(248, 255, 248, .08);
    border-color: rgba(143, 240, 174, .24);
  }

  .summary-row strong,
  .result-main strong,
  .scoreline,
  .stat strong,
  .admin-theme-switch strong,
  .prediction-label strong {
    color: #b7ffc8;
  }

  .tips-summary-panel {
    background: linear-gradient(135deg, rgba(0,168,80,.18), rgba(255,240,1,.08));
    border-color: rgba(143, 240, 174, .22);
  }

  .tips-summary-panel p,
  .tips-summary-panel strong {
    color: #f4fff6;
  }

  .stat,
  .day-header,
  .tab,
  .show-more-row .button,
  .theme-switch-btn {
    background: #173320;
    border-color: #38664a;
    color: #f4fff6;
  }

  .app-hero {
    background: linear-gradient(120deg, #00542a, #009a49);
  }

  .app-hero::after {
    background: radial-gradient(circle,
      rgba(255, 240, 1, .98) 0%,
      rgba(255, 240, 1, .86) 18%,
      rgba(255, 240, 1, .34) 38%,
      rgba(255, 240, 1, .10) 56%,
      rgba(255, 240, 1, 0) 74%);
    filter: saturate(1.08);
  }

  .locked-badge {
    background: #284332;
    color: #edf8ef;
  }
}

html[data-u14-theme="dark"] {
  --ink: #f4fff6;
  --muted: #d2e4d5;
  --line: #315941;
  --soft: #173320;
  --white: #102518;
}
html[data-u14-theme="dark"] body {
  background: linear-gradient(135deg, #06110a, #0d2114 58%, #162207);
}
html[data-u14-theme="dark"] .topbar,
html[data-u14-theme="dark"] .auth-card,
html[data-u14-theme="dark"] .panel,
html[data-u14-theme="dark"] .app-panel,
html[data-u14-theme="dark"] .admin-theme-switch {
  background-color: rgba(14, 35, 22, .96);
  border-color: #315941;
}
html[data-u14-theme="dark"] .match-card,
html[data-u14-theme="dark"] .override-item,
html[data-u14-theme="dark"] .result-match-card.finished.full-points,
html[data-u14-theme="dark"] .result-match-card.finished.partial-points,
html[data-u14-theme="dark"] .result-match-card.finished.zero-points,
html[data-u14-theme="dark"] table,
html[data-u14-theme="dark"] .round-leaderboard-card {
  background-color: #132c1c;
  color: #f4fff6;
  border-color: #38664a;
}
html[data-u14-theme="dark"] input,
html[data-u14-theme="dark"] select,
html[data-u14-theme="dark"] textarea {
  background-color: #f8fff8;
  color: #102018;
  border-color: #b8d3bd;
}
html[data-u14-theme="dark"] input::placeholder,
html[data-u14-theme="dark"] textarea::placeholder {
  color: #607368;
}
html[data-u14-theme="dark"] button,
html[data-u14-theme="dark"] .button {
  background-color: #f8fff8;
  color: #064226;
  border-color: #9fc8a8;
}
html[data-u14-theme="dark"] .tips-section-head h2,
html[data-u14-theme="dark"] .section-title-row h3,
html[data-u14-theme="dark"] .compact-day h3,
html[data-u14-theme="dark"] .brand,
html[data-u14-theme="dark"] label,
html[data-u14-theme="dark"] .teams,
html[data-u14-theme="dark"] .compact-teams,
html[data-u14-theme="dark"] .input-label,
html[data-u14-theme="dark"] .prediction-label,
html[data-u14-theme="dark"] .round-leaderboard-head h4 {
  color: #f7fff8;
}
html[data-u14-theme="dark"] .tips-section-head p,
html[data-u14-theme="dark"] .compact-venue,
html[data-u14-theme="dark"] .muted,
html[data-u14-theme="dark"] .save-status,
html[data-u14-theme="dark"] .match-meta,
html[data-u14-theme="dark"] .compact-meta,
html[data-u14-theme="dark"] .deadline,
html[data-u14-theme="dark"] .mobile-score-inputs label span,
html[data-u14-theme="dark"] .input-hint,
html[data-u14-theme="dark"] .summary-row span,
html[data-u14-theme="dark"] .result-main span {
  color: #d2e4d5;
}
html[data-u14-theme="dark"] .tips-section-head,
html[data-u14-theme="dark"] .section-title-row {
  border-color: rgba(143, 240, 174, .24);
}
html[data-u14-theme="dark"] .tips-section-head > span,
html[data-u14-theme="dark"] .mini-badge {
  background: rgba(255, 240, 1, .13);
  border-color: rgba(255, 240, 1, .32);
  color: #fff68a;
}
html[data-u14-theme="dark"] .tips-section.priority-section .tips-section-head h2 {
  color: #ffd477;
}
html[data-u14-theme="dark"] .compact-match-card.finished,
html[data-u14-theme="dark"] .result-match-card.finished.full-points,
html[data-u14-theme="dark"] .result-match-card.finished.partial-points,
html[data-u14-theme="dark"] .result-match-card.finished.zero-points {
  background: #132c1c;
}
html[data-u14-theme="dark"] .summary-row > div,
html[data-u14-theme="dark"] .result-main,
html[data-u14-theme="dark"] .tips-summary-panel > div {
  background: rgba(248, 255, 248, .08);
  border-color: rgba(143, 240, 174, .24);
}
html[data-u14-theme="dark"] .summary-row strong,
html[data-u14-theme="dark"] .result-main strong,
html[data-u14-theme="dark"] .scoreline,
html[data-u14-theme="dark"] .stat strong,
html[data-u14-theme="dark"] .admin-theme-switch strong,
html[data-u14-theme="dark"] .prediction-label strong {
  color: #b7ffc8;
}
html[data-u14-theme="dark"] .tips-summary-panel {
  background: linear-gradient(135deg, rgba(0,168,80,.18), rgba(255,240,1,.08));
  border-color: rgba(143, 240, 174, .22);
}
html[data-u14-theme="dark"] .tips-summary-panel p,
html[data-u14-theme="dark"] .tips-summary-panel strong {
  color: #f4fff6;
}
html[data-u14-theme="dark"] .stat,
html[data-u14-theme="dark"] .day-header,
html[data-u14-theme="dark"] .tab,
html[data-u14-theme="dark"] .show-more-row .button,
html[data-u14-theme="dark"] .theme-switch-btn {
  background: #173320;
  border-color: #38664a;
  color: #f4fff6;
}
html[data-u14-theme="dark"] .app-hero {
  background: linear-gradient(120deg, #00542a, #009a49);
}
html[data-u14-theme="dark"] .app-hero::after {
  background: radial-gradient(circle,
    rgba(255, 240, 1, .98) 0%,
    rgba(255, 240, 1, .86) 18%,
    rgba(255, 240, 1, .34) 38%,
    rgba(255, 240, 1, .10) 56%,
    rgba(255, 240, 1, 0) 74%);
  filter: saturate(1.08);
}
html[data-u14-theme="dark"] .locked-badge {
  background: #284332;
  color: #edf8ef;
}

/* v0.1.21g3 readability pass after screenshot review.
   This final layer deliberately increases contrast in dark mode without removing
   the yellow brand glow or the admin theme switch. */
@media (prefers-color-scheme: dark) {
  .app-panel,
  .panel {
    background: rgba(10, 29, 17, .98);
  }

  .match-card,
  .match-card.compact-match-card,
  .compact-match-card.finished,
  .summary-match-card,
  .result-match-card,
  .input-match-card {
    background: #17331f;
    border-color: #4d7659;
    color: #f8fff7;
  }

  .compact-match-card.needs-tip {
    border-color: #f2c76c;
    box-shadow: inset 5px 0 0 #ffe06f;
  }

  .compact-match-card.live,
  .result-match-card.live {
    border-color: #ffe06f;
    box-shadow: inset 5px 0 0 #fff001, 0 0 0 2px rgba(255, 240, 1, .14);
  }

  .compact-match-card.full-points,
  .result-match-card.finished.full-points {
    box-shadow: inset 5px 0 0 #57df7b;
  }

  .compact-match-card.partial-points,
  .result-match-card.finished.partial-points {
    box-shadow: inset 5px 0 0 #d4f95f;
  }

  .compact-match-card.zero-points.finished,
  .result-match-card.finished.zero-points {
    box-shadow: inset 5px 0 0 #9fb0a7;
  }

  .compact-meta,
  .match-meta,
  .compact-venue,
  .deadline,
  .input-hint,
  .save-status {
    color: #d9ebdc;
  }

  .compact-teams,
  .teams,
  .input-label,
  .prediction-label,
  .tips-section-head h2,
  .compact-day h3 {
    color: #fbfffb;
    text-shadow: 0 1px 0 rgba(0, 0, 0, .18);
  }

  .mobile-score-inputs input,
  .score-inputs input,
  input,
  select,
  textarea {
    background: #fbfffb;
    color: #0d2115;
    border-color: #cde2d0;
  }

  .mobile-score-inputs label span {
    color: #e2f0e4;
  }

  .summary-row > div,
  .result-main,
  .tips-summary-panel > div {
    background: rgba(255, 255, 255, .10);
    border-color: rgba(183, 255, 200, .26);
  }

  .summary-row span,
  .result-main span {
    color: #e0efe3;
  }

  .summary-row strong,
  .result-main strong,
  .scoreline {
    color: #c8ffd4;
  }

  .app-hero::after {
    inset: auto -178px -190px auto;
    width: 382px;
    height: 382px;
    background: radial-gradient(circle,
      rgba(255, 240, 1, 1) 0%,
      rgba(255, 240, 1, .82) 13%,
      rgba(255, 240, 1, .30) 32%,
      rgba(255, 240, 1, .08) 50%,
      rgba(255, 240, 1, 0) 70%);
  }
}

html[data-u14-theme="dark"] .app-panel,
html[data-u14-theme="dark"] .panel {
  background: rgba(10, 29, 17, .98);
}
html[data-u14-theme="dark"] .match-card,
html[data-u14-theme="dark"] .match-card.compact-match-card,
html[data-u14-theme="dark"] .compact-match-card.finished,
html[data-u14-theme="dark"] .summary-match-card,
html[data-u14-theme="dark"] .result-match-card,
html[data-u14-theme="dark"] .input-match-card {
  background: #17331f;
  border-color: #4d7659;
  color: #f8fff7;
}
html[data-u14-theme="dark"] .compact-match-card.needs-tip {
  border-color: #f2c76c;
  box-shadow: inset 5px 0 0 #ffe06f;
}
html[data-u14-theme="dark"] .compact-match-card.live,
html[data-u14-theme="dark"] .result-match-card.live {
  border-color: #ffe06f;
  box-shadow: inset 5px 0 0 #fff001, 0 0 0 2px rgba(255, 240, 1, .14);
}
html[data-u14-theme="dark"] .compact-match-card.full-points,
html[data-u14-theme="dark"] .result-match-card.finished.full-points {
  box-shadow: inset 5px 0 0 #57df7b;
}
html[data-u14-theme="dark"] .compact-match-card.partial-points,
html[data-u14-theme="dark"] .result-match-card.finished.partial-points {
  box-shadow: inset 5px 0 0 #d4f95f;
}
html[data-u14-theme="dark"] .compact-match-card.zero-points.finished,
html[data-u14-theme="dark"] .result-match-card.finished.zero-points {
  box-shadow: inset 5px 0 0 #9fb0a7;
}
html[data-u14-theme="dark"] .compact-meta,
html[data-u14-theme="dark"] .match-meta,
html[data-u14-theme="dark"] .compact-venue,
html[data-u14-theme="dark"] .deadline,
html[data-u14-theme="dark"] .input-hint,
html[data-u14-theme="dark"] .save-status {
  color: #d9ebdc;
}
html[data-u14-theme="dark"] .compact-teams,
html[data-u14-theme="dark"] .teams,
html[data-u14-theme="dark"] .input-label,
html[data-u14-theme="dark"] .prediction-label,
html[data-u14-theme="dark"] .tips-section-head h2,
html[data-u14-theme="dark"] .compact-day h3 {
  color: #fbfffb;
  text-shadow: 0 1px 0 rgba(0, 0, 0, .18);
}
html[data-u14-theme="dark"] .mobile-score-inputs input,
html[data-u14-theme="dark"] .score-inputs input,
html[data-u14-theme="dark"] input,
html[data-u14-theme="dark"] select,
html[data-u14-theme="dark"] textarea {
  background: #fbfffb;
  color: #0d2115;
  border-color: #cde2d0;
}
html[data-u14-theme="dark"] .mobile-score-inputs label span {
  color: #e2f0e4;
}
html[data-u14-theme="dark"] .summary-row > div,
html[data-u14-theme="dark"] .result-main,
html[data-u14-theme="dark"] .tips-summary-panel > div {
  background: rgba(255, 255, 255, .10);
  border-color: rgba(183, 255, 200, .26);
}
html[data-u14-theme="dark"] .summary-row span,
html[data-u14-theme="dark"] .result-main span {
  color: #e0efe3;
}
html[data-u14-theme="dark"] .summary-row strong,
html[data-u14-theme="dark"] .result-main strong,
html[data-u14-theme="dark"] .scoreline {
  color: #c8ffd4;
}
html[data-u14-theme="dark"] .app-hero::after {
  inset: auto -178px -190px auto;
  width: 382px;
  height: 382px;
  background: radial-gradient(circle,
    rgba(255, 240, 1, 1) 0%,
    rgba(255, 240, 1, .82) 13%,
    rgba(255, 240, 1, .30) 32%,
    rgba(255, 240, 1, .08) 50%,
    rgba(255, 240, 1, 0) 70%);
}


/* v0.1.21g5 theme stabilization after screenshot review.
   Purpose: recover a clean light theme, keep a readable dark theme, and avoid
   the g3 unscoped dark-mode rules leaking into the admin-forced light preview.
   This is intentionally a final override layer; it does not change app logic. */
:root {
  --lfk-yellow: #fff001;
  --lfk-green: #00a850;
  --lfk-dark-green: #006b36;
  --lfk-ink: #102016;
  --lfk-muted: #52675a;
  --lfk-line: #dce8dd;
  --lfk-panel: #ffffff;
  --lfk-soft: #eef8ed;
}

.app-hero::after {
  inset: auto -165px -190px auto;
  width: 380px;
  height: 380px;
  background: radial-gradient(circle,
    rgba(255, 240, 1, 1) 0%,
    rgba(255, 240, 1, .88) 10%,
    rgba(255, 240, 1, .36) 27%,
    rgba(255, 240, 1, .10) 43%,
    rgba(255, 240, 1, 0) 64%);
  opacity: 1;
  box-shadow: none;
  filter: saturate(1.03);
}

html[data-u14-theme="light"] {
  color-scheme: light;
  --yellow: var(--lfk-yellow);
  --green: var(--lfk-green);
  --dark-green: var(--lfk-dark-green);
  --ink: var(--lfk-ink);
  --muted: var(--lfk-muted);
  --line: var(--lfk-line);
  --soft: var(--lfk-soft);
  --white: var(--lfk-panel);
}
html[data-u14-theme="light"] body {
  background: linear-gradient(135deg, #f7fbf2, #edf8e7 56%, #fffde8);
  color: var(--lfk-ink);
}
html[data-u14-theme="light"] .topbar {
  background: rgba(255,255,255,.94);
  border-bottom-color: #d9e8d9;
}
html[data-u14-theme="light"] .app-panel,
html[data-u14-theme="light"] .panel,
html[data-u14-theme="light"] .auth-card,
html[data-u14-theme="light"] .admin-theme-switch {
  background: rgba(255,255,255,.96);
  color: var(--lfk-ink);
  border-color: var(--lfk-line);
}
html[data-u14-theme="light"] .app-hero {
  background: linear-gradient(120deg, #006b36, #00a850);
  color: #fff;
}
html[data-u14-theme="light"] .app-hero p {
  color: rgba(255,255,255,.88);
}
html[data-u14-theme="light"] .app-hero::after {
  background: radial-gradient(circle,
    rgba(255, 240, 1, 1) 0%,
    rgba(255, 240, 1, .86) 10%,
    rgba(255, 240, 1, .32) 26%,
    rgba(255, 240, 1, .09) 42%,
    rgba(255, 240, 1, 0) 64%);
}
html[data-u14-theme="light"] .match-card,
html[data-u14-theme="light"] .match-card.compact-match-card,
html[data-u14-theme="light"] .compact-match-card.finished,
html[data-u14-theme="light"] .summary-match-card,
html[data-u14-theme="light"] .result-match-card,
html[data-u14-theme="light"] .input-match-card,
html[data-u14-theme="light"] .round-leaderboard-card,
html[data-u14-theme="light"] table {
  background: #fff;
  color: var(--lfk-ink);
  border-color: var(--lfk-line);
  box-shadow: 0 2px 10px rgba(0, 65, 30, .035);
}
html[data-u14-theme="light"] .compact-match-card.full-points,
html[data-u14-theme="light"] .result-match-card.finished.full-points {
  box-shadow: inset 5px 0 0 #60d35c, 0 2px 10px rgba(0, 65, 30, .035);
}
html[data-u14-theme="light"] .compact-match-card.partial-points,
html[data-u14-theme="light"] .result-match-card.finished.partial-points,
html[data-u14-theme="light"] .compact-match-card.needs-tip {
  box-shadow: inset 5px 0 0 #d4f95f, 0 2px 10px rgba(0, 65, 30, .035);
}
html[data-u14-theme="light"] .compact-match-card.zero-points.finished,
html[data-u14-theme="light"] .result-match-card.finished.zero-points {
  box-shadow: inset 5px 0 0 #b8c8bd, 0 2px 10px rgba(0, 65, 30, .035);
}
html[data-u14-theme="light"] .compact-teams,
html[data-u14-theme="light"] .teams,
html[data-u14-theme="light"] .input-label,
html[data-u14-theme="light"] .prediction-label,
html[data-u14-theme="light"] .tips-section-head h2,
html[data-u14-theme="light"] .section-title-row h3,
html[data-u14-theme="light"] .compact-day h3,
html[data-u14-theme="light"] .brand,
html[data-u14-theme="light"] label,
html[data-u14-theme="light"] .admin-theme-switch strong {
  color: var(--lfk-ink);
  text-shadow: none;
}
html[data-u14-theme="light"] .compact-meta,
html[data-u14-theme="light"] .match-meta,
html[data-u14-theme="light"] .compact-venue,
html[data-u14-theme="light"] .deadline,
html[data-u14-theme="light"] .input-hint,
html[data-u14-theme="light"] .save-status,
html[data-u14-theme="light"] .muted,
html[data-u14-theme="light"] .brand small,
html[data-u14-theme="light"] .mobile-score-inputs label span,
html[data-u14-theme="light"] .admin-theme-switch span {
  color: #5e7164;
}
html[data-u14-theme="light"] input,
html[data-u14-theme="light"] select,
html[data-u14-theme="light"] textarea,
html[data-u14-theme="light"] .mobile-score-inputs input,
html[data-u14-theme="light"] .score-inputs input {
  background: #fff;
  color: var(--lfk-ink);
  border-color: #d9e8dc;
}
html[data-u14-theme="light"] input::placeholder,
html[data-u14-theme="light"] textarea::placeholder {
  color: #8fa098;
}
html[data-u14-theme="light"] .summary-row > div,
html[data-u14-theme="light"] .result-main,
html[data-u14-theme="light"] .tips-summary-panel > div {
  background: rgba(255,255,255,.70);
  border-color: rgba(0,107,54,.16);
}
html[data-u14-theme="light"] .summary-row span,
html[data-u14-theme="light"] .result-main span,
html[data-u14-theme="light"] .tips-summary-panel p {
  color: #53675b;
}
html[data-u14-theme="light"] .summary-row strong,
html[data-u14-theme="light"] .result-main strong,
html[data-u14-theme="light"] .scoreline,
html[data-u14-theme="light"] .stat strong,
html[data-u14-theme="light"] .tips-summary-panel strong {
  color: #006b36;
}
html[data-u14-theme="light"] .tips-summary-panel {
  background: linear-gradient(135deg, #e9fff0, #fffde8);
  border-color: #cbe9cf;
}
html[data-u14-theme="light"] .stat,
html[data-u14-theme="light"] .day-header,
html[data-u14-theme="light"] .tab,
html[data-u14-theme="light"] .show-more-row .button,
html[data-u14-theme="light"] .theme-switch-btn,
html[data-u14-theme="light"] button,
html[data-u14-theme="light"] .button {
  background: #f2f8f1;
  border-color: #d9e8dc;
  color: var(--lfk-ink);
}
html[data-u14-theme="light"] .tab.active,
html[data-u14-theme="light"] .theme-switch-btn.active,
html[data-u14-theme="light"] .hub button.selected,
html[data-u14-theme="light"] .live-badge {
  background: var(--lfk-yellow);
  border-color: var(--lfk-green);
  color: #063b21;
}

html[data-u14-theme="dark"] {
  color-scheme: dark;
  --yellow: var(--lfk-yellow);
  --green: var(--lfk-green);
  --dark-green: #007a3d;
  --ink: #f5fff7;
  --muted: #c8d8cc;
  --line: #42644d;
  --soft: #10271a;
  --white: #13291b;
}
html[data-u14-theme="dark"] body {
  background: linear-gradient(135deg, #06130c, #0c2114 58%, #12270f);
  color: var(--ink);
}
html[data-u14-theme="dark"] .topbar {
  background: rgba(9, 31, 17, .96);
  border-bottom-color: #24402c;
}
html[data-u14-theme="dark"] .app-panel,
html[data-u14-theme="dark"] .panel,
html[data-u14-theme="dark"] .auth-card,
html[data-u14-theme="dark"] .admin-theme-switch {
  background: #102719;
  color: var(--ink);
  border-color: #365841;
}
html[data-u14-theme="dark"] .match-card,
html[data-u14-theme="dark"] .match-card.compact-match-card,
html[data-u14-theme="dark"] .compact-match-card.finished,
html[data-u14-theme="dark"] .summary-match-card,
html[data-u14-theme="dark"] .result-match-card,
html[data-u14-theme="dark"] .input-match-card,
html[data-u14-theme="dark"] .round-leaderboard-card,
html[data-u14-theme="dark"] table {
  background: #14321f;
  color: var(--ink);
  border-color: #43664f;
}
html[data-u14-theme="dark"] .compact-teams,
html[data-u14-theme="dark"] .teams,
html[data-u14-theme="dark"] .input-label,
html[data-u14-theme="dark"] .prediction-label,
html[data-u14-theme="dark"] .tips-section-head h2,
html[data-u14-theme="dark"] .section-title-row h3,
html[data-u14-theme="dark"] .compact-day h3,
html[data-u14-theme="dark"] .brand,
html[data-u14-theme="dark"] label,
html[data-u14-theme="dark"] .admin-theme-switch strong {
  color: #ffffff;
  text-shadow: none;
}
html[data-u14-theme="dark"] .compact-meta,
html[data-u14-theme="dark"] .match-meta,
html[data-u14-theme="dark"] .compact-venue,
html[data-u14-theme="dark"] .deadline,
html[data-u14-theme="dark"] .input-hint,
html[data-u14-theme="dark"] .save-status,
html[data-u14-theme="dark"] .muted,
html[data-u14-theme="dark"] .brand small,
html[data-u14-theme="dark"] .mobile-score-inputs label span,
html[data-u14-theme="dark"] .admin-theme-switch span {
  color: var(--muted);
}
html[data-u14-theme="dark"] input,
html[data-u14-theme="dark"] select,
html[data-u14-theme="dark"] textarea,
html[data-u14-theme="dark"] .mobile-score-inputs input,
html[data-u14-theme="dark"] .score-inputs input {
  background: #f8fff8;
  color: #0d2115;
  border-color: #c6dfcc;
}
html[data-u14-theme="dark"] input::placeholder,
html[data-u14-theme="dark"] textarea::placeholder {
  color: #809189;
}
html[data-u14-theme="dark"] .summary-row > div,
html[data-u14-theme="dark"] .result-main,
html[data-u14-theme="dark"] .tips-summary-panel > div {
  background: #24432d;
  border-color: #4d7459;
  color: var(--ink);
}
html[data-u14-theme="dark"] .summary-row span,
html[data-u14-theme="dark"] .result-main span,
html[data-u14-theme="dark"] .tips-summary-panel p {
  color: #d7e7da;
}
html[data-u14-theme="dark"] .summary-row strong,
html[data-u14-theme="dark"] .result-main strong,
html[data-u14-theme="dark"] .scoreline,
html[data-u14-theme="dark"] .stat strong,
html[data-u14-theme="dark"] .tips-summary-panel strong {
  color: #b9ffc8;
}
html[data-u14-theme="dark"] .tips-summary-panel {
  background: linear-gradient(135deg, rgba(0,168,80,.18), rgba(255,240,1,.08));
  border-color: #49734f;
}
html[data-u14-theme="dark"] .stat,
html[data-u14-theme="dark"] .day-header,
html[data-u14-theme="dark"] .tab,
html[data-u14-theme="dark"] .show-more-row .button,
html[data-u14-theme="dark"] .theme-switch-btn,
html[data-u14-theme="dark"] button,
html[data-u14-theme="dark"] .button {
  background: #173820;
  border-color: #43664f;
  color: #f7fff8;
}
html[data-u14-theme="dark"] .tab.active,
html[data-u14-theme="dark"] .theme-switch-btn.active,
html[data-u14-theme="dark"] .hub button.selected,
html[data-u14-theme="dark"] .live-badge {
  background: var(--lfk-yellow);
  border-color: var(--lfk-green);
  color: #063b21;
}
html[data-u14-theme="dark"] .app-hero {
  background: linear-gradient(120deg, #006b36, #00a850);
}
html[data-u14-theme="dark"] .app-hero::after {
  inset: auto -165px -190px auto;
  width: 380px;
  height: 380px;
  background: radial-gradient(circle,
    rgba(255, 240, 1, 1) 0%,
    rgba(255, 240, 1, .86) 10%,
    rgba(255, 240, 1, .32) 27%,
    rgba(255, 240, 1, .09) 43%,
    rgba(255, 240, 1, 0) 64%);
}

@media (prefers-color-scheme: dark) {
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) {
    color-scheme: dark;
    --yellow: var(--lfk-yellow);
    --green: var(--lfk-green);
    --dark-green: #007a3d;
    --ink: #f5fff7;
    --muted: #c8d8cc;
    --line: #42644d;
    --soft: #10271a;
    --white: #13291b;
  }
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) body {
    background: linear-gradient(135deg, #06130c, #0c2114 58%, #12270f);
    color: var(--ink);
  }
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .app-panel,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .panel,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .auth-card,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .admin-theme-switch,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .match-card,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .match-card.compact-match-card,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .compact-match-card.finished,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .summary-match-card,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .result-match-card,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .input-match-card,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .round-leaderboard-card,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) table {
    background: #14321f;
    color: var(--ink);
    border-color: #43664f;
  }
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .compact-teams,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .teams,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .input-label,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .prediction-label,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .tips-section-head h2,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .compact-day h3,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .brand,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) label {
    color: #ffffff;
    text-shadow: none;
  }
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) input,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) select,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) textarea,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .mobile-score-inputs input,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .score-inputs input {
    background: #f8fff8;
    color: #0d2115;
    border-color: #c6dfcc;
  }
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .compact-meta,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .match-meta,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .compact-venue,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .deadline,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .input-hint,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .save-status,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .muted,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .brand small,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .mobile-score-inputs label span {
    color: var(--muted);
  }
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .app-hero::after {
    inset: auto -165px -190px auto;
    width: 380px;
    height: 380px;
    background: radial-gradient(circle,
      rgba(255, 240, 1, 1) 0%,
      rgba(255, 240, 1, .86) 10%,
      rgba(255, 240, 1, .32) 27%,
      rgba(255, 240, 1, .09) 43%,
      rgba(255, 240, 1, 0) 64%);
  }
}


/* v0.1.21g6 theme contrast normalization
   Same visual design, but normalize contrast and complete missing dark-mode
   surfaces. This is deliberately an override layer: no layout or app logic changes. */
:root {
  --lfk-light-meta: #405648;
  --lfk-light-label: #294133;
  --lfk-light-line-strong: #c9ddce;
  --lfk-dark-surface: #102719;
  --lfk-dark-card: #15331f;
  --lfk-dark-field: #1b3b27;
  --lfk-dark-field-2: #21462f;
  --lfk-dark-line: #557860;
  --lfk-dark-meta: #d5e4d7;
  --lfk-dark-label: #f6fff7;
}

/* Stronger secondary text in forced light mode. */
html[data-u14-theme="light"] .tips-section-head p,
html[data-u14-theme="light"] .compact-meta,
html[data-u14-theme="light"] .match-meta,
html[data-u14-theme="light"] .compact-venue,
html[data-u14-theme="light"] .deadline,
html[data-u14-theme="light"] .input-hint,
html[data-u14-theme="light"] .save-status,
html[data-u14-theme="light"] .muted,
html[data-u14-theme="light"] .brand small,
html[data-u14-theme="light"] .admin-theme-switch span,
html[data-u14-theme="light"] .result-line small,
html[data-u14-theme="light"] .result-line em,
html[data-u14-theme="light"] .points-summary small,
html[data-u14-theme="light"] .compact-helper,
html[data-u14-theme="light"] .finished-hidden-note,
html[data-u14-theme="light"] .leaderboard-note {
  color: var(--lfk-light-meta);
  opacity: 1;
}
html[data-u14-theme="light"] .tip-line > span,
html[data-u14-theme="light"] .result-line span,
html[data-u14-theme="light"] .points-summary span,
html[data-u14-theme="light"] .mobile-score-inputs label span,
html[data-u14-theme="light"] .input-label,
html[data-u14-theme="light"] .prediction-label,
html[data-u14-theme="light"] .summary-row span,
html[data-u14-theme="light"] .result-main span,
html[data-u14-theme="light"] .tips-summary-panel small {
  color: var(--lfk-light-label);
  opacity: 1;
  font-weight: 950;
}
html[data-u14-theme="light"] .tips-section-head h2,
html[data-u14-theme="light"] .section-title-row h3,
html[data-u14-theme="light"] .compact-day h3 {
  color: #16301f;
  opacity: 1;
}
html[data-u14-theme="light"] .tips-section-head > span,
html[data-u14-theme="light"] .mini-badge,
html[data-u14-theme="light"] .locked-badge,
html[data-u14-theme="light"] .status-pill,
html[data-u14-theme="light"] .badge,
html[data-u14-theme="light"] .participant-badge {
  opacity: 1;
}
html[data-u14-theme="light"] .tip-line,
html[data-u14-theme="light"] .result-line,
html[data-u14-theme="light"] .points-summary,
html[data-u14-theme="light"] .compact-editor,
html[data-u14-theme="light"] .finished-hidden-note,
html[data-u14-theme="light"] .tips-toolbar,
html[data-u14-theme="light"] .leaderboard-note {
  background: #fbfefb;
  border-color: var(--lfk-light-line-strong);
  color: var(--lfk-ink);
}
html[data-u14-theme="light"] .tip-chip {
  color: #253a2e;
}
html[data-u14-theme="light"] .tip-chip.missing {
  color: #7c3507;
}
html[data-u14-theme="light"] .tip-chip.bad {
  color: #8a1717;
}
html[data-u14-theme="light"] .tip-chip.ok {
  color: #095f2d;
}

/* Forced dark mode: larger content boxes must not stay light. Small chips may
   still use purposeful accent colors, but fields/cards get real dark surfaces. */
html[data-u14-theme="dark"] .tip-line,
html[data-u14-theme="dark"] .result-line,
html[data-u14-theme="dark"] .points-summary,
html[data-u14-theme="dark"] .points-summary.muted-points,
html[data-u14-theme="dark"] .compact-editor,
html[data-u14-theme="dark"] .finished-hidden-note,
html[data-u14-theme="dark"] .tips-toolbar,
html[data-u14-theme="dark"] .leaderboard-note,
html[data-u14-theme="dark"] .notification-panel,
html[data-u14-theme="dark"] .review-summary > div,
html[data-u14-theme="dark"] .admin-assisted-form,
html[data-u14-theme="dark"] .override-panel,
html[data-u14-theme="dark"] .warning-list,
html[data-u14-theme="dark"] .shared-points,
html[data-u14-theme="dark"] .bulk-row-status {
  background: var(--lfk-dark-field);
  border-color: var(--lfk-dark-line);
  color: var(--lfk-dark-label);
}
html[data-u14-theme="dark"] input,
html[data-u14-theme="dark"] select,
html[data-u14-theme="dark"] textarea,
html[data-u14-theme="dark"] .mobile-score-inputs input,
html[data-u14-theme="dark"] .score-inputs input {
  background: #173622;
  color: var(--lfk-dark-label);
  border-color: var(--lfk-dark-line);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}
html[data-u14-theme="dark"] input::placeholder,
html[data-u14-theme="dark"] textarea::placeholder {
  color: #a8b9ad;
}
html[data-u14-theme="dark"] .score-inputs.result-ok input,
html[data-u14-theme="dark"] .mobile-score-inputs.result-ok input {
  background: #153f27;
  border-color: #4ade80;
  color: #dfffe8;
}
html[data-u14-theme="dark"] .score-inputs.result-bad input,
html[data-u14-theme="dark"] .mobile-score-inputs.result-bad input {
  background: #3b1f22;
  border-color: #fca5a5;
  color: #ffe7e7;
}
html[data-u14-theme="dark"] .result-line.live,
html[data-u14-theme="dark"] .points-summary.live-points {
  background: #352f14;
  border-color: #f5d565;
  color: #fff7cc;
}
html[data-u14-theme="dark"] .result-line.final {
  background: var(--lfk-dark-field);
  border-color: var(--lfk-dark-line);
}
html[data-u14-theme="dark"] .points-summary.full-points {
  background: #153f27;
  border-color: #4ade80;
}
html[data-u14-theme="dark"] .points-summary.partial-points {
  background: #263d18;
  border-color: #bef264;
}
html[data-u14-theme="dark"] .points-summary.zero-points {
  background: #3a2223;
  border-color: #f2a7a7;
}
html[data-u14-theme="dark"] .tip-line > span,
html[data-u14-theme="dark"] .result-line span,
html[data-u14-theme="dark"] .points-summary span,
html[data-u14-theme="dark"] .mobile-score-inputs label span,
html[data-u14-theme="dark"] .input-label,
html[data-u14-theme="dark"] .prediction-label,
html[data-u14-theme="dark"] .tips-summary-panel small {
  color: #e9f6ec;
  opacity: 1;
  font-weight: 950;
}
html[data-u14-theme="dark"] .compact-meta,
html[data-u14-theme="dark"] .match-meta,
html[data-u14-theme="dark"] .compact-venue,
html[data-u14-theme="dark"] .deadline,
html[data-u14-theme="dark"] .input-hint,
html[data-u14-theme="dark"] .save-status,
html[data-u14-theme="dark"] .muted,
html[data-u14-theme="dark"] .brand small,
html[data-u14-theme="dark"] .admin-theme-switch span,
html[data-u14-theme="dark"] .result-line small,
html[data-u14-theme="dark"] .result-line em,
html[data-u14-theme="dark"] .points-summary small,
html[data-u14-theme="dark"] .compact-helper,
html[data-u14-theme="dark"] .finished-hidden-note,
html[data-u14-theme="dark"] .leaderboard-note {
  color: var(--lfk-dark-meta);
  opacity: 1;
}
html[data-u14-theme="dark"] .tips-section-head p {
  color: #d6e7d9;
  opacity: 1;
}
html[data-u14-theme="dark"] .tips-section-head > span,
html[data-u14-theme="dark"] .mini-badge {
  background: rgba(255, 240, 1, .13);
  border-color: rgba(255, 240, 1, .34);
  color: #fff8a8;
}
html[data-u14-theme="dark"] .locked-badge,
html[data-u14-theme="dark"] .status-pill.locked,
html[data-u14-theme="dark"] .status-pill.final {
  background: #eaf1ee;
  border-color: #d6e2dc;
  color: #153022;
}
html[data-u14-theme="dark"] .status-pill.open,
html[data-u14-theme="dark"] .badge.ok,
html[data-u14-theme="dark"] .badge.app-user,
html[data-u14-theme="dark"] .participant-badge.app-user {
  background: #d9fbe5;
  border-color: #8eedad;
  color: #0d5528;
}
html[data-u14-theme="dark"] .status-pill.live,
html[data-u14-theme="dark"] .badge.warn {
  background: #fff4bf;
  border-color: #facc15;
  color: #704500;
}
html[data-u14-theme="dark"] .tab:not(.active),
html[data-u14-theme="dark"] .theme-switch-btn:not(.active),
html[data-u14-theme="dark"] button.ghost,
html[data-u14-theme="dark"] .button.ghost {
  background: #183622;
  border-color: #4d7058;
  color: #f5fff7;
}
html[data-u14-theme="dark"] .tip-chip {
  background: #eaf1ee;
  border-color: #d7e3dc;
  color: #153022;
}
html[data-u14-theme="dark"] .tip-chip.ok {
  background: #dffbe9;
  border-color: #86efac;
  color: #0d5528;
}
html[data-u14-theme="dark"] .tip-chip.bad {
  background: #ffe7e7;
  border-color: #fca5a5;
  color: #8a1717;
}
html[data-u14-theme="dark"] .tip-chip.missing {
  background: #fff1dd;
  border-color: #fdba74;
  color: #7c3507;
}

/* System dark mode should match forced dark unless admin explicitly selected light. */
@media (prefers-color-scheme: dark) {
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .tip-line,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .result-line,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .points-summary,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .points-summary.muted-points,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .compact-editor,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .finished-hidden-note,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .tips-toolbar,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .leaderboard-note,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .notification-panel,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .review-summary > div,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .admin-assisted-form,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .override-panel,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .warning-list,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .shared-points,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .bulk-row-status {
    background: var(--lfk-dark-field);
    border-color: var(--lfk-dark-line);
    color: var(--lfk-dark-label);
  }
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) input,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) select,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) textarea,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .mobile-score-inputs input,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .score-inputs input {
    background: #173622;
    color: var(--lfk-dark-label);
    border-color: var(--lfk-dark-line);
  }
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) input::placeholder,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) textarea::placeholder {
    color: #a8b9ad;
  }
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .score-inputs.result-ok input,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .mobile-score-inputs.result-ok input {
    background: #153f27;
    border-color: #4ade80;
    color: #dfffe8;
  }
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .score-inputs.result-bad input,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .mobile-score-inputs.result-bad input {
    background: #3b1f22;
    border-color: #fca5a5;
    color: #ffe7e7;
  }
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .result-line.live,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .points-summary.live-points {
    background: #352f14;
    border-color: #f5d565;
    color: #fff7cc;
  }
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .points-summary.full-points {
    background: #153f27;
    border-color: #4ade80;
  }
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .points-summary.partial-points {
    background: #263d18;
    border-color: #bef264;
  }
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .points-summary.zero-points {
    background: #3a2223;
    border-color: #f2a7a7;
  }
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .tip-line > span,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .result-line span,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .points-summary span,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .mobile-score-inputs label span,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .input-label,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .prediction-label,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .tips-summary-panel small {
    color: #e9f6ec;
    opacity: 1;
    font-weight: 950;
  }
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .compact-meta,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .match-meta,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .compact-venue,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .deadline,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .input-hint,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .save-status,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .muted,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .brand small,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .admin-theme-switch span,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .result-line small,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .result-line em,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .points-summary small,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .compact-helper,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .finished-hidden-note,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .leaderboard-note {
    color: var(--lfk-dark-meta);
    opacity: 1;
  }
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .tips-section-head > span,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .mini-badge {
    background: rgba(255, 240, 1, .13);
    border-color: rgba(255, 240, 1, .34);
    color: #fff8a8;
  }
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .tab:not(.active),
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .theme-switch-btn:not(.active),
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) button.ghost,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .button.ghost {
    background: #183622;
    border-color: #4d7058;
    color: #f5fff7;
  }
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .tip-chip {
    background: #eaf1ee;
    border-color: #d7e3dc;
    color: #153022;
  }
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .tip-chip.ok {
    background: #dffbe9;
    border-color: #86efac;
    color: #0d5528;
  }
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .tip-chip.bad {
    background: #ffe7e7;
    border-color: #fca5a5;
    color: #8a1717;
  }
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .tip-chip.missing {
    background: #fff1dd;
    border-color: #fdba74;
    color: #7c3507;
  }
}


/* v0.1.21g7 theme coverage completion
   Final narrow coverage pass: same layout/design, but complete the remaining
   light/dark theme holes for user and admin surfaces and lift contrast on small
   metadata, labels, helper text and badges. */
:root {
  --u14-light-text: #142018;
  --u14-light-meta-strong: #33483a;
  --u14-light-muted-readable: #4a5f51;
  --u14-light-border-readable: #c6d8ca;
  --u14-dark-bg: #07150d;
  --u14-dark-panel: #102719;
  --u14-dark-card: #14331f;
  --u14-dark-card-2: #1a3b27;
  --u14-dark-field: #1f442d;
  --u14-dark-field-2: #254e34;
  --u14-dark-border: #5f856a;
  --u14-dark-border-soft: #466a52;
  --u14-dark-text: #f7fff8;
  --u14-dark-meta: #d9eadc;
  --u14-dark-muted: #c3d7c7;
  --u14-dark-yellow: #fff001;
  --u14-dark-green-text: #b7ffc9;
}

/* Forced light: make sure admin-preview light mode stays clean and readable. */
html[data-u14-theme="light"] .helper-note,
html[data-u14-theme="light"] .tips-toolbar,
html[data-u14-theme="light"] .finished-hidden-note,
html[data-u14-theme="light"] .leaderboard-note,
html[data-u14-theme="light"] .shared-empty,
html[data-u14-theme="light"] .empty-state,
html[data-u14-theme="light"] .bulk-reason-card,
html[data-u14-theme="light"] .bulk-save-bar,
html[data-u14-theme="light"] .admin-assisted-form,
html[data-u14-theme="light"] .missing-selector,
html[data-u14-theme="light"] .push-pref-card,
html[data-u14-theme="light"] .profile-card {
  color: var(--u14-light-text);
  border-color: var(--u14-light-border-readable);
}
html[data-u14-theme="light"] .tips-section-head p,
html[data-u14-theme="light"] .compact-helper,
html[data-u14-theme="light"] .finished-hidden-note,
html[data-u14-theme="light"] .switch-line small,
html[data-u14-theme="light"] .helper-note,
html[data-u14-theme="light"] .match-group-card small,
html[data-u14-theme="light"] .privacy-choice small,
html[data-u14-theme="light"] .push-pref-line small,
html[data-u14-theme="light"] .install-help-card p,
html[data-u14-theme="light"] .push-nudge-card p,
html[data-u14-theme="light"] .push-modal-body,
html[data-u14-theme="light"] .shared-match-result span,
html[data-u14-theme="light"] .shared-points small,
html[data-u14-theme="light"] .bulk-person-meta,
html[data-u14-theme="light"] .bulk-current span,
html[data-u14-theme="light"] .bulk-new-tip > span,
html[data-u14-theme="light"] .bulk-match-card small,
html[data-u14-theme="light"] .bulk-match-card span {
  color: var(--u14-light-muted-readable);
  opacity: 1;
}
html[data-u14-theme="light"] .compact-meta,
html[data-u14-theme="light"] .match-meta,
html[data-u14-theme="light"] .compact-venue,
html[data-u14-theme="light"] .deadline {
  color: var(--u14-light-meta-strong);
}

/* Forced dark: large user/admin surfaces should not look like light-mode islands. */
html[data-u14-theme="dark"] .helper-note,
html[data-u14-theme="dark"] .profile-card,
html[data-u14-theme="dark"] .privacy-prompt,
html[data-u14-theme="dark"] .privacy-choice-group,
html[data-u14-theme="dark"] .privacy-choice,
html[data-u14-theme="dark"] .shared-empty,
html[data-u14-theme="dark"] .shared-prediction-card,
html[data-u14-theme="dark"] .shared-match-card,
html[data-u14-theme="dark"] .shared-match-result,
html[data-u14-theme="dark"] .shared-tip-row,
html[data-u14-theme="dark"] .shared-points,
html[data-u14-theme="dark"] .install-help-card,
html[data-u14-theme="dark"] .push-nudge-card,
html[data-u14-theme="dark"] .push-dismissed-note,
html[data-u14-theme="dark"] .push-modal-sheet,
html[data-u14-theme="dark"] .push-modal-body ul,
html[data-u14-theme="dark"] .push-pref-card,
html[data-u14-theme="dark"] .push-debug-line span,
html[data-u14-theme="dark"] .bulk-entry-toolbar,
html[data-u14-theme="dark"] .bulk-match-card > div,
html[data-u14-theme="dark"] .bulk-reason-card,
html[data-u14-theme="dark"] .bulk-person-row,
html[data-u14-theme="dark"] .bulk-row-actions,
html[data-u14-theme="dark"] .bulk-save-bar,
html[data-u14-theme="dark"] .empty-state,
html[data-u14-theme="dark"] .missing-selector,
html[data-u14-theme="dark"] .match-group-card,
html[data-u14-theme="dark"] .notification-panel,
html[data-u14-theme="dark"] .notification-item,
html[data-u14-theme="dark"] .admin-assisted-form,
html[data-u14-theme="dark"] .override-panel,
html[data-u14-theme="dark"] .warning-list,
html[data-u14-theme="dark"] .undo-admin-change,
html[data-u14-theme="dark"] .bulk-current strong,
html[data-u14-theme="dark"] .bulk-row-status,
html[data-u14-theme="dark"] code,
html[data-u14-theme="dark"] .round-leaderboard-card,
html[data-u14-theme="dark"] .table-wrap {
  background: var(--u14-dark-field);
  border-color: var(--u14-dark-border-soft);
  color: var(--u14-dark-text);
}
html[data-u14-theme="dark"] .privacy-prompt,
html[data-u14-theme="dark"] .install-help-card,
html[data-u14-theme="dark"] .push-nudge-card,
html[data-u14-theme="dark"] .notification-panel,
html[data-u14-theme="dark"] .warning-list,
html[data-u14-theme="dark"] .bulk-paste-card,
html[data-u14-theme="dark"] .push-dismissed-note {
  background: linear-gradient(135deg, #1d3f28, #273814);
  border-color: #7d9052;
}
html[data-u14-theme="dark"] .flash.success {
  background: #143f27;
  border-color: #4ade80;
  color: #e8fff0;
}
html[data-u14-theme="dark"] .flash.error,
html[data-u14-theme="dark"] .badge.danger,
html[data-u14-theme="dark"] .undo-admin-change.clear-wrong-tip {
  background: #3c1f24;
  border-color: #fca5a5;
  color: #ffe5e5;
}
html[data-u14-theme="dark"] .flash.info,
html[data-u14-theme="dark"] .badge.review,
html[data-u14-theme="dark"] .badge.pseudo,
html[data-u14-theme="dark"] .participant-badge.pseudo {
  background: #17314a;
  border-color: #7dd3fc;
  color: #e0f2fe;
}
html[data-u14-theme="dark"] .profile-card h2,
html[data-u14-theme="dark"] .privacy-prompt h2,
html[data-u14-theme="dark"] .privacy-choice strong,
html[data-u14-theme="dark"] .shared-panel h2,
html[data-u14-theme="dark"] .shared-prediction-list h3,
html[data-u14-theme="dark"] .shared-tip-row > strong,
html[data-u14-theme="dark"] .shared-match-result strong,
html[data-u14-theme="dark"] .shared-points strong,
html[data-u14-theme="dark"] .bulk-person-id strong,
html[data-u14-theme="dark"] .bulk-match-card strong,
html[data-u14-theme="dark"] .bulk-paste-card summary,
html[data-u14-theme="dark"] .bulk-reason-card summary,
html[data-u14-theme="dark"] .install-help-card strong,
html[data-u14-theme="dark"] .push-nudge-card strong,
html[data-u14-theme="dark"] .push-dismissed-note strong,
html[data-u14-theme="dark"] .push-modal-head h2,
html[data-u14-theme="dark"] .push-pref-card h3,
html[data-u14-theme="dark"] .switch-line strong,
html[data-u14-theme="dark"] .helper-note,
html[data-u14-theme="dark"] .warn-text,
html[data-u14-theme="dark"] .incomplete-hint,
html[data-u14-theme="dark"] .bulk-current strong,
html[data-u14-theme="dark"] .section-title-row h3,
html[data-u14-theme="dark"] .round-leaderboard-head h4 {
  color: var(--u14-dark-text);
  opacity: 1;
}
html[data-u14-theme="dark"] .privacy-prompt p,
html[data-u14-theme="dark"] .privacy-choice small,
html[data-u14-theme="dark"] .shared-match-result span,
html[data-u14-theme="dark"] .shared-points small,
html[data-u14-theme="dark"] .bulk-person-meta,
html[data-u14-theme="dark"] .bulk-current span,
html[data-u14-theme="dark"] .bulk-new-tip > span,
html[data-u14-theme="dark"] .bulk-match-card small,
html[data-u14-theme="dark"] .bulk-match-card span,
html[data-u14-theme="dark"] .install-help-card p,
html[data-u14-theme="dark"] .push-nudge-card p,
html[data-u14-theme="dark"] .push-modal-body,
html[data-u14-theme="dark"] .push-pref-line small,
html[data-u14-theme="dark"] .push-debug-line,
html[data-u14-theme="dark"] .switch-line small,
html[data-u14-theme="dark"] .loading,
html[data-u14-theme="dark"] .shared-empty,
html[data-u14-theme="dark"] .empty-state,
html[data-u14-theme="dark"] .helper-note.compact-helper,
html[data-u14-theme="dark"] .compact-helper,
html[data-u14-theme="dark"] .finished-hidden-note,
html[data-u14-theme="dark"] .compact-meta,
html[data-u14-theme="dark"] .match-meta,
html[data-u14-theme="dark"] .compact-venue,
html[data-u14-theme="dark"] .deadline,
html[data-u14-theme="dark"] .tips-section-head p {
  color: var(--u14-dark-muted);
  opacity: 1;
}
html[data-u14-theme="dark"] .tips-section-head p,
html[data-u14-theme="dark"] .compact-meta,
html[data-u14-theme="dark"] .match-meta,
html[data-u14-theme="dark"] .compact-venue,
html[data-u14-theme="dark"] .deadline {
  color: #e1f0e3;
}
html[data-u14-theme="dark"] .tip-line > span,
html[data-u14-theme="dark"] .result-line span,
html[data-u14-theme="dark"] .points-summary span,
html[data-u14-theme="dark"] .summary-row span,
html[data-u14-theme="dark"] .result-main span,
html[data-u14-theme="dark"] .mobile-score-inputs label span,
html[data-u14-theme="dark"] .input-label,
html[data-u14-theme="dark"] .prediction-label,
html[data-u14-theme="dark"] .shared-points small,
html[data-u14-theme="dark"] .shared-match-result span,
html[data-u14-theme="dark"] .bulk-current span,
html[data-u14-theme="dark"] .bulk-new-tip > span {
  color: #f1fff3;
  font-weight: 950;
  opacity: 1;
}
html[data-u14-theme="dark"] .profile-card,
html[data-u14-theme="dark"] .privacy-choice-group,
html[data-u14-theme="dark"] .privacy-choice,
html[data-u14-theme="dark"] .shared-tip-row,
html[data-u14-theme="dark"] .shared-match-result,
html[data-u14-theme="dark"] .shared-points,
html[data-u14-theme="dark"] .push-pref-card,
html[data-u14-theme="dark"] .bulk-match-card > div,
html[data-u14-theme="dark"] .bulk-person-row,
html[data-u14-theme="dark"] .match-group-card {
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}
html[data-u14-theme="dark"] .icon-button,
html[data-u14-theme="dark"] .shared-user-chip,
html[data-u14-theme="dark"] .shared-scope-chip,
html[data-u14-theme="dark"] .theme-switch-btn:not(.active),
html[data-u14-theme="dark"] button.ghost,
html[data-u14-theme="dark"] .button.ghost {
  background: #183c25;
  border-color: #5d8068;
  color: var(--u14-dark-text);
}
html[data-u14-theme="dark"] .privacy-choice.active,
html[data-u14-theme="dark"] .shared-user-chip.active,
html[data-u14-theme="dark"] .shared-scope-chip.active,
html[data-u14-theme="dark"] .theme-switch-btn.active {
  background: var(--u14-dark-yellow);
  border-color: #c8bc00;
  color: #063b21;
}
html[data-u14-theme="dark"] .tip-chip {
  background: #eaf7ef;
  border-color: #cfe6d7;
  color: #102719;
}
html[data-u14-theme="dark"] .tip-chip.ok {
  background: #dafbe6;
  border-color: #86efac;
  color: #075f2d;
}
html[data-u14-theme="dark"] .tip-chip.bad {
  background: #ffe4e6;
  border-color: #fca5a5;
  color: #8a1717;
}
html[data-u14-theme="dark"] .tip-chip.missing {
  background: #fff0d8;
  border-color: #fdba74;
  color: #7c3507;
}

/* System dark mirrors forced dark unless admin selected Lyst/Mørkt explicitly. */
@media (prefers-color-scheme: dark) {
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .helper-note,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .profile-card,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .privacy-prompt,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .privacy-choice-group,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .privacy-choice,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .shared-empty,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .shared-prediction-card,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .shared-match-card,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .shared-match-result,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .shared-tip-row,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .shared-points,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .install-help-card,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .push-nudge-card,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .push-dismissed-note,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .push-modal-sheet,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .push-modal-body ul,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .push-pref-card,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .push-debug-line span,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .bulk-entry-toolbar,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .bulk-match-card > div,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .bulk-reason-card,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .bulk-person-row,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .bulk-row-actions,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .bulk-save-bar,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .empty-state,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .missing-selector,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .match-group-card,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .notification-panel,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .notification-item,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .admin-assisted-form,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .override-panel,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .warning-list,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .undo-admin-change,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .bulk-current strong,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .bulk-row-status,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) code,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .round-leaderboard-card,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .table-wrap {
    background: var(--u14-dark-field);
    border-color: var(--u14-dark-border-soft);
    color: var(--u14-dark-text);
  }
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .privacy-prompt,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .install-help-card,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .push-nudge-card,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .notification-panel,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .warning-list,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .bulk-paste-card,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .push-dismissed-note {
    background: linear-gradient(135deg, #1d3f28, #273814);
    border-color: #7d9052;
  }
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .profile-card h2,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .privacy-prompt h2,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .privacy-choice strong,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .shared-panel h2,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .shared-prediction-list h3,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .shared-tip-row > strong,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .shared-match-result strong,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .shared-points strong,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .bulk-person-id strong,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .bulk-match-card strong,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .bulk-paste-card summary,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .bulk-reason-card summary,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .install-help-card strong,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .push-nudge-card strong,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .push-dismissed-note strong,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .push-modal-head h2,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .push-pref-card h3,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .switch-line strong,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .helper-note,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .warn-text,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .incomplete-hint,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .section-title-row h3,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .round-leaderboard-head h4 {
    color: var(--u14-dark-text);
    opacity: 1;
  }
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .privacy-prompt p,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .privacy-choice small,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .shared-match-result span,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .shared-points small,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .bulk-person-meta,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .bulk-current span,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .bulk-new-tip > span,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .bulk-match-card small,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .bulk-match-card span,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .install-help-card p,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .push-nudge-card p,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .push-modal-body,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .push-pref-line small,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .push-debug-line,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .switch-line small,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .loading,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .shared-empty,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .empty-state,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .helper-note.compact-helper,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .compact-helper,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .finished-hidden-note,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .compact-meta,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .match-meta,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .compact-venue,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .deadline,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .tips-section-head p {
    color: var(--u14-dark-muted);
    opacity: 1;
  }
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .tip-line > span,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .result-line span,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .points-summary span,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .summary-row span,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .result-main span,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .mobile-score-inputs label span,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .input-label,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .prediction-label,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .shared-points small,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .shared-match-result span,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .bulk-current span,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .bulk-new-tip > span {
    color: #f1fff3;
    font-weight: 950;
    opacity: 1;
  }
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .icon-button,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .shared-user-chip,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .shared-scope-chip,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .theme-switch-btn:not(.active),
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) button.ghost,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .button.ghost {
    background: #183c25;
    border-color: #5d8068;
    color: var(--u14-dark-text);
  }
}

/* v0.1.21g8 element contrast cleanup
   Targeted pass only: improve specific labels/pills and finish dark-mode for the
   missing-predictions reminder box. No layout, spacing or functional changes. */
:root {
  --u14-pill-light-bg: #eef8ee;
  --u14-pill-light-border: #c7ddc9;
  --u14-pill-light-text: #0f3c24;
  --u14-pill-yellow-bg: #fffbd1;
  --u14-pill-yellow-border: #f1da42;
  --u14-pill-yellow-text: #4b3e00;
}

/* Light/system-light pills: keep the quiet look, but stop tiny pills from washing out. */
.tips-section-head > span,
.mini-badge,
.locked-badge,
.status-pill,
.badge,
.participant-badge {
  background: var(--u14-pill-light-bg);
  border-color: var(--u14-pill-light-border);
  color: var(--u14-pill-light-text);
  opacity: 1;
}
.tips-section-head > span,
.round-leaderboard-head .mini-badge {
  background: var(--u14-pill-yellow-bg);
  border-color: var(--u14-pill-yellow-border);
  color: var(--u14-pill-yellow-text);
  font-weight: 900;
}
html[data-u14-theme="light"] .tips-section-head > span,
html[data-u14-theme="light"] .mini-badge,
html[data-u14-theme="light"] .locked-badge,
html[data-u14-theme="light"] .status-pill,
html[data-u14-theme="light"] .badge,
html[data-u14-theme="light"] .participant-badge {
  background: var(--u14-pill-light-bg);
  border-color: var(--u14-pill-light-border);
  color: var(--u14-pill-light-text);
  opacity: 1;
}
html[data-u14-theme="light"] .tips-section-head > span,
html[data-u14-theme="light"] .round-leaderboard-head .mini-badge {
  background: var(--u14-pill-yellow-bg);
  border-color: var(--u14-pill-yellow-border);
  color: var(--u14-pill-yellow-text);
}

/* Dark: labels such as DITT TIPS/FASIT/POENG/STATUS must be readable without
   turning the whole field into a light-mode island. */
html[data-u14-theme="dark"] .tip-line,
html[data-u14-theme="dark"] .result-line,
html[data-u14-theme="dark"] .points-summary,
html[data-u14-theme="dark"] .summary-row > div,
html[data-u14-theme="dark"] .result-main,
html[data-u14-theme="dark"] .tips-summary-panel > div {
  background: #214a31;
  border-color: #6f9578;
  color: #f8fff9;
}
html[data-u14-theme="dark"] .tip-line > span,
html[data-u14-theme="dark"] .result-line span,
html[data-u14-theme="dark"] .points-summary span,
html[data-u14-theme="dark"] .summary-row span,
html[data-u14-theme="dark"] .result-main span,
html[data-u14-theme="dark"] .mobile-score-inputs label span,
html[data-u14-theme="dark"] .input-label,
html[data-u14-theme="dark"] .prediction-label {
  color: #f8fff9;
  letter-spacing: .045em;
  opacity: 1;
  text-shadow: 0 1px 0 rgba(0,0,0,.25);
}
html[data-u14-theme="dark"] .tip-line strong,
html[data-u14-theme="dark"] .result-line strong,
html[data-u14-theme="dark"] .points-summary strong,
html[data-u14-theme="dark"] .summary-row strong,
html[data-u14-theme="dark"] .result-main strong,
html[data-u14-theme="dark"] .prediction-label strong {
  color: #ffffff;
}

/* Dark: the admin missing-predictions reminder box was still light-mode styled. */
html[data-u14-theme="dark"] .bulk-reminder-form {
  background: #173622;
  border-color: #6f9578;
  color: #f8fff9;
}
html[data-u14-theme="dark"] .bulk-reminder-form label,
html[data-u14-theme="dark"] .bulk-reminder-form .inline-form label {
  color: #f8fff9;
}
html[data-u14-theme="dark"] .bulk-reminder-form .muted,
html[data-u14-theme="dark"] .bulk-reminder-form p {
  color: #e3f2e5;
  opacity: 1;
}

/* Dark pills: keep badges compact, but ensure readable text and no accidental
   washed-out light-mode remnants. */
html[data-u14-theme="dark"] .tips-section-head > span,
html[data-u14-theme="dark"] .mini-badge,
html[data-u14-theme="dark"] .locked-badge,
html[data-u14-theme="dark"] .status-pill,
html[data-u14-theme="dark"] .badge,
html[data-u14-theme="dark"] .participant-badge {
  background: #1f432c;
  border-color: #83a96e;
  color: #f5fff2;
  opacity: 1;
}
html[data-u14-theme="dark"] .tips-section-head > span,
html[data-u14-theme="dark"] .round-leaderboard-head .mini-badge {
  background: #2c3814;
  border-color: #e1d600;
  color: #fff86a;
}

/* System dark mirrors the targeted forced-dark fixes. */
@media (prefers-color-scheme: dark) {
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .tip-line,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .result-line,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .points-summary,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .summary-row > div,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .result-main,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .tips-summary-panel > div,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .bulk-reminder-form {
    background: #214a31;
    border-color: #6f9578;
    color: #f8fff9;
  }
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .tip-line > span,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .result-line span,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .points-summary span,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .summary-row span,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .result-main span,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .mobile-score-inputs label span,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .input-label,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .prediction-label,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .bulk-reminder-form label,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .bulk-reminder-form .inline-form label {
    color: #f8fff9;
    opacity: 1;
  }
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .bulk-reminder-form .muted,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .bulk-reminder-form p {
    color: #e3f2e5;
    opacity: 1;
  }
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .tips-section-head > span,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .mini-badge,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .locked-badge,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .status-pill,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .badge,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .participant-badge {
    background: #1f432c;
    border-color: #83a96e;
    color: #f5fff2;
    opacity: 1;
  }
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .tips-section-head > span,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .round-leaderboard-head .mini-badge {
    background: #2c3814;
    border-color: #e1d600;
    color: #fff86a;
  }
}


/* v0.1.21g9 prediction-pill dark-mode fix
   Narrow follow-up after g8: make the actual HUB/score/missing chips inside
   DITT TIPS-style fields follow dark mode. This intentionally avoids layout,
   spacing, backend or scoring changes. */
:root {
  --u14-tip-chip-dark-bg: #173522;
  --u14-tip-chip-dark-border: #77a581;
  --u14-tip-chip-dark-text: #f3fff5;
  --u14-tip-chip-dark-neutral-bg: #eaf6ec;
  --u14-tip-chip-dark-neutral-text: #14311f;
  --u14-tip-chip-dark-score-bg: #1f432b;
  --u14-tip-chip-dark-score-border: #86ad8e;
  --u14-tip-chip-dark-score-text: #f9fff9;
  --u14-tip-chip-dark-ok-bg: #123d27;
  --u14-tip-chip-dark-ok-border: #4ade80;
  --u14-tip-chip-dark-ok-text: #bbf7d0;
  --u14-tip-chip-dark-bad-bg: #3b1f24;
  --u14-tip-chip-dark-bad-border: #fca5a5;
  --u14-tip-chip-dark-bad-text: #fecaca;
  --u14-tip-chip-dark-missing-bg: #432a15;
  --u14-tip-chip-dark-missing-border: #fdba74;
  --u14-tip-chip-dark-missing-text: #ffedd5;
}

/* Forced dark: prediction summary chips should not remain accidental light-mode islands. */
html[data-u14-theme="dark"] .tip-chip {
  background: var(--u14-tip-chip-dark-bg);
  border-color: var(--u14-tip-chip-dark-border);
  color: var(--u14-tip-chip-dark-text);
  opacity: 1;
  text-shadow: none;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 1px 2px rgba(0,0,0,.18);
}
html[data-u14-theme="dark"] .tip-chip.hub {
  background: var(--u14-tip-chip-dark-neutral-bg);
  border-color: #d7eadb;
  color: var(--u14-tip-chip-dark-neutral-text);
}
html[data-u14-theme="dark"] .tip-chip.score {
  background: var(--u14-tip-chip-dark-score-bg);
  border-color: var(--u14-tip-chip-dark-score-border);
  color: var(--u14-tip-chip-dark-score-text);
}
html[data-u14-theme="dark"] .tip-chip.ok,
html[data-u14-theme="dark"] .tip-chip.hub.ok,
html[data-u14-theme="dark"] .tip-chip.score.ok {
  background: var(--u14-tip-chip-dark-ok-bg);
  border-color: var(--u14-tip-chip-dark-ok-border);
  color: var(--u14-tip-chip-dark-ok-text);
}
html[data-u14-theme="dark"] .tip-chip.bad,
html[data-u14-theme="dark"] .tip-chip.hub.bad,
html[data-u14-theme="dark"] .tip-chip.score.bad {
  background: var(--u14-tip-chip-dark-bad-bg);
  border-color: var(--u14-tip-chip-dark-bad-border);
  color: var(--u14-tip-chip-dark-bad-text);
}
html[data-u14-theme="dark"] .tip-chip.missing {
  background: var(--u14-tip-chip-dark-missing-bg);
  border-color: var(--u14-tip-chip-dark-missing-border);
  color: var(--u14-tip-chip-dark-missing-text);
}
html[data-u14-theme="dark"] .summary-row .tip-chip,
html[data-u14-theme="dark"] .tip-line .tip-chip,
html[data-u14-theme="dark"] .shared-tip-row .tip-chip,
html[data-u14-theme="dark"] .bulk-current .tip-chip,
html[data-u14-theme="dark"] .bulk-new-tip .tip-chip {
  font-weight: 950;
}
html[data-u14-theme="dark"] .summary-row .tip-chip.score,
html[data-u14-theme="dark"] .tip-line .tip-chip.score {
  min-width: 42px;
  justify-content: center;
}

/* Forced light: explicitly keep the normal clean light chips when admin previews Lyst. */
html[data-u14-theme="light"] .tip-chip {
  background: #f1f5f9;
  border-color: #dbe4ed;
  color: #334155;
  box-shadow: none;
  text-shadow: none;
}
html[data-u14-theme="light"] .tip-chip.ok {
  background: #ecfdf5;
  border-color: #86efac;
  color: #14532d;
}
html[data-u14-theme="light"] .tip-chip.bad {
  background: #fff7f7;
  border-color: #fecaca;
  color: #7f1d1d;
}
html[data-u14-theme="light"] .tip-chip.missing {
  background: #fff7ed;
  border-color: #fed7aa;
  color: #92400e;
}

/* System dark mirrors the forced-dark prediction chip fixes. */
@media (prefers-color-scheme: dark) {
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .tip-chip {
    background: var(--u14-tip-chip-dark-bg);
    border-color: var(--u14-tip-chip-dark-border);
    color: var(--u14-tip-chip-dark-text);
    opacity: 1;
    text-shadow: none;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 1px 2px rgba(0,0,0,.18);
  }
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .tip-chip.hub {
    background: var(--u14-tip-chip-dark-neutral-bg);
    border-color: #d7eadb;
    color: var(--u14-tip-chip-dark-neutral-text);
  }
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .tip-chip.score {
    background: var(--u14-tip-chip-dark-score-bg);
    border-color: var(--u14-tip-chip-dark-score-border);
    color: var(--u14-tip-chip-dark-score-text);
  }
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .tip-chip.ok,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .tip-chip.hub.ok,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .tip-chip.score.ok {
    background: var(--u14-tip-chip-dark-ok-bg);
    border-color: var(--u14-tip-chip-dark-ok-border);
    color: var(--u14-tip-chip-dark-ok-text);
  }
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .tip-chip.bad,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .tip-chip.hub.bad,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .tip-chip.score.bad {
    background: var(--u14-tip-chip-dark-bad-bg);
    border-color: var(--u14-tip-chip-dark-bad-border);
    color: var(--u14-tip-chip-dark-bad-text);
  }
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .tip-chip.missing {
    background: var(--u14-tip-chip-dark-missing-bg);
    border-color: var(--u14-tip-chip-dark-missing-border);
    color: var(--u14-tip-chip-dark-missing-text);
  }
}


/* v0.1.21h visual hierarchy and color pass
   Purpose: same UI and layout, clearer hierarchy. This pass uses colors more
   deliberately so green is identity/status, yellow is active/selected, and
   neutral surfaces separate sections without becoming noisy. No backend/DB
   assumptions are encoded here. */
:root,
html[data-u14-theme="light"] {
  --u14-h-page: linear-gradient(135deg, #edf8ea 0%, #fbfff5 48%, #fffde5 100%);
  --u14-h-topbar: rgba(255, 255, 255, .96);
  --u14-h-panel: rgba(255, 255, 255, .96);
  --u14-h-panel-solid: #ffffff;
  --u14-h-card: #fbfdf9;
  --u14-h-card-alt: #f4faf1;
  --u14-h-field: #ffffff;
  --u14-h-field-soft: #f7fbf4;
  --u14-h-line: #dbe9da;
  --u14-h-line-strong: #b7d7bd;
  --u14-h-text: #102016;
  --u14-h-heading: #07180d;
  --u14-h-meta: #52645a;
  --u14-h-muted: #617469;
  --u14-h-label: #254536;
  --u14-h-green: #007a3e;
  --u14-h-green-strong: #005f31;
  --u14-h-green-soft: #e8f8ed;
  --u14-h-green-soft-2: #d9f2e1;
  --u14-h-yellow: #fff001;
  --u14-h-yellow-soft: #fffbd0;
  --u14-h-yellow-border: #e8dc00;
  --u14-h-warning-bg: #fff6df;
  --u14-h-warning-border: #f0c36b;
  --u14-h-warning-text: #7a4b00;
  --u14-h-danger-bg: #fff1f1;
  --u14-h-danger-border: #f2b8b8;
  --u14-h-danger-text: #8f1d1d;
  --u14-h-info-bg: #eef8ff;
  --u14-h-info-border: #a7d7f8;
  --u14-h-info-text: #0f4f6c;
  --u14-h-chip-bg: #f0f7ee;
  --u14-h-chip-border: #d4e5d2;
  --u14-h-chip-text: #173622;
  --u14-h-shadow: 0 18px 56px rgba(20, 32, 24, .10);
  --u14-h-shadow-soft: 0 8px 24px rgba(20, 32, 24, .07);
  --u14-h-focus: 0 0 0 3px rgba(0, 168, 80, .20);
}

html[data-u14-theme="dark"] {
  --u14-h-page: radial-gradient(circle at top right, rgba(255, 240, 1, .06), transparent 25%), linear-gradient(135deg, #06170d 0%, #081f12 52%, #0b2515 100%);
  --u14-h-topbar: rgba(9, 31, 18, .96);
  --u14-h-panel: rgba(12, 43, 25, .96);
  --u14-h-panel-solid: #0d2b1a;
  --u14-h-card: #123a24;
  --u14-h-card-alt: #173f29;
  --u14-h-field: #1c4a30;
  --u14-h-field-soft: #183f28;
  --u14-h-line: #2f6842;
  --u14-h-line-strong: #5e8f6d;
  --u14-h-text: #f4fff6;
  --u14-h-heading: #ffffff;
  --u14-h-meta: #c8dfcc;
  --u14-h-muted: #b6ceb9;
  --u14-h-label: #eefcf0;
  --u14-h-green: #8cf3a9;
  --u14-h-green-strong: #c0ffd0;
  --u14-h-green-soft: #153b25;
  --u14-h-green-soft-2: #214b31;
  --u14-h-yellow: #fff001;
  --u14-h-yellow-soft: #343814;
  --u14-h-yellow-border: #fff001;
  --u14-h-warning-bg: #3a2b12;
  --u14-h-warning-border: #caa04d;
  --u14-h-warning-text: #ffe2a3;
  --u14-h-danger-bg: #3f1f23;
  --u14-h-danger-border: #c87373;
  --u14-h-danger-text: #ffd3d3;
  --u14-h-info-bg: #153646;
  --u14-h-info-border: #62a5c7;
  --u14-h-info-text: #d8f2ff;
  --u14-h-chip-bg: #1e432b;
  --u14-h-chip-border: #6f9a79;
  --u14-h-chip-text: #f5fff2;
  --u14-h-shadow: 0 22px 64px rgba(0, 0, 0, .30);
  --u14-h-shadow-soft: 0 10px 28px rgba(0, 0, 0, .22);
  --u14-h-focus: 0 0 0 3px rgba(140, 243, 169, .22);
}

@media (prefers-color-scheme: dark) {
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) {
    --u14-h-page: radial-gradient(circle at top right, rgba(255, 240, 1, .06), transparent 25%), linear-gradient(135deg, #06170d 0%, #081f12 52%, #0b2515 100%);
    --u14-h-topbar: rgba(9, 31, 18, .96);
    --u14-h-panel: rgba(12, 43, 25, .96);
    --u14-h-panel-solid: #0d2b1a;
    --u14-h-card: #123a24;
    --u14-h-card-alt: #173f29;
    --u14-h-field: #1c4a30;
    --u14-h-field-soft: #183f28;
    --u14-h-line: #2f6842;
    --u14-h-line-strong: #5e8f6d;
    --u14-h-text: #f4fff6;
    --u14-h-heading: #ffffff;
    --u14-h-meta: #c8dfcc;
    --u14-h-muted: #b6ceb9;
    --u14-h-label: #eefcf0;
    --u14-h-green: #8cf3a9;
    --u14-h-green-strong: #c0ffd0;
    --u14-h-green-soft: #153b25;
    --u14-h-green-soft-2: #214b31;
    --u14-h-yellow: #fff001;
    --u14-h-yellow-soft: #343814;
    --u14-h-yellow-border: #fff001;
    --u14-h-warning-bg: #3a2b12;
    --u14-h-warning-border: #caa04d;
    --u14-h-warning-text: #ffe2a3;
    --u14-h-danger-bg: #3f1f23;
    --u14-h-danger-border: #c87373;
    --u14-h-danger-text: #ffd3d3;
    --u14-h-info-bg: #153646;
    --u14-h-info-border: #62a5c7;
    --u14-h-info-text: #d8f2ff;
    --u14-h-chip-bg: #1e432b;
    --u14-h-chip-border: #6f9a79;
    --u14-h-chip-text: #f5fff2;
    --u14-h-shadow: 0 22px 64px rgba(0, 0, 0, .30);
    --u14-h-shadow-soft: 0 10px 28px rgba(0, 0, 0, .22);
    --u14-h-focus: 0 0 0 3px rgba(140, 243, 169, .22);
  }
}

body {
  background: var(--u14-h-page);
  color: var(--u14-h-text);
}

.topbar {
  background: var(--u14-h-topbar);
  border-bottom-color: var(--u14-h-line);
  box-shadow: 0 1px 0 rgba(0,0,0,.02);
}
.brand,
label,
.teams,
.compact-teams,
.tips-section-head h2,
.section-title-row h3,
.compact-day h3,
.round-leaderboard-head h4,
.profile-card h2,
.privacy-choice strong,
.shared-match-top strong,
.bulk-person-main strong {
  color: var(--u14-h-heading);
}
.brand small,
.hero-mini p,
.muted,
.save-status,
.match-meta,
.compact-meta,
.compact-venue,
.deadline,
.tips-section-head p,
.compact-helper,
.input-hint,
.profile-card small,
.review-summary small,
.match-group-card small,
.privacy-choice small,
.push-pref-line small,
.shared-empty,
.bulk-person-meta,
.bulk-person-id,
.push-debug-line span {
  color: var(--u14-h-meta);
  opacity: 1;
}

a,
.topbar nav a,
.linkbtn,
.scoreline,
.stat strong,
.review-summary strong,
.clock,
.ok {
  color: var(--u14-h-green-strong);
}

.panel,
.app-panel,
.auth-card,
.profile-card,
.shared-panel,
.privacy-prompt,
.notification-panel,
.push-panel,
.push-nudge-card,
.install-help-card,
.bulk-entry-panel,
.bulk-paste-card,
.bulk-reason-card,
.push-modal-sheet,
.override-panel,
.round-leaderboards {
  background: var(--u14-h-panel);
  border-color: var(--u14-h-line);
  color: var(--u14-h-text);
  box-shadow: var(--u14-h-shadow);
}

.app-panel,
.panel {
  outline: 1px solid rgba(255,255,255,.06);
}

.stat,
.match-card,
.match-card.compact-match-card,
.summary-match-card,
.result-match-card,
.input-match-card,
.shared-match-card,
.shared-prediction-card,
.privacy-choice,
.push-pref-card,
.match-group-card,
.bulk-person-row,
.override-item,
.review-summary > div,
.round-leaderboard-card,
.notification-item,
.install-manual-hint,
.push-dismissed-note,
.empty-state,
.card {
  background: var(--u14-h-card);
  border-color: var(--u14-h-line);
  color: var(--u14-h-text);
  box-shadow: var(--u14-h-shadow-soft);
}

.day-header,
.tips-section-head,
.section-title-row,
.admin-theme-switch,
.tips-toolbar,
.compact-toolbar,
.missing-selector,
.bulk-entry-toolbar,
.bulk-save-bar,
.leaderboard-note {
  background: var(--u14-h-card-alt);
  border-color: var(--u14-h-line);
  color: var(--u14-h-text);
}

.tips-section + .tips-section,
.compact-day + .compact-day,
.round-leaderboards {
  margin-top: 22px;
}

.tips-section-head,
.section-title-row {
  border-bottom: 1px solid var(--u14-h-line);
  padding-bottom: 9px;
}

.match-card,
.shared-match-card,
.bulk-person-row,
.profile-card,
.round-leaderboard-card {
  transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.match-card:hover,
.shared-match-card:hover,
.bulk-person-row:hover,
.round-leaderboard-card:hover {
  border-color: var(--u14-h-line-strong);
  box-shadow: 0 12px 30px rgba(0,0,0,.09);
}

.summary-row > div,
.result-main,
.tip-line,
.result-line,
.points-summary,
.tips-summary-panel > div,
.shared-match-result,
.shared-tip-value,
.bulk-current,
.bulk-new-tip,
.input-block,
.mobile-score-inputs label,
.score-inputs input,
input,
select,
textarea,
code,
pre {
  background: var(--u14-h-field);
  border-color: var(--u14-h-line);
  color: var(--u14-h-text);
}

input::placeholder,
textarea::placeholder {
  color: var(--u14-h-muted);
  opacity: .82;
}

.input-label,
.prediction-label,
.mobile-score-inputs label span,
.summary-row span,
.result-main span,
.tip-line > span,
.result-line span,
.points-summary span,
.shared-points small,
.push-pref-line strong,
th {
  color: var(--u14-h-label);
  opacity: 1;
}

.summary-row strong,
.result-main strong,
.points-summary strong,
.shared-points strong,
.prediction-label strong,
.tip-line strong,
.result-line strong {
  color: var(--u14-h-heading);
}

/* Purposeful color accents: yellow means selected/active, not general decoration. */
.tab,
.button,
button,
.theme-switch-btn,
.shared-scope-chip,
.show-more-row .button {
  border-color: var(--u14-h-line);
  background: var(--u14-h-chip-bg);
  color: var(--u14-h-chip-text);
}
.tab.active,
.theme-switch-btn.active,
.shared-scope-chip.active,
.privacy-choice.active,
button.primary,
.primary {
  background: var(--u14-h-yellow);
  border-color: var(--u14-h-yellow-border);
  color: #063619;
  box-shadow: 0 8px 18px rgba(255, 240, 1, .16);
}
button.primary,
.primary {
  background: var(--u14-h-green);
  border-color: var(--u14-h-green);
  color: #fff;
}
.hub button.selected {
  background: var(--u14-h-green);
  border-color: var(--u14-h-green);
  color: #fff;
}

.tips-section-head > span,
.mini-badge,
.locked-badge,
.live-badge,
.status-pill,
.badge,
.participant-badge,
.pill,
.shared-user-chip,
.shared-scope-chip {
  background: var(--u14-h-chip-bg);
  border: 1px solid var(--u14-h-chip-border);
  color: var(--u14-h-chip-text);
  opacity: 1;
}
.tips-section-head > span,
.round-leaderboard-head .mini-badge {
  background: var(--u14-h-yellow-soft);
  border-color: var(--u14-h-yellow-border);
  color: var(--u14-h-warning-text);
}

.flash.info,
.helper-note,
.notification-panel,
.leaderboard-note {
  background: var(--u14-h-info-bg);
  border-color: var(--u14-h-info-border);
  color: var(--u14-h-info-text);
}
.flash.success,
.badge.ok,
.participant-badge.app-user,
.status-pill.ok,
.shared-points.full-points,
.shared-points.partial-points {
  background: var(--u14-h-green-soft);
  border-color: var(--u14-h-line-strong);
  color: var(--u14-h-green-strong);
}
.flash.error,
.badge.danger,
.badge.bad,
.shared-points.zero-points,
.points-summary.bad,
.result-main.zero-points {
  background: var(--u14-h-danger-bg);
  border-color: var(--u14-h-danger-border);
  color: var(--u14-h-danger-text);
}
.warning-list,
.badge.warn,
.warn,
.warn-text,
.override-panel,
.tab.attention:not(.active) {
  background: var(--u14-h-warning-bg);
  border-color: var(--u14-h-warning-border);
  color: var(--u14-h-warning-text);
}
.warn-text,
.bad {
  color: var(--u14-h-danger-text);
}

/* Match state accents stay subtle and structural. */
.match-card.compact-match-card,
.shared-match-card {
  border-left-width: 3px;
  border-left-color: color-mix(in srgb, var(--u14-h-line-strong) 80%, transparent);
}
.compact-match-card.needs-tip,
.input-match-card.needs-tip {
  border-left-color: #f0b64f;
}
.compact-match-card.live,
.result-match-card.live,
.shared-match-card.live {
  border-left-color: var(--u14-h-yellow);
  box-shadow: 0 0 0 2px rgba(255, 240, 1, .12), var(--u14-h-shadow-soft);
}
.compact-match-card.full-points,
.result-match-card.finished.full-points,
.shared-points.full-points {
  border-left-color: #37d884;
}
.compact-match-card.partial-points,
.result-match-card.finished.partial-points,
.shared-points.partial-points {
  border-left-color: #c8f044;
}
.compact-match-card.zero-points.finished,
.result-match-card.finished.zero-points,
.shared-points.zero-points {
  border-left-color: #ef8a8a;
}

.table-wrap,
.admin-table-wrap {
  border-color: var(--u14-h-line);
  background: var(--u14-h-panel-solid);
  box-shadow: var(--u14-h-shadow-soft);
}
table {
  background: var(--u14-h-panel-solid);
  color: var(--u14-h-text);
}
th {
  background: linear-gradient(135deg, var(--u14-h-green-strong), var(--u14-h-green));
  color: #ffffff;
}
td {
  border-bottom-color: var(--u14-h-line);
}
tr:nth-child(even) td {
  background: color-mix(in srgb, var(--u14-h-card) 70%, transparent);
}

/* Light mode refinements: keep it airy, but avoid washed-out labels. */
html[data-u14-theme="light"] .match-meta,
html[data-u14-theme="light"] .compact-meta,
html[data-u14-theme="light"] .compact-venue,
html[data-u14-theme="light"] .deadline,
html[data-u14-theme="light"] .tips-section-head p,
html[data-u14-theme="light"] .muted {
  color: #52645a;
}
html[data-u14-theme="light"] .input-label,
html[data-u14-theme="light"] .prediction-label,
html[data-u14-theme="light"] .summary-row span,
html[data-u14-theme="light"] .result-main span,
html[data-u14-theme="light"] .tip-line > span,
html[data-u14-theme="light"] .result-line span {
  color: #315642;
}

/* Dark mode refinements: give panels and fields depth without turning every
   element into the same green tone. */
html[data-u14-theme="dark"] .app-panel,
html[data-u14-theme="dark"] .panel,
html[data-u14-theme="dark"] .auth-card,
html[data-u14-theme="dark"] .profile-card,
html[data-u14-theme="dark"] .shared-panel,
html[data-u14-theme="dark"] .privacy-prompt,
html[data-u14-theme="dark"] .bulk-entry-panel,
html[data-u14-theme="dark"] .notification-panel,
html[data-u14-theme="dark"] .push-panel {
  border-color: #315f3d;
}
html[data-u14-theme="dark"] .match-card,
html[data-u14-theme="dark"] .match-card.compact-match-card,
html[data-u14-theme="dark"] .summary-match-card,
html[data-u14-theme="dark"] .result-match-card,
html[data-u14-theme="dark"] .input-match-card,
html[data-u14-theme="dark"] .shared-match-card,
html[data-u14-theme="dark"] .bulk-person-row,
html[data-u14-theme="dark"] .round-leaderboard-card {
  background: linear-gradient(180deg, #123a24, #0f321f);
}
html[data-u14-theme="dark"] .summary-row > div,
html[data-u14-theme="dark"] .result-main,
html[data-u14-theme="dark"] .tip-line,
html[data-u14-theme="dark"] .result-line,
html[data-u14-theme="dark"] .points-summary,
html[data-u14-theme="dark"] .tips-summary-panel > div,
html[data-u14-theme="dark"] .shared-match-result,
html[data-u14-theme="dark"] .shared-tip-value,
html[data-u14-theme="dark"] .bulk-current,
html[data-u14-theme="dark"] .bulk-new-tip {
  background: #1d4a30;
  border-color: #4f7f5d;
}
html[data-u14-theme="dark"] .input-label,
html[data-u14-theme="dark"] .prediction-label,
html[data-u14-theme="dark"] .mobile-score-inputs label span,
html[data-u14-theme="dark"] .summary-row span,
html[data-u14-theme="dark"] .result-main span,
html[data-u14-theme="dark"] .tip-line > span,
html[data-u14-theme="dark"] .result-line span,
html[data-u14-theme="dark"] .points-summary span {
  color: #f4fff6;
  opacity: 1;
}
html[data-u14-theme="dark"] .match-meta,
html[data-u14-theme="dark"] .compact-meta,
html[data-u14-theme="dark"] .compact-venue,
html[data-u14-theme="dark"] .deadline,
html[data-u14-theme="dark"] .tips-section-head p,
html[data-u14-theme="dark"] .muted,
html[data-u14-theme="dark"] .save-status {
  color: #c8dfcc;
}
html[data-u14-theme="dark"] .app-hero::after {
  opacity: .88;
  filter: blur(1px) saturate(1.05);
}

@media (prefers-color-scheme: dark) {
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .app-panel,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .panel,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .auth-card,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .profile-card,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .shared-panel,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .privacy-prompt,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .bulk-entry-panel,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .notification-panel,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .push-panel {
    border-color: #315f3d;
  }
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .match-card,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .match-card.compact-match-card,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .summary-match-card,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .result-match-card,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .input-match-card,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .shared-match-card,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .bulk-person-row,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .round-leaderboard-card {
    background: linear-gradient(180deg, #123a24, #0f321f);
  }
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .summary-row > div,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .result-main,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .tip-line,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .result-line,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .points-summary,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .tips-summary-panel > div,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .shared-match-result,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .shared-tip-value,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .bulk-current,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .bulk-new-tip {
    background: #1d4a30;
    border-color: #4f7f5d;
  }
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .input-label,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .prediction-label,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .mobile-score-inputs label span,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .summary-row span,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .result-main span,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .tip-line > span,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .result-line span,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .points-summary span {
    color: #f4fff6;
    opacity: 1;
  }
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .match-meta,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .compact-meta,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .compact-venue,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .deadline,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .tips-section-head p,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .muted,
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .save-status {
    color: #c8dfcc;
  }
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .app-hero::after {
    opacity: .88;
    filter: blur(1px) saturate(1.05);
  }
}

@media (max-width: 800px) {
  .tips-section + .tips-section,
  .compact-day + .compact-day {
    margin-top: 18px;
  }
  .match-card:hover,
  .shared-match-card:hover,
  .bulk-person-row:hover,
  .round-leaderboard-card:hover {
    transform: none;
  }
}

/* v0.1.21h1 mobile main leaderboard polish
   Scope: only the ordinary/main leaderboard on narrow screens. Round
   leaderboards keep their existing compact table layout because they already
   scan well on mobile. The duplicate mobile list is display-only and uses the
   same leaderboard data rendered by app.js; no scoring/data behavior changes. */
.leaderboard-mobile-list {
  display: none;
}
.leaderboard-main-table .leaderboard-rank {
  font-weight: 950;
  color: var(--u14-h-green-strong, var(--dark-green));
}
.leaderboard-main-table .leaderboard-name {
  font-weight: 850;
}
.leaderboard-main-table .leaderboard-points strong {
  color: var(--u14-h-green-strong, var(--dark-green));
  font-size: 1.08em;
}

@media (max-width: 640px) {
  .leaderboard-main-wrap {
    display: none;
  }
  .leaderboard-mobile-list {
    display: grid;
    gap: 8px;
    margin: 10px 0 18px;
  }
  .leaderboard-mobile-row {
    align-items: center;
    background: linear-gradient(180deg, var(--u14-h-panel-solid, #fff), var(--u14-h-card, #fbfdf9));
    border: 1px solid var(--u14-h-line, var(--line));
    border-left: 4px solid var(--u14-h-line-strong, #b7d7bd);
    border-radius: 16px;
    box-shadow: var(--u14-h-shadow-soft, 0 8px 24px rgba(20, 32, 24, .07));
    display: grid;
    gap: 8px;
    grid-template-columns: 42px minmax(0, 1fr) minmax(58px, auto);
    padding: 10px 10px 10px 8px;
  }
  .leaderboard-mobile-row.top-1 {
    border-left-color: var(--u14-h-yellow, #fff001);
  }
  .leaderboard-mobile-row.top-2,
  .leaderboard-mobile-row.top-3 {
    border-left-color: var(--u14-h-green, #007a3e);
  }
  .leaderboard-mobile-rank {
    align-self: stretch;
    background: var(--u14-h-chip-bg, #f0f7ee);
    border: 1px solid var(--u14-h-chip-border, #d4e5d2);
    border-radius: 13px;
    color: var(--u14-h-green-strong, #005f31);
    display: grid;
    font-size: .9rem;
    font-weight: 950;
    letter-spacing: -.03em;
    min-height: 48px;
    place-items: center;
  }
  .leaderboard-mobile-main {
    min-width: 0;
  }
  .leaderboard-mobile-main > strong {
    color: var(--u14-h-heading, var(--ink));
    display: block;
    font-size: .98rem;
    font-weight: 950;
    letter-spacing: -.025em;
    line-height: 1.15;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .leaderboard-mobile-type {
    margin-top: 4px;
  }
  .leaderboard-mobile-type .participant-badge {
    font-size: .67rem;
    padding: 3px 7px;
  }
  .leaderboard-mobile-stats {
    color: var(--u14-h-meta, var(--muted));
    display: flex;
    flex-wrap: wrap;
    font-size: .75rem;
    font-weight: 850;
    gap: 5px;
    margin-top: 5px;
  }
  .leaderboard-mobile-stats span {
    background: var(--u14-h-field-soft, #f7fbf4);
    border: 1px solid var(--u14-h-line, var(--line));
    border-radius: 999px;
    color: var(--u14-h-label, #254536);
    line-height: 1;
    padding: 4px 7px;
  }
  .leaderboard-mobile-points {
    align-self: stretch;
    background: var(--u14-h-green-soft, #e8f8ed);
    border: 1px solid var(--u14-h-line-strong, #b7d7bd);
    border-radius: 14px;
    color: var(--u14-h-green-strong, #005f31);
    display: grid;
    min-height: 52px;
    min-width: 58px;
    padding: 6px 8px;
    place-items: center;
    text-align: center;
  }
  .leaderboard-mobile-points strong {
    display: block;
    font-size: 1.45rem;
    font-weight: 1000;
    letter-spacing: -.06em;
    line-height: 1;
  }
  .leaderboard-mobile-points span {
    display: block;
    font-size: .64rem;
    font-weight: 900;
    letter-spacing: .02em;
    line-height: 1;
    text-transform: uppercase;
  }
  .leaderboard-mobile-row .warn-text {
    display: inline-block;
    font-size: .72rem;
    margin-top: 5px;
    padding: 3px 7px;
  }

  html[data-u14-theme="dark"] .leaderboard-mobile-row {
    background: linear-gradient(180deg, #123a24, #0f321f);
    border-color: var(--u14-h-line, #2f6842);
    border-left-color: var(--u14-h-line-strong, #5e8f6d);
  }
  html[data-u14-theme="dark"] .leaderboard-mobile-rank,
  html[data-u14-theme="dark"] .leaderboard-mobile-stats span {
    background: #1d4a30;
    border-color: #5e8f6d;
    color: #f4fff6;
  }
  html[data-u14-theme="dark"] .leaderboard-mobile-points {
    background: #183f28;
    border-color: #76a883;
    color: #c0ffd0;
  }

  @media (prefers-color-scheme: dark) {
    html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .leaderboard-mobile-row {
      background: linear-gradient(180deg, #123a24, #0f321f);
      border-color: var(--u14-h-line, #2f6842);
      border-left-color: var(--u14-h-line-strong, #5e8f6d);
    }
    html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .leaderboard-mobile-rank,
    html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .leaderboard-mobile-stats span {
      background: #1d4a30;
      border-color: #5e8f6d;
      color: #f4fff6;
    }
    html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .leaderboard-mobile-points {
      background: #183f28;
      border-color: #76a883;
      color: #c0ffd0;
    }
  }
}

@media (max-width: 640px) {
  html[data-u14-theme="dark"] .leaderboard-mobile-row.top-1 {
    border-left-color: var(--u14-h-yellow, #fff001);
  }
  html[data-u14-theme="dark"] .leaderboard-mobile-row.top-2,
  html[data-u14-theme="dark"] .leaderboard-mobile-row.top-3 {
    border-left-color: var(--u14-h-green, #8cf3a9);
  }
  @media (prefers-color-scheme: dark) {
    html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .leaderboard-mobile-row.top-1 {
      border-left-color: var(--u14-h-yellow, #fff001);
    }
    html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .leaderboard-mobile-row.top-2,
    html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) .leaderboard-mobile-row.top-3 {
      border-left-color: var(--u14-h-green, #8cf3a9);
    }
  }
}

/* v0.1.21h2 theme-mode normalization diagnostics
 * Small admin-only diagnostics for the System/Lyst/Mørkt selector. The colors
 * are deliberately quiet so this helps QA without making the UI noisy.
 */
.admin-theme-switch .theme-debug-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.45rem;
  width: 100%;
  margin-top: 0.65rem;
  font-size: 0.78rem;
}

.admin-theme-switch .theme-debug-grid span {
  border-radius: 999px;
  padding: 0.32rem 0.55rem;
  border: 1px solid rgba(0, 168, 80, 0.18);
  background: rgba(255, 255, 255, 0.62);
  color: #315242;
}

.admin-theme-switch .theme-debug-grid strong {
  color: #163526;
}

html[data-u14-theme="dark"] .admin-theme-switch .theme-debug-grid span,
html:not([data-u14-theme="light"])[data-u14-effective-theme="dark"] .admin-theme-switch .theme-debug-grid span {
  background: rgba(10, 42, 30, 0.78);
  border-color: rgba(177, 231, 196, 0.22);
  color: #cfe8d7;
}

html[data-u14-theme="dark"] .admin-theme-switch .theme-debug-grid strong,
html:not([data-u14-theme="light"])[data-u14-effective-theme="dark"] .admin-theme-switch .theme-debug-grid strong {
  color: #f3fff6;
}

@media (max-width: 760px) {
  .admin-theme-switch .theme-debug-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 480px) {
  .admin-theme-switch .theme-debug-grid {
    grid-template-columns: 1fr;
  }
}


/* v0.1.21h3 forced-light cascade guard
 * Forced light must beat browser-reported dark mode and every older
 * @media(prefers-color-scheme: dark) block. This is intentionally a final,
 * high-specificity guard for Chromium mobile browsers where Brave/Opera may
 * report dark system preference while the admin override is Lyst.
 */
html[data-u14-effective-theme="light"] {
  color-scheme: light !important;
  --yellow: #fff001;
  --green: #00a850;
  --dark-green: #006b36;
  --ink: #18291d;
  --muted: #4f6659;
  --line: #d5e0d5;
  --soft: #f3f8ef;
  --white: #ffffff;
  --u14-h-bg: #f7fbf3;
  --u14-h-surface: #ffffff;
  --u14-h-surface-2: #f2f8ee;
  --u14-h-card: #ffffff;
  --u14-h-border: #d7e4d6;
  --u14-h-border-strong: #b7cdb8;
  --u14-h-text: #172b1f;
  --u14-h-muted: #4e6558;
  --u14-h-soft: #eef6ea;
  --u14-h-chip: #f2f8ee;
  --u14-h-chip-text: #183626;
}

html[data-u14-effective-theme="dark"] {
  color-scheme: dark !important;
}

html[data-u14-effective-theme="light"],
html[data-u14-effective-theme="light"] body,
html[data-u14-effective-theme="light"] input,
html[data-u14-effective-theme="light"] select,
html[data-u14-effective-theme="light"] textarea,
html[data-u14-effective-theme="light"] button,
html[data-u14-effective-theme="light"] .button,
html[data-u14-effective-theme="light"] table,
html[data-u14-effective-theme="light"] .app-shell,
html[data-u14-effective-theme="light"] .page-shell,
html[data-u14-effective-theme="light"] .app-panel,
html[data-u14-effective-theme="light"] .panel,
html[data-u14-effective-theme="light"] .auth-card,
html[data-u14-effective-theme="light"] .admin-theme-switch,
html[data-u14-effective-theme="light"] .match-card,
html[data-u14-effective-theme="light"] .compact-match-card,
html[data-u14-effective-theme="light"] .summary-match-card,
html[data-u14-effective-theme="light"] .result-match-card,
html[data-u14-effective-theme="light"] .input-match-card,
html[data-u14-effective-theme="light"] .round-leaderboard-card,
html[data-u14-effective-theme="light"] .leaderboard-mobile-row,
html[data-u14-effective-theme="light"] .tips-summary-panel,
html[data-u14-effective-theme="light"] .privacy-prompt,
html[data-u14-effective-theme="light"] .notification-card,
html[data-u14-effective-theme="light"] .missing-predictions-note,
html[data-u14-effective-theme="light"] .flash {
  color-scheme: light !important;
}

html[data-u14-effective-theme="light"] body {
  background: linear-gradient(135deg, #f7fbf3, #eef8ea 58%, #f7f5da) !important;
  color: var(--u14-h-text, #172b1f) !important;
}

html[data-u14-effective-theme="light"] .topbar {
  background: rgba(255, 255, 255, .94) !important;
  border-color: rgba(0, 107, 54, .16) !important;
  box-shadow: 0 8px 28px rgba(0, 63, 31, .08) !important;
}

html[data-u14-effective-theme="light"] .auth-card,
html[data-u14-effective-theme="light"] .panel,
html[data-u14-effective-theme="light"] .app-panel,
html[data-u14-effective-theme="light"] .admin-theme-switch,
html[data-u14-effective-theme="light"] .round-leaderboard-card,
html[data-u14-effective-theme="light"] .tips-summary-panel,
html[data-u14-effective-theme="light"] table {
  background: var(--u14-h-surface, #ffffff) !important;
  border-color: var(--u14-h-border, #d7e4d6) !important;
  color: var(--u14-h-text, #172b1f) !important;
  box-shadow: 0 18px 54px rgba(16, 58, 31, .08) !important;
}

html[data-u14-effective-theme="light"] .match-card,
html[data-u14-effective-theme="light"] .match-card.compact-match-card,
html[data-u14-effective-theme="light"] .compact-match-card.finished,
html[data-u14-effective-theme="light"] .summary-match-card,
html[data-u14-effective-theme="light"] .result-match-card,
html[data-u14-effective-theme="light"] .input-match-card,
html[data-u14-effective-theme="light"] .leaderboard-mobile-row,
html[data-u14-effective-theme="light"] .override-item {
  background: var(--u14-h-card, #ffffff) !important;
  border-color: var(--u14-h-border, #d7e4d6) !important;
  color: var(--u14-h-text, #172b1f) !important;
  box-shadow: 0 10px 26px rgba(20, 58, 33, .07) !important;
}

html[data-u14-effective-theme="light"] .compact-match-card.full-points,
html[data-u14-effective-theme="light"] .result-match-card.finished.full-points {
  background: linear-gradient(180deg, #ffffff, #f1fbef) !important;
  border-color: #a9d8ad !important;
}

html[data-u14-effective-theme="light"] .compact-match-card.partial-points,
html[data-u14-effective-theme="light"] .result-match-card.finished.partial-points,
html[data-u14-effective-theme="light"] .compact-match-card.needs-tip {
  background: linear-gradient(180deg, #ffffff, #fff9df) !important;
  border-color: #e3ce7a !important;
}

html[data-u14-effective-theme="light"] .compact-match-card.zero-points.finished,
html[data-u14-effective-theme="light"] .result-match-card.finished.zero-points {
  background: linear-gradient(180deg, #ffffff, #fff0ee) !important;
  border-color: #ecc0b8 !important;
}

html[data-u14-effective-theme="light"] input,
html[data-u14-effective-theme="light"] select,
html[data-u14-effective-theme="light"] textarea,
html[data-u14-effective-theme="light"] .mobile-score-inputs input,
html[data-u14-effective-theme="light"] .score-inputs input {
  background: #ffffff !important;
  border-color: #bfd0bf !important;
  color: var(--u14-h-text, #172b1f) !important;
  -webkit-text-fill-color: var(--u14-h-text, #172b1f) !important;
  box-shadow: none !important;
}

html[data-u14-effective-theme="light"] input::placeholder,
html[data-u14-effective-theme="light"] textarea::placeholder {
  color: #7a8c7f !important;
  -webkit-text-fill-color: #7a8c7f !important;
  opacity: 1 !important;
}

html[data-u14-effective-theme="light"] .brand,
html[data-u14-effective-theme="light"] .brand strong,
html[data-u14-effective-theme="light"] label,
html[data-u14-effective-theme="light"] .teams,
html[data-u14-effective-theme="light"] .compact-teams,
html[data-u14-effective-theme="light"] .input-label,
html[data-u14-effective-theme="light"] .prediction-label,
html[data-u14-effective-theme="light"] .tips-section-head h2,
html[data-u14-effective-theme="light"] .section-title-row h3,
html[data-u14-effective-theme="light"] .compact-day h3,
html[data-u14-effective-theme="light"] .scoreline,
html[data-u14-effective-theme="light"] .stat strong,
html[data-u14-effective-theme="light"] .summary-row strong,
html[data-u14-effective-theme="light"] .result-main strong,
html[data-u14-effective-theme="light"] .leaderboard-mobile-main strong,
html[data-u14-effective-theme="light"] .leaderboard-mobile-points strong {
  color: var(--u14-h-text, #172b1f) !important;
  opacity: 1 !important;
}

html[data-u14-effective-theme="light"] .muted,
html[data-u14-effective-theme="light"] .small,
html[data-u14-effective-theme="light"] .brand small,
html[data-u14-effective-theme="light"] .hero-mini p,
html[data-u14-effective-theme="light"] .match-meta,
html[data-u14-effective-theme="light"] .compact-meta,
html[data-u14-effective-theme="light"] .compact-venue,
html[data-u14-effective-theme="light"] .deadline,
html[data-u14-effective-theme="light"] .input-hint,
html[data-u14-effective-theme="light"] .save-status,
html[data-u14-effective-theme="light"] .summary-row span,
html[data-u14-effective-theme="light"] .result-main span,
html[data-u14-effective-theme="light"] .admin-theme-switch span,
html[data-u14-effective-theme="light"] .leaderboard-note,
html[data-u14-effective-theme="light"] .leaderboard-mobile-type,
html[data-u14-effective-theme="light"] .leaderboard-mobile-stats,
html[data-u14-effective-theme="light"] .leaderboard-mobile-points span {
  color: var(--u14-h-muted, #4e6558) !important;
  opacity: 1 !important;
}

html[data-u14-effective-theme="light"] .tab,
html[data-u14-effective-theme="light"] .day-header,
html[data-u14-effective-theme="light"] .stat,
html[data-u14-effective-theme="light"] .show-more-row .button,
html[data-u14-effective-theme="light"] .theme-switch-btn,
html[data-u14-effective-theme="light"] .mini-badge,
html[data-u14-effective-theme="light"] .locked-badge,
html[data-u14-effective-theme="light"] .participant-badge,
html[data-u14-effective-theme="light"] .tip-chip,
html[data-u14-effective-theme="light"] .prediction-pill,
html[data-u14-effective-theme="light"] .leaderboard-mobile-points,
html[data-u14-effective-theme="light"] .admin-theme-switch .theme-debug-grid span {
  background: var(--u14-h-chip, #f2f8ee) !important;
  border-color: var(--u14-h-border, #d7e4d6) !important;
  color: var(--u14-h-chip-text, #183626) !important;
  opacity: 1 !important;
}

html[data-u14-effective-theme="light"] .tab.active,
html[data-u14-effective-theme="light"] .theme-switch-btn.active,
html[data-u14-effective-theme="light"] .live-badge,
html[data-u14-effective-theme="light"] button.primary,
html[data-u14-effective-theme="light"] .primary,
html[data-u14-effective-theme="light"] .hub button.selected {
  background: var(--yellow, #fff001) !important;
  color: #15331f !important;
  border-color: rgba(0, 107, 54, .22) !important;
}

html[data-u14-effective-theme="light"] .app-hero {
  background: linear-gradient(120deg, var(--dark-green, #006b36), var(--green, #00a850)) !important;
  color: #ffffff !important;
}

html[data-u14-effective-theme="light"] .app-hero h1,
html[data-u14-effective-theme="light"] .app-hero p {
  color: #ffffff !important;
}

html[data-u14-effective-theme="light"] .app-hero::after {
  background: radial-gradient(circle, rgba(255,240,1,.98) 0%, rgba(255,240,1,.86) 17%, rgba(255,240,1,.30) 37%, rgba(255,240,1,.09) 55%, rgba(255,240,1,0) 73%) !important;
  opacity: .94 !important;
}

html[data-u14-effective-theme="light"] * {
  text-shadow: none;
}

html[data-u14-effective-theme="light"] img,
html[data-u14-effective-theme="light"] svg,
html[data-u14-effective-theme="light"] video,
html[data-u14-effective-theme="light"] canvas {
  filter: none !important;
}

/* v0.1.21h4 light-theme parity and browser darkening guard
 * Scope: visual parity and browser darkening resilience only. Forced light gets
 * a cool off-white LFK surface system rather than pure white/beige, so Android
 * Chromium auto-dark/night filters have less warm/brown material to transform.
 * The selectors deliberately key on data-u14-effective-theme so admin forced
 * Light/Dark beats prefers-color-scheme in Brave/Opera/Firefox.
 */
html[data-u14-effective-theme="light"] {
  --u14-light-page: #eef7f0;
  --u14-light-page-2: #f6fbf5;
  --u14-light-panel: #fbfef9;
  --u14-light-panel-strong: #ffffff;
  --u14-light-card: #f8fcf7;
  --u14-light-card-strong: #ffffff;
  --u14-light-card-alt: #f1f8f2;
  --u14-light-line: #cfe0d2;
  --u14-light-line-strong: #b9d1bf;
  --u14-light-text: #10271b;
  --u14-light-muted: #4e6758;
  --u14-light-muted-soft: #607568;
  --u14-light-accent-soft: #e5f5e9;
  --u14-light-yellow-soft: #fff9b8;
  color-scheme: light !important;
  background-color: var(--u14-light-page) !important;
  background-image: none !important;
  accent-color: var(--green, #00a850);
}

html[data-u14-effective-theme="dark"] {
  color-scheme: dark !important;
  accent-color: var(--yellow, #fff001);
}

html[data-u14-effective-theme="light"] body {
  color-scheme: light !important;
  color: var(--u14-light-text) !important;
  background-color: var(--u14-light-page) !important;
  background-image:
    radial-gradient(circle at 12% 0%, rgba(0, 168, 80, .10), rgba(0, 168, 80, 0) 30%),
    radial-gradient(circle at 92% 8%, rgba(255, 240, 1, .22), rgba(255, 240, 1, 0) 34%),
    linear-gradient(135deg, var(--u14-light-page), var(--u14-light-page-2)) !important;
}

html[data-u14-effective-theme="light"] .page-shell,
html[data-u14-effective-theme="light"] main,
html[data-u14-effective-theme="light"] #app {
  background: transparent !important;
}

html[data-u14-effective-theme="light"] .topbar {
  background: rgba(251, 254, 249, .96) !important;
  border-bottom-color: var(--u14-light-line) !important;
  box-shadow: 0 12px 34px rgba(9, 72, 39, .08) !important;
}

html[data-u14-effective-theme="light"] .panel,
html[data-u14-effective-theme="light"] .app-panel,
html[data-u14-effective-theme="light"] .auth-card,
html[data-u14-effective-theme="light"] .profile-card,
html[data-u14-effective-theme="light"] .push-panel,
html[data-u14-effective-theme="light"] .admin-theme-switch,
html[data-u14-effective-theme="light"] .tips-section,
html[data-u14-effective-theme="light"] .privacy-prompt,
html[data-u14-effective-theme="light"] .notification-panel,
html[data-u14-effective-theme="light"] .override-panel,
html[data-u14-effective-theme="light"] .leaderboard-note,
html[data-u14-effective-theme="light"] .round-leaderboard-card,
html[data-u14-effective-theme="light"] .table-wrap {
  background: var(--u14-light-panel) !important;
  border-color: var(--u14-light-line) !important;
  color: var(--u14-light-text) !important;
  box-shadow: 0 16px 44px rgba(8, 60, 34, .09) !important;
}

html[data-u14-effective-theme="light"] .match-card,
html[data-u14-effective-theme="light"] .compact-match-card,
html[data-u14-effective-theme="light"] .summary-match-card,
html[data-u14-effective-theme="light"] .result-match-card,
html[data-u14-effective-theme="light"] .input-match-card,
html[data-u14-effective-theme="light"] .leaderboard-mobile-row,
html[data-u14-effective-theme="light"] .stat,
html[data-u14-effective-theme="light"] .day-header,
html[data-u14-effective-theme="light"] .review-summary > div,
html[data-u14-effective-theme="light"] .push-pref-card,
html[data-u14-effective-theme="light"] .shared-match-card,
html[data-u14-effective-theme="light"] .shared-user-card,
html[data-u14-effective-theme="light"] .missing-predictions-note,
html[data-u14-effective-theme="light"] .admin-assisted-form,
html[data-u14-effective-theme="light"] .warning-list,
html[data-u14-effective-theme="light"] .theme-debug-grid,
html[data-u14-effective-theme="light"] .theme-debug-grid span {
  background: var(--u14-light-card) !important;
  border-color: var(--u14-light-line) !important;
  color: var(--u14-light-text) !important;
  box-shadow: 0 10px 26px rgba(8, 60, 34, .07) !important;
}

html[data-u14-effective-theme="light"] .compact-match-card.needs-tip,
html[data-u14-effective-theme="light"] .input-match-card.needs-tip {
  background: linear-gradient(180deg, #fffdf0 0%, #f7fbef 100%) !important;
  border-color: #d9d16f !important;
  box-shadow: 0 12px 30px rgba(128, 113, 8, .10) !important;
}

html[data-u14-effective-theme="light"] .compact-match-card.full-points,
html[data-u14-effective-theme="light"] .result-match-card.finished.full-points {
  background: linear-gradient(180deg, #f2fbf4 0%, #e8f7ed 100%) !important;
  border-color: #99d5aa !important;
}

html[data-u14-effective-theme="light"] .compact-match-card.partial-points,
html[data-u14-effective-theme="light"] .result-match-card.finished.partial-points {
  background: linear-gradient(180deg, #f8fbf4 0%, #eef6ea 100%) !important;
  border-color: #bdd5bd !important;
}

html[data-u14-effective-theme="light"] .compact-match-card.zero-points.finished,
html[data-u14-effective-theme="light"] .result-match-card.finished.zero-points {
  background: linear-gradient(180deg, #fbf8f8 0%, #f6eeee 100%) !important;
  border-color: #e5c4c4 !important;
}

html[data-u14-effective-theme="light"] table,
html[data-u14-effective-theme="light"] tbody,
html[data-u14-effective-theme="light"] td {
  background-color: var(--u14-light-panel-strong) !important;
  color: var(--u14-light-text) !important;
  border-color: var(--u14-light-line) !important;
}

html[data-u14-effective-theme="light"] tr:nth-child(even) td {
  background-color: #f6fbf6 !important;
}

html[data-u14-effective-theme="light"] input,
html[data-u14-effective-theme="light"] select,
html[data-u14-effective-theme="light"] textarea {
  background: #ffffff !important;
  border-color: var(--u14-light-line-strong) !important;
  color: var(--u14-light-text) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .85) !important;
}

html[data-u14-effective-theme="light"] .muted,
html[data-u14-effective-theme="light"] .small,
html[data-u14-effective-theme="light"] .brand small,
html[data-u14-effective-theme="light"] .match-meta,
html[data-u14-effective-theme="light"] .compact-meta,
html[data-u14-effective-theme="light"] .compact-venue,
html[data-u14-effective-theme="light"] .deadline,
html[data-u14-effective-theme="light"] .input-hint,
html[data-u14-effective-theme="light"] .save-status,
html[data-u14-effective-theme="light"] .leaderboard-note,
html[data-u14-effective-theme="light"] .leaderboard-mobile-type,
html[data-u14-effective-theme="light"] .leaderboard-mobile-stats,
html[data-u14-effective-theme="light"] .leaderboard-mobile-points span {
  color: var(--u14-light-muted) !important;
  opacity: 1 !important;
}

html[data-u14-effective-theme="light"] .theme-switch-btn,
html[data-u14-effective-theme="light"] .tab,
html[data-u14-effective-theme="light"] .mini-badge,
html[data-u14-effective-theme="light"] .locked-badge,
html[data-u14-effective-theme="light"] .participant-badge,
html[data-u14-effective-theme="light"] .badge,
html[data-u14-effective-theme="light"] .tip-chip,
html[data-u14-effective-theme="light"] .prediction-pill,
html[data-u14-effective-theme="light"] .leaderboard-mobile-stats span {
  background: var(--u14-light-accent-soft) !important;
  border-color: var(--u14-light-line-strong) !important;
  color: #143421 !important;
  box-shadow: 0 3px 8px rgba(8, 60, 34, .05) !important;
}

html[data-u14-effective-theme="light"] .theme-switch-btn.active,
html[data-u14-effective-theme="light"] .tab.active,
html[data-u14-effective-theme="light"] .hub button.selected,
html[data-u14-effective-theme="light"] button.primary,
html[data-u14-effective-theme="light"] .primary {
  background: var(--yellow, #fff001) !important;
  border-color: rgba(0, 107, 54, .36) !important;
  color: #15331f !important;
  box-shadow: 0 8px 20px rgba(128, 113, 8, .14) !important;
}

html[data-u14-effective-theme="light"] .app-hero {
  background: linear-gradient(120deg, #005f30 0%, #00a850 62%, #22bd68 100%) !important;
  box-shadow: 0 16px 42px rgba(0, 107, 54, .20) !important;
}

html[data-u14-effective-theme="light"] .app-hero::after {
  background: radial-gradient(circle, rgba(255,240,1,.95) 0%, rgba(255,240,1,.72) 20%, rgba(255,240,1,.20) 42%, rgba(255,240,1,0) 70%) !important;
  opacity: .86 !important;
}

/* Radius normalization: removes hard 90-degree leftovers introduced by later
 * utility/debug/table/card work, while leaving existing round pills intact. */
html[data-u14-effective-theme] .panel,
html[data-u14-effective-theme] .app-panel,
html[data-u14-effective-theme] .auth-card,
html[data-u14-effective-theme] .profile-card,
html[data-u14-effective-theme] .push-panel,
html[data-u14-effective-theme] .push-pref-card,
html[data-u14-effective-theme] .admin-theme-switch,
html[data-u14-effective-theme] .theme-debug-grid,
html[data-u14-effective-theme] .theme-debug-grid span,
html[data-u14-effective-theme] .table-wrap,
html[data-u14-effective-theme] .leaderboard-note,
html[data-u14-effective-theme] .match-card,
html[data-u14-effective-theme] .compact-match-card,
html[data-u14-effective-theme] .summary-match-card,
html[data-u14-effective-theme] .result-match-card,
html[data-u14-effective-theme] .input-match-card,
html[data-u14-effective-theme] .leaderboard-mobile-row,
html[data-u14-effective-theme] .stat,
html[data-u14-effective-theme] .day-header,
html[data-u14-effective-theme] .notification-panel,
html[data-u14-effective-theme] .notification-item,
html[data-u14-effective-theme] .override-panel,
html[data-u14-effective-theme] .override-item,
html[data-u14-effective-theme] .admin-assisted-form,
html[data-u14-effective-theme] .warning-list,
html[data-u14-effective-theme] .missing-predictions-note,
html[data-u14-effective-theme] .shared-match-card,
html[data-u14-effective-theme] .shared-user-card,
html[data-u14-effective-theme] .privacy-prompt {
  border-radius: 18px !important;
}

html[data-u14-effective-theme] .table-wrap,
html[data-u14-effective-theme] .panel,
html[data-u14-effective-theme] .app-panel,
html[data-u14-effective-theme] .auth-card,
html[data-u14-effective-theme] .profile-card {
  border-radius: 24px !important;
}

html[data-u14-effective-theme] .brand-mark,
html[data-u14-effective-theme] input,
html[data-u14-effective-theme] select,
html[data-u14-effective-theme] textarea,
html[data-u14-effective-theme] button,
html[data-u14-effective-theme] .button,
html[data-u14-effective-theme] .theme-switch-btn {
  border-radius: 13px !important;
}

html[data-u14-effective-theme] .badge,
html[data-u14-effective-theme] .participant-badge,
html[data-u14-effective-theme] .mini-badge,
html[data-u14-effective-theme] .locked-badge,
html[data-u14-effective-theme] .live-badge,
html[data-u14-effective-theme] .tip-chip,
html[data-u14-effective-theme] .prediction-pill,
html[data-u14-effective-theme] .leaderboard-mobile-points,
html[data-u14-effective-theme] .leaderboard-mobile-stats span {
  border-radius: 999px !important;
}

/* Utestående tips already works visually in light mode; trim only the excess
 * bottom air that made mobile cards feel too tall. */
@media (max-width: 640px) {
  html[data-u14-effective-theme] .input-match-card,
  html[data-u14-effective-theme] .compact-match-card.needs-tip {
    padding-bottom: 12px !important;
  }
  html[data-u14-effective-theme] .input-match-card .compact-match-main {
    gap: 10px !important;
  }
}

/* Chromium/Android darkening resilience. These are intentionally late, explicit
 * forced-light declarations, not a redesign. They help distinguish app CSS from
 * Brave/Opera browser-level darken-websites behavior in Tema-test. */
html[data-u14-effective-theme="light"][data-u14-auto-dark-guard="light"],
html[data-u14-effective-theme="light"][data-u14-auto-dark-guard="light"] body {
  color-scheme: light !important;
  background-color: var(--u14-light-page) !important;
  filter: none !important;
  mix-blend-mode: normal !important;
}

html[data-u14-effective-theme="light"][data-u14-auto-dark-guard="light"] *,
html[data-u14-effective-theme="light"][data-u14-auto-dark-guard="light"] *::before,
html[data-u14-effective-theme="light"][data-u14-auto-dark-guard="light"] *::after {
  filter: none !important;
  mix-blend-mode: normal !important;
}

html[data-u14-effective-theme="light"][data-u14-auto-dark-guard="light"] img,
html[data-u14-effective-theme="light"][data-u14-auto-dark-guard="light"] svg,
html[data-u14-effective-theme="light"][data-u14-auto-dark-guard="light"] canvas,
html[data-u14-effective-theme="light"][data-u14-auto-dark-guard="light"] video {
  filter: none !important;
  mix-blend-mode: normal !important;
}


/* v0.1.21h5 debug visibility controls
 * Debug is useful while stabilizing theme/push behavior, but it must not occupy
 * normal user/admin surfaces by default. Admins can toggle diagnostics locally
 * from the admin theme control without exposing technical lines to ordinary
 * users on Profil → Varsler.
 */
.theme-debug-controls {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  width: 100%;
  margin-top: 0.35rem;
}

.theme-switch-btn.debug-toggle {
  font-size: 0.78rem;
  padding-inline: 0.7rem;
}

.theme-debug-summary {
  width: 100%;
  margin: 0.25rem 0 0;
}

html[data-u14-effective-theme="light"] .theme-switch-btn.debug-toggle:not(.active) {
  background: rgba(255, 255, 255, 0.78);
  border-color: rgba(0, 92, 50, 0.18);
  color: #315242;
}

html[data-u14-effective-theme="dark"] .theme-switch-btn.debug-toggle:not(.active),
html[data-u14-theme="dark"] .theme-switch-btn.debug-toggle:not(.active) {
  background: rgba(10, 42, 30, 0.72);
  border-color: rgba(177, 231, 196, 0.22);
  color: #d3ead9;
}


/* v0.1.21h7 light theme polish and rounded GUI completion
 * Purpose: make forced light mode feel as intentional and professional as dark
 * mode, without changing app logic. Green is identity/status/action, yellow is
 * active/selected/attention, neutral surfaces carry structure. The broad radius
 * pass also removes hard 90-degree leftovers in both light and dark themes.
 */
:root {
  --u14-radius-xs: 8px;
  --u14-radius-sm: 12px;
  --u14-radius-md: 16px;
  --u14-radius-lg: 20px;
  --u14-radius-xl: 26px;
  --u14-radius-pill: 999px;
}

html[data-u14-effective-theme] body {
  text-rendering: optimizeLegibility;
}

html[data-u14-effective-theme] h1,
html[data-u14-effective-theme] h2,
html[data-u14-effective-theme] h3,
html[data-u14-effective-theme] h4 {
  line-height: 1.08;
  text-wrap: balance;
}

html[data-u14-effective-theme] p,
html[data-u14-effective-theme] li,
html[data-u14-effective-theme] .input-hint,
html[data-u14-effective-theme] .save-status,
html[data-u14-effective-theme] .muted,
html[data-u14-effective-theme] .small {
  line-height: 1.45;
}

html[data-u14-effective-theme] button,
html[data-u14-effective-theme] .button,
html[data-u14-effective-theme] input,
html[data-u14-effective-theme] select,
html[data-u14-effective-theme] textarea {
  line-height: 1.2;
}

/* Shared radius language for both themes. Later components had several square
 * utility boxes; this keeps the app visually coherent while preserving pills. */
html[data-u14-effective-theme] :where(
  .panel,
  .app-panel,
  .auth-card,
  .profile-card,
  .profile-push-card,
  .push-panel,
  .push-pref-card,
  .push-background-card,
  .push-device-label-card,
  .install-help-card,
  .push-nudge-card,
  .admin-theme-switch,
  .theme-debug-grid,
  .theme-debug-grid span,
  .theme-debug-summary,
  .table-wrap,
  .leaderboard-note,
  .round-leaderboard-card,
  .match-card,
  .compact-match-card,
  .summary-match-card,
  .result-match-card,
  .input-match-card,
  .leaderboard-mobile-row,
  .stat,
  .day-header,
  .notification-panel,
  .notification-item,
  .override-panel,
  .override-item,
  .admin-assisted-form,
  .warning-list,
  .missing-predictions-note,
  .shared-panel,
  .shared-match-card,
  .shared-user-card,
  .shared-prediction-card,
  .privacy-prompt,
  .privacy-choice-group,
  .privacy-choice,
  .review-summary > div,
  .bulk-entry-toolbar,
  .bulk-match-card > div,
  .bulk-paste-card,
  .bulk-reason-card,
  .bulk-person-row,
  .bulk-current strong,
  .bulk-new-tip > span,
  .bulk-save-bar,
  .compact-editor,
  .tip-line,
  .result-line,
  .points-summary,
  .summary-row > div,
  .result-main,
  .finished-hidden-note,
  .push-modal-sheet,
  .push-modal-head,
  .push-modal-body,
  .push-modal-actions,
  .card,
  .row
) {
  border-radius: var(--u14-radius-lg) !important;
}

html[data-u14-effective-theme] :where(.panel, .app-panel, .auth-card, .profile-card, .table-wrap, .privacy-prompt, .push-modal-sheet) {
  border-radius: var(--u14-radius-xl) !important;
}

html[data-u14-effective-theme] :where(input, select, textarea, button, .button, .theme-switch-btn, .card-action button, .input-card-footer .primary.small) {
  border-radius: var(--u14-radius-md) !important;
}

html[data-u14-effective-theme] :where(.brand-mark) {
  border-radius: var(--u14-radius-md) !important;
}

html[data-u14-effective-theme] :where(
  .badge,
  .participant-badge,
  .mini-badge,
  .locked-badge,
  .live-badge,
  .status-pill,
  .tip-chip,
  .prediction-pill,
  .pill,
  .shared-scope-chip,
  .leaderboard-mobile-points,
  .leaderboard-mobile-stats span,
  .undo-admin-change,
  button.small,
  .button.small
) {
  border-radius: var(--u14-radius-pill) !important;
}

html[data-u14-effective-theme] :where(.table-wrap, .profile-push-card, .match-card.compact-match-card, .round-leaderboard-card, .leaderboard-mobile-row) {
  overflow: hidden;
}

html[data-u14-effective-theme] table {
  border-collapse: separate;
  border-spacing: 0;
}

html[data-u14-effective-theme] th:first-child { border-top-left-radius: var(--u14-radius-lg); }
html[data-u14-effective-theme] th:last-child { border-top-right-radius: var(--u14-radius-lg); }

/* Text and alignment cleanup. Keep labels, headings and actions readable on
 * small screens and avoid cramped/floating text blocks. */
html[data-u14-effective-theme] :where(.section-title-row, .match-card-head, .round-leaderboard-head, .privacy-prompt-head, .input-card-footer, .notification-item, .bulk-save-bar) {
  align-items: center;
}

html[data-u14-effective-theme] :where(.section-title-row h2, .section-title-row h3, .round-leaderboard-head h4, .profile-card h2, .push-pref-card h3) {
  margin-top: 0;
}

html[data-u14-effective-theme] :where(.compact-teams, .teams, .leaderboard-name, .leaderboard-mobile-main strong, .bulk-person-id strong) {
  overflow-wrap: anywhere;
}

html[data-u14-effective-theme] :where(.compact-meta, .match-meta, .deadline, .input-label, .summary-row span, .result-main span, .tip-line > span, .bulk-current span, .bulk-new-tip > span) {
  letter-spacing: .025em;
}

@media (max-width: 700px) {
  html[data-u14-effective-theme] :where(.section-title-row, .match-card-head, .round-leaderboard-head, .privacy-prompt-head, .notification-item, .input-card-footer) {
    align-items: flex-start;
  }
  html[data-u14-effective-theme] :where(.section-title-row, .round-leaderboard-head, .privacy-prompt-head) {
    gap: 8px;
  }
}

/* Professional light palette. It intentionally avoids pure-white everywhere:
 * page, panels and cards have separate but subtle roles. */
html[data-u14-effective-theme="light"] {
  --u14-light-page: #edf6ef;
  --u14-light-page-2: #f7fbf4;
  --u14-light-panel: #fbfdf7;
  --u14-light-panel-strong: #ffffff;
  --u14-light-card: #ffffff;
  --u14-light-card-soft: #f6fbf4;
  --u14-light-card-alt: #eef7ef;
  --u14-light-line: #cddfd1;
  --u14-light-line-strong: #b6cfbd;
  --u14-light-text: #102719;
  --u14-light-heading: #0b2d19;
  --u14-light-muted: #536a5a;
  --u14-light-muted-soft: #66786c;
  --u14-light-green-soft: #e7f5eb;
  --u14-light-green-mid: #cfead7;
  --u14-light-yellow-soft: #fff8b9;
  --u14-light-yellow-panel: #fffce2;
  --u14-light-danger-soft: #fff4f2;
  color: var(--u14-light-text) !important;
}

html[data-u14-effective-theme="light"] body {
  background-color: var(--u14-light-page) !important;
  background-image:
    radial-gradient(circle at 8% 0%, rgba(0, 168, 80, .12), rgba(0, 168, 80, 0) 31%),
    radial-gradient(circle at 94% 7%, rgba(255, 240, 1, .20), rgba(255, 240, 1, 0) 34%),
    linear-gradient(135deg, #edf6ef 0%, #f7fbf4 100%) !important;
}

html[data-u14-effective-theme="light"] .topbar {
  background: rgba(251, 253, 247, .97) !important;
  border-bottom: 1px solid rgba(0, 107, 54, .14) !important;
  box-shadow: 0 10px 32px rgba(7, 56, 30, .08) !important;
}

html[data-u14-effective-theme="light"] :where(.brand, .profile-card h2, .section-title-row h3, .round-leaderboard-head h4, label, .input-label) {
  color: var(--u14-light-heading) !important;
}

html[data-u14-effective-theme="light"] :where(.panel, .app-panel, .auth-card, .profile-card, .profile-push-card, .push-panel, .admin-theme-switch, .privacy-prompt, .notification-panel, .override-panel, .table-wrap, .tips-summary-panel, .leaderboard-note, .round-leaderboard-card) {
  background: linear-gradient(180deg, rgba(255,255,255,.94) 0%, var(--u14-light-panel) 100%) !important;
  border-color: var(--u14-light-line) !important;
  color: var(--u14-light-text) !important;
  box-shadow: 0 18px 44px rgba(7, 56, 30, .085) !important;
}

html[data-u14-effective-theme="light"] :where(.match-card, .compact-match-card, .summary-match-card, .result-match-card, .input-match-card, .leaderboard-mobile-row, .stat, .day-header, .review-summary > div, .push-pref-card, .shared-match-card, .shared-user-card, .shared-prediction-card, .missing-predictions-note, .admin-assisted-form, .bulk-person-row, .bulk-match-card > div, .bulk-save-bar, .privacy-choice-group, .privacy-choice, .tip-line, .result-line, .points-summary, .summary-row > div, .result-main, .compact-editor) {
  background: var(--u14-light-card) !important;
  border-color: var(--u14-light-line) !important;
  color: var(--u14-light-text) !important;
  box-shadow: 0 8px 24px rgba(7, 56, 30, .055) !important;
}

html[data-u14-effective-theme="light"] :where(.stat, .day-header, .leaderboard-note, .round-leaderboard-card, .push-pref-card, .privacy-choice-group, .admin-assisted-form, .bulk-save-bar) {
  background: linear-gradient(180deg, #ffffff 0%, var(--u14-light-card-soft) 100%) !important;
}

html[data-u14-effective-theme="light"] .stat strong,
html[data-u14-effective-theme="light"] .tips-summary-panel strong,
html[data-u14-effective-theme="light"] .review-summary strong,
html[data-u14-effective-theme="light"] .leaderboard-mobile-points strong,
html[data-u14-effective-theme="light"] .bulk-match-card strong {
  color: var(--dark-green) !important;
}

/* Color roles: green = action/status/identity, yellow = selected/current. */
html[data-u14-effective-theme="light"] :where(button.primary, .button.primary, .primary:not(.tab):not(.theme-switch-btn)) {
  background: linear-gradient(180deg, #08ad58 0%, #008f47 100%) !important;
  border-color: #00783c !important;
  color: #ffffff !important;
  box-shadow: 0 10px 22px rgba(0, 126, 62, .22) !important;
}

html[data-u14-effective-theme="light"] :where(button.primary, .button.primary, .primary:not(.tab):not(.theme-switch-btn)):hover {
  background: linear-gradient(180deg, #10b863 0%, #007f40 100%) !important;
}

html[data-u14-effective-theme="light"] :where(.tab, .theme-switch-btn, button.ghost, .button.ghost, .show-more-row .button, .privacy-choice, .card-action button) {
  background: var(--u14-light-green-soft) !important;
  border-color: var(--u14-light-line-strong) !important;
  color: #173b25 !important;
  box-shadow: 0 3px 10px rgba(7, 56, 30, .045) !important;
}

html[data-u14-effective-theme="light"] :where(.tab.active, .theme-switch-btn.active, .privacy-choice.active) {
  background: linear-gradient(180deg, #fffbd1 0%, #fff001 100%) !important;
  border-color: rgba(0, 107, 54, .38) !important;
  color: #12331f !important;
  box-shadow: 0 9px 22px rgba(128, 113, 8, .14) !important;
}

html[data-u14-effective-theme="light"] .hub button.selected {
  background: linear-gradient(180deg, #08ad58 0%, #008a44 100%) !important;
  border-color: #00783c !important;
  color: #ffffff !important;
  box-shadow: 0 8px 18px rgba(0, 126, 62, .20) !important;
}

html[data-u14-effective-theme="light"] :where(.badge.ok, .tip-chip.ok, .status-pill.open, .participant-badge.app-user, .badge.app-user, .live-badge.final) {
  background: #e7f7ec !important;
  border-color: #9bd6ac !important;
  color: #11542b !important;
}

html[data-u14-effective-theme="light"] :where(.badge.warn, .tip-chip.missing, .status-pill.live, .locked-badge, .tab.attention, .missing-summary-card, .compact-match-card.needs-tip, .input-match-card.needs-tip) {
  background: var(--u14-light-yellow-panel) !important;
  border-color: #e3d36a !important;
  color: #573d00 !important;
}

html[data-u14-effective-theme="light"] :where(.badge.danger, .badge.bad, .tip-chip.bad, .button.danger-soft, .compact-match-card.zero-points.finished, .result-match-card.finished.zero-points) {
  background: var(--u14-light-danger-soft) !important;
  border-color: #e9b8b2 !important;
  color: #7d2119 !important;
}

html[data-u14-effective-theme="light"] :where(.mini-badge, .participant-badge, .badge, .tip-chip, .prediction-pill, .status-pill, .leaderboard-mobile-stats span, .shared-scope-chip) {
  background: var(--u14-light-green-soft) !important;
  border-color: var(--u14-light-line-strong) !important;
  color: #173b25 !important;
  box-shadow: none !important;
}

html[data-u14-effective-theme="light"] .tip-chip.score {
  border-radius: var(--u14-radius-pill) !important;
}

html[data-u14-effective-theme="light"] .compact-match-card.needs-tip,
html[data-u14-effective-theme="light"] .input-match-card.needs-tip {
  box-shadow: inset 5px 0 0 #f0cc26, 0 10px 24px rgba(128, 113, 8, .08) !important;
}

html[data-u14-effective-theme="light"] :where(.compact-match-card.full-points, .result-match-card.finished.full-points) {
  background: linear-gradient(180deg, #ffffff 0%, #eef9f1 100%) !important;
  border-color: #9bd6ac !important;
  box-shadow: inset 5px 0 0 #24b75f, 0 8px 22px rgba(7, 56, 30, .055) !important;
}

html[data-u14-effective-theme="light"] :where(.compact-match-card.partial-points, .result-match-card.finished.partial-points) {
  background: linear-gradient(180deg, #ffffff 0%, #f5faef 100%) !important;
  border-color: #bfd6a8 !important;
  box-shadow: inset 5px 0 0 #a3d955, 0 8px 22px rgba(7, 56, 30, .05) !important;
}

html[data-u14-effective-theme="light"] :where(.compact-match-card.live, .result-match-card.live, .match-card.live) {
  border-color: #e0cb4d !important;
  box-shadow: inset 5px 0 0 #fff001, 0 10px 24px rgba(128, 113, 8, .10) !important;
}

html[data-u14-effective-theme="light"] :where(.muted, .small, .brand small, .match-meta, .compact-meta, .compact-venue, .deadline, .input-hint, .save-status, .leaderboard-mobile-type, .leaderboard-mobile-stats, .leaderboard-mobile-points span, .push-pref-line small, .privacy-choice small, .bulk-person-meta, .bulk-current span, .bulk-new-tip > span) {
  color: var(--u14-light-muted) !important;
  opacity: 1 !important;
}

html[data-u14-effective-theme="light"] input,
html[data-u14-effective-theme="light"] select,
html[data-u14-effective-theme="light"] textarea {
  background: #ffffff !important;
  border-color: var(--u14-light-line-strong) !important;
  color: var(--u14-light-text) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9), 0 1px 0 rgba(7,56,30,.025) !important;
}

html[data-u14-effective-theme="light"] input:focus,
html[data-u14-effective-theme="light"] select:focus,
html[data-u14-effective-theme="light"] textarea:focus,
html[data-u14-effective-theme="light"] button:focus-visible,
html[data-u14-effective-theme="light"] .button:focus-visible {
  outline: 3px solid rgba(255, 240, 1, .72) !important;
  outline-offset: 2px;
  border-color: rgba(0, 107, 54, .54) !important;
}

html[data-u14-effective-theme="light"] th {
  background: linear-gradient(180deg, #006f38 0%, #005d31 100%) !important;
  color: #ffffff !important;
}

html[data-u14-effective-theme="light"] td {
  background: #ffffff !important;
  border-color: #dde9df !important;
}

html[data-u14-effective-theme="light"] tr:nth-child(even) td {
  background: #f7fbf6 !important;
}

html[data-u14-effective-theme="light"] .app-hero {
  background: linear-gradient(120deg, #005f31 0%, #009e50 58%, #22b767 100%) !important;
  box-shadow: 0 18px 46px rgba(0, 107, 54, .22) !important;
}

html[data-u14-effective-theme="light"] .app-hero p {
  color: rgba(255,255,255,.88) !important;
}

/* Dark theme gets the same radius/text cleanup without changing the dark color
 * palette that currently works best. */
html[data-u14-effective-theme="dark"] :where(.table-wrap, .profile-push-card, .match-card.compact-match-card, .round-leaderboard-card, .leaderboard-mobile-row) {
  overflow: hidden;
}

html[data-u14-effective-theme="dark"] :where(.tip-chip.score) {
  border-radius: var(--u14-radius-pill) !important;
}

@media (max-width: 640px) {
  html[data-u14-effective-theme] .panel,
  html[data-u14-effective-theme] .app-panel,
  html[data-u14-effective-theme] .profile-card,
  html[data-u14-effective-theme] .auth-card {
    border-radius: var(--u14-radius-lg) !important;
  }

  html[data-u14-effective-theme] :where(.input-match-card, .compact-match-card, .summary-match-card, .result-match-card) .compact-match-main {
    padding: 13px !important;
  }

  html[data-u14-effective-theme] .input-card-footer {
    gap: 8px !important;
  }

  html[data-u14-effective-theme="light"] :where(.compact-match-card.needs-tip, .input-match-card.needs-tip) {
    padding-bottom: 0 !important;
  }
}

/* v0.1.21h8 score semantics and GUI fit pass
 * Purpose: make points and tips easier to understand at a glance. Full hit,
 * HUB-only, score-only and zero hit get distinct but calm visual treatment.
 * This pass also tightens text placement and removes remaining square-feeling
 * blocks such as tips-section/input-block in both light and dark themes.
 */
:root {
  --u14-score-full: #14984f;
  --u14-score-full-soft: #eaf8ef;
  --u14-score-hub: #b88408;
  --u14-score-hub-soft: #fff6d8;
  --u14-score-exact: #2563a7;
  --u14-score-exact-soft: #edf5ff;
  --u14-score-zero: #9a3412;
  --u14-score-zero-soft: #fff3ed;
}

html[data-u14-effective-theme] :where(
  .tips-section,
  .tips-section-head,
  .input-block,
  .mobile-score-inputs label,
  .score-separator,
  .summary-row > div,
  .result-main,
  .tip-line,
  .points-summary,
  .points-compact,
  .result-compact,
  .shared-tip-row,
  .shared-tip-value,
  .shared-points,
  .leaderboard-points,
  .leaderboard-hub,
  .leaderboard-exact,
  .leaderboard-mobile-points,
  .leaderboard-mobile-stats span,
  .compact-status,
  .compact-match-top,
  .save-status
) {
  border-radius: var(--u14-radius-lg) !important;
}

html[data-u14-effective-theme] .tips-section {
  background: color-mix(in srgb, Canvas 82%, transparent);
  border: 1px solid color-mix(in srgb, currentColor 10%, transparent);
  display: grid;
  gap: 12px;
  padding: 14px;
}

html[data-u14-effective-theme] .tips-section-head {
  align-items: center;
  background: color-mix(in srgb, Canvas 78%, transparent);
  border: 1px solid color-mix(in srgb, currentColor 9%, transparent);
  margin: 0;
  padding: 12px 14px;
}

html[data-u14-effective-theme] .tips-section-head > div {
  min-width: 0;
}

html[data-u14-effective-theme] .tips-section-head h2,
html[data-u14-effective-theme] .tips-section-head p,
html[data-u14-effective-theme] .compact-day h3,
html[data-u14-effective-theme] .input-label,
html[data-u14-effective-theme] .tip-line > span,
html[data-u14-effective-theme] .summary-row span,
html[data-u14-effective-theme] .result-main span,
html[data-u14-effective-theme] .result-line span,
html[data-u14-effective-theme] .points-summary span,
html[data-u14-effective-theme] .shared-points small {
  text-align: left;
}

html[data-u14-effective-theme] .tips-section-head h2 {
  line-height: 1.12;
}

html[data-u14-effective-theme] .tips-section-head p {
  max-width: 66ch;
}

html[data-u14-effective-theme] .input-block {
  background: color-mix(in srgb, Canvas 90%, transparent);
  border: 1px solid color-mix(in srgb, currentColor 10%, transparent);
  gap: 8px;
  padding: 11px;
}

html[data-u14-effective-theme] .input-label {
  align-items: center;
  display: flex;
  gap: 6px;
  line-height: 1.1;
}

html[data-u14-effective-theme] .mobile-score-inputs label {
  background: color-mix(in srgb, Canvas 88%, transparent);
  border: 1px solid color-mix(in srgb, currentColor 9%, transparent);
  display: grid;
  gap: 6px;
  padding: 8px;
}

html[data-u14-effective-theme] .mobile-score-inputs label span {
  display: block;
  line-height: 1.2;
  min-height: 1.2em;
}

html[data-u14-effective-theme] .mobile-score-inputs input {
  border-radius: var(--u14-radius-md) !important;
}

html[data-u14-effective-theme] .score-separator {
  align-self: stretch;
  background: color-mix(in srgb, Canvas 78%, transparent);
  border: 1px solid color-mix(in srgb, currentColor 8%, transparent);
  display: grid;
  min-width: 34px;
  padding: 0 8px !important;
  place-items: center;
}

html[data-u14-effective-theme] .tip-line,
html[data-u14-effective-theme] .result-line,
html[data-u14-effective-theme] .points-summary,
html[data-u14-effective-theme] .summary-row > div,
html[data-u14-effective-theme] .result-main {
  align-content: center;
  gap: 5px;
  min-height: 58px;
  padding: 10px 11px !important;
}

html[data-u14-effective-theme] .tip-line strong,
html[data-u14-effective-theme] .result-main strong,
html[data-u14-effective-theme] .summary-row strong {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  line-height: 1.25;
  min-width: 0;
}

html[data-u14-effective-theme] .tip-line > div {
  align-items: center;
  gap: 7px;
}

html[data-u14-effective-theme] .points-summary {
  position: relative;
  text-align: left !important;
}

html[data-u14-effective-theme] .points-summary strong,
html[data-u14-effective-theme] .shared-points strong,
html[data-u14-effective-theme] .leaderboard-points strong,
html[data-u14-effective-theme] .leaderboard-mobile-points strong {
  align-items: baseline;
  display: inline-flex;
  gap: 0.2em;
  line-height: 1.04;
}

html[data-u14-effective-theme] .points-summary small,
html[data-u14-effective-theme] .shared-points small {
  display: block;
  line-height: 1.25;
  margin-top: 2px;
}

html[data-u14-effective-theme] .points-summary.full-points,
html[data-u14-effective-theme] .shared-points.full-points {
  background: var(--u14-score-full-soft) !important;
  border-color: color-mix(in srgb, var(--u14-score-full) 46%, white) !important;
  box-shadow: inset 5px 0 0 var(--u14-score-full) !important;
  color: #0f4f2a !important;
}

html[data-u14-effective-theme] .points-summary.full-points strong,
html[data-u14-effective-theme] .shared-points.full-points strong {
  color: #0b7d3c !important;
}

html[data-u14-effective-theme] .points-summary.hub-only-points,
html[data-u14-effective-theme] .shared-points.hub-only-points,
html[data-u14-effective-theme] .points-summary.partial-points,
html[data-u14-effective-theme] .shared-points.partial-points {
  background: var(--u14-score-hub-soft) !important;
  border-color: color-mix(in srgb, var(--u14-score-hub) 42%, white) !important;
  box-shadow: inset 5px 0 0 var(--u14-score-hub) !important;
  color: #573d00 !important;
}

html[data-u14-effective-theme] .points-summary.hub-only-points strong,
html[data-u14-effective-theme] .shared-points.hub-only-points strong,
html[data-u14-effective-theme] .points-summary.partial-points strong,
html[data-u14-effective-theme] .shared-points.partial-points strong {
  color: #9a6700 !important;
}

html[data-u14-effective-theme] .points-summary.score-only-points,
html[data-u14-effective-theme] .shared-points.score-only-points {
  background: var(--u14-score-exact-soft) !important;
  border-color: color-mix(in srgb, var(--u14-score-exact) 36%, white) !important;
  box-shadow: inset 5px 0 0 var(--u14-score-exact) !important;
  color: #173a63 !important;
}

html[data-u14-effective-theme] .points-summary.score-only-points strong,
html[data-u14-effective-theme] .shared-points.score-only-points strong {
  color: var(--u14-score-exact) !important;
}

html[data-u14-effective-theme] .points-summary.zero-points,
html[data-u14-effective-theme] .shared-points.zero-points {
  background: var(--u14-score-zero-soft) !important;
  border-color: color-mix(in srgb, var(--u14-score-zero) 34%, white) !important;
  box-shadow: inset 5px 0 0 color-mix(in srgb, var(--u14-score-zero) 78%, white) !important;
  color: #6f2410 !important;
}

html[data-u14-effective-theme] .points-summary.zero-points strong,
html[data-u14-effective-theme] .shared-points.zero-points strong {
  color: #9a3412 !important;
}

html[data-u14-effective-theme] .points-summary.live-points,
html[data-u14-effective-theme] .shared-points.live-points {
  border-style: solid !important;
}

html[data-u14-effective-theme] .tip-chip {
  border-width: 1px;
  gap: 4px;
  min-height: 28px;
  padding: 6px 10px;
}

html[data-u14-effective-theme] .tip-chip.hub {
  font-size: 14px;
  min-width: 34px;
}

html[data-u14-effective-theme] .tip-chip.score {
  min-width: 54px;
  justify-content: center;
}

html[data-u14-effective-theme] .tip-chip.hub.ok,
html[data-u14-effective-theme] .tip-chip.hub.hub-ok {
  background: var(--u14-score-hub-soft) !important;
  border-color: color-mix(in srgb, var(--u14-score-hub) 48%, white) !important;
  color: #6f4a00 !important;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--u14-score-hub) 18%, transparent) !important;
}

html[data-u14-effective-theme] .tip-chip.score.ok,
html[data-u14-effective-theme] .tip-chip.score.score-ok {
  background: var(--u14-score-exact-soft) !important;
  border-color: color-mix(in srgb, var(--u14-score-exact) 38%, white) !important;
  color: #1f4e79 !important;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--u14-score-exact) 14%, transparent) !important;
}

html[data-u14-effective-theme] .tip-chip.hub.bad,
html[data-u14-effective-theme] .tip-chip.score.bad {
  background: var(--u14-score-zero-soft) !important;
  border-color: color-mix(in srgb, var(--u14-score-zero) 28%, white) !important;
  color: #7a2a13 !important;
}

html[data-u14-effective-theme] .tip-chip.pending,
html[data-u14-effective-theme] .tip-chip.missing {
  background: color-mix(in srgb, Canvas 88%, #fff7d6) !important;
  border-color: color-mix(in srgb, var(--u14-score-hub) 24%, white) !important;
  color: #654500 !important;
}

/* Leaderboard totals are the most important number; give them a calm color
 * anchor without changing ranking/scoring logic. */
html[data-u14-effective-theme] .leaderboard-points,
html[data-u14-effective-theme] .leaderboard-mobile-points {
  background: color-mix(in srgb, var(--u14-score-full-soft) 72%, Canvas) !important;
  border: 1px solid color-mix(in srgb, var(--u14-score-full) 22%, transparent) !important;
  color: #0b5f31 !important;
}

html[data-u14-effective-theme] .leaderboard-points strong,
html[data-u14-effective-theme] .leaderboard-mobile-points strong {
  color: #08733a !important;
}

html[data-u14-effective-theme] .leaderboard-hub,
html[data-u14-effective-theme] .leaderboard-mobile-stats span:first-child {
  color: #6f4a00 !important;
}

html[data-u14-effective-theme] .leaderboard-exact,
html[data-u14-effective-theme] .leaderboard-mobile-stats span:last-child {
  color: #245a88 !important;
}

/* Light-mode refinements. Keep it professional: soft surfaces, no neon, no
 * floating text. */
html[data-u14-effective-theme="light"] .tips-section {
  background: linear-gradient(180deg, rgba(255,255,255,.70), rgba(246,251,244,.92)) !important;
  border-color: var(--u14-light-line) !important;
  box-shadow: 0 12px 34px rgba(7, 56, 30, .055) !important;
}

html[data-u14-effective-theme="light"] .tips-section-head,
html[data-u14-effective-theme="light"] .input-block,
html[data-u14-effective-theme="light"] .mobile-score-inputs label,
html[data-u14-effective-theme="light"] .score-separator {
  background: linear-gradient(180deg, #ffffff, #f7fbf6) !important;
  border-color: var(--u14-light-line) !important;
  color: var(--u14-light-text) !important;
}

html[data-u14-effective-theme="light"] .tips-section-head > span {
  background: #fff9c7 !important;
  border-color: #e6d463 !important;
  color: #5d4500 !important;
}

html[data-u14-effective-theme="light"] .input-block .hub-choice button:not(.selected) {
  background: #eef7ef !important;
  border-color: #bfd8c5 !important;
  color: #173b25 !important;
}

/* Dark-mode refinements. Do not redesign the dark palette; just remove hard
 * edges and make score semantics readable inside the existing dark language. */
html[data-u14-effective-theme="dark"] {
  --u14-score-full-soft: rgba(34, 197, 94, .16);
  --u14-score-hub-soft: rgba(245, 158, 11, .17);
  --u14-score-exact-soft: rgba(96, 165, 250, .15);
  --u14-score-zero-soft: rgba(248, 113, 113, .13);
}

html[data-u14-effective-theme="dark"] .tips-section {
  background: rgba(5, 28, 20, .58) !important;
  border-color: rgba(177, 231, 196, .14) !important;
}

html[data-u14-effective-theme="dark"] .tips-section-head,
html[data-u14-effective-theme="dark"] .input-block,
html[data-u14-effective-theme="dark"] .mobile-score-inputs label,
html[data-u14-effective-theme="dark"] .score-separator {
  background: rgba(8, 38, 28, .78) !important;
  border-color: rgba(177, 231, 196, .14) !important;
  color: #e9f6ec !important;
}

html[data-u14-effective-theme="dark"] .tips-section-head h2,
html[data-u14-effective-theme="dark"] .input-label {
  color: #f4fff6 !important;
}

html[data-u14-effective-theme="dark"] .tips-section-head p,
html[data-u14-effective-theme="dark"] .mobile-score-inputs label span,
html[data-u14-effective-theme="dark"] .points-summary span,
html[data-u14-effective-theme="dark"] .points-summary small,
html[data-u14-effective-theme="dark"] .tip-line > span,
html[data-u14-effective-theme="dark"] .result-main span {
  color: rgba(221, 242, 226, .78) !important;
}

html[data-u14-effective-theme="dark"] .points-summary.full-points strong,
html[data-u14-effective-theme="dark"] .shared-points.full-points strong {
  color: #86efac !important;
}

html[data-u14-effective-theme="dark"] .points-summary.hub-only-points strong,
html[data-u14-effective-theme="dark"] .shared-points.hub-only-points strong,
html[data-u14-effective-theme="dark"] .points-summary.partial-points strong,
html[data-u14-effective-theme="dark"] .shared-points.partial-points strong {
  color: #facc15 !important;
}

html[data-u14-effective-theme="dark"] .points-summary.score-only-points strong,
html[data-u14-effective-theme="dark"] .shared-points.score-only-points strong {
  color: #93c5fd !important;
}

html[data-u14-effective-theme="dark"] .points-summary.zero-points strong,
html[data-u14-effective-theme="dark"] .shared-points.zero-points strong {
  color: #fecaca !important;
}

html[data-u14-effective-theme="dark"] .tip-chip.hub.ok,
html[data-u14-effective-theme="dark"] .tip-chip.hub.hub-ok {
  color: #fde68a !important;
}

html[data-u14-effective-theme="dark"] .tip-chip.score.ok,
html[data-u14-effective-theme="dark"] .tip-chip.score.score-ok {
  color: #bfdbfe !important;
}

html[data-u14-effective-theme="dark"] .leaderboard-points,
html[data-u14-effective-theme="dark"] .leaderboard-mobile-points {
  background: rgba(34, 197, 94, .13) !important;
  border-color: rgba(134, 239, 172, .22) !important;
  color: #dcfce7 !important;
}

html[data-u14-effective-theme="dark"] .leaderboard-points strong,
html[data-u14-effective-theme="dark"] .leaderboard-mobile-points strong {
  color: #86efac !important;
}

@media (max-width: 700px) {
  html[data-u14-effective-theme] .tips-section {
    gap: 10px;
    padding: 10px;
  }
  html[data-u14-effective-theme] .tips-section-head {
    align-items: flex-start;
    flex-direction: column;
    padding: 11px;
  }
  html[data-u14-effective-theme] .tips-section-head > span {
    align-self: flex-start;
  }
  html[data-u14-effective-theme] .input-block {
    padding: 10px;
  }
  html[data-u14-effective-theme] .result-card-row {
    gap: 9px;
  }
  html[data-u14-effective-theme] .points-compact .points-summary {
    min-width: 0;
    width: 100%;
  }
  html[data-u14-effective-theme] .mobile-score-inputs {
    grid-template-columns: minmax(0, 1fr) 34px minmax(0, 1fr);
  }
  html[data-u14-effective-theme] .score-separator {
    min-width: 34px;
  }
}

/* v0.1.21j1 sandbox preview banner.
 * Only shown when APP_ENV=sandbox. The banner reduces the risk of confusing
 * preview/testing traffic with production while keeping prod pages unchanged.
 */
.sandbox-banner {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem .65rem;
  align-items: center;
  justify-content: center;
  margin: .75rem auto .25rem;
  padding: .55rem .85rem;
  border: 1px dashed color-mix(in srgb, var(--warning, #f59e0b) 55%, transparent);
  border-radius: 999px;
  background: color-mix(in srgb, var(--warning-soft, #fff7d6) 82%, transparent);
  color: var(--text, #102116);
  font-size: .9rem;
  box-shadow: var(--shadow-soft, 0 8px 24px rgba(0, 0, 0, .08));
}
.sandbox-banner strong {
  letter-spacing: .08em;
}
.sandbox-banner span {
  color: var(--muted, #4b6354);
}
@media (max-width: 640px) {
  .sandbox-banner {
    border-radius: 18px;
    text-align: center;
  }
}

/* U14-UI-CSS-DESIGN-SYSTEM-20260626-BEGIN */
/*
  v0.1.22a UI/CSS design-system pass

  Purpose:
  - Establish one final visual language on top of the historical CSS layers.
  - Use LFK brand yellow #FFF001 and green #00A850 consistently.
  - Make light and dark mode feel like the same product.
  - Fix mobile rhythm, sticky header readability, cards, tabs, leaderboard,
    shared tips, profile/settings, forms and debug/admin surfaces.
  - CSS-only. No scoring, saving, notification, auth or database logic changes.
*/

:root {
  --u14-brand-yellow: #FFF001;
  --u14-brand-green: #00A850;
  --u14-brand-green-700: #006B36;
  --u14-brand-green-900: #053A20;

  --u14-danger: #B42318;
  --u14-danger-soft: #FFF1EF;
  --u14-warning: #F59E0B;
  --u14-warning-soft: #FFF7D6;
  --u14-blue: #2563EB;
  --u14-blue-soft: #EFF6FF;

  --u14-radius-xs: 10px;
  --u14-radius-sm: 14px;
  --u14-radius-md: 18px;
  --u14-radius-lg: 22px;
  --u14-radius-xl: 28px;
  --u14-radius-pill: 999px;

  --u14-space-1: 4px;
  --u14-space-2: 8px;
  --u14-space-3: 12px;
  --u14-space-4: 16px;
  --u14-space-5: 20px;
  --u14-space-6: 24px;
  --u14-space-8: 32px;

  --u14-font-xs: .76rem;
  --u14-font-sm: .875rem;
  --u14-font-base: 1rem;
  --u14-font-lg: 1.125rem;
  --u14-font-xl: clamp(1.35rem, 1.05rem + 1.3vw, 2rem);

  --u14-ease: cubic-bezier(.2, .8, .2, 1);
}

html[data-u14-effective-theme="light"],
html:not([data-u14-effective-theme]) {
  color-scheme: light;
  --yellow: var(--u14-brand-yellow);
  --green: var(--u14-brand-green);
  --dark-green: var(--u14-brand-green-700);

  --u14-bg: #F4FAF1;
  --u14-bg-2: #FFFDE8;
  --u14-text: #102016;
  --u14-heading: #0B1E12;
  --u14-muted: #52695C;
  --u14-faint: #6B7F72;
  --u14-line: #D8E7D9;
  --u14-line-strong: #BED9C2;
  --u14-surface: #FFFFFF;
  --u14-surface-2: #F7FBF6;
  --u14-surface-3: #EDF7EF;
  --u14-field: #FFFFFF;
  --u14-field-text: #102016;
  --u14-shadow-soft: 0 10px 28px rgba(7, 56, 30, .075);
  --u14-shadow-card: 0 14px 38px rgba(7, 56, 30, .095);
  --u14-shadow-float: 0 22px 70px rgba(7, 56, 30, .16);
  --u14-focus: 0 0 0 4px rgba(0, 168, 80, .18);
  --u14-header-bg: rgba(255, 255, 255, .985);
}

html[data-u14-effective-theme="dark"] {
  color-scheme: dark;
  --yellow: var(--u14-brand-yellow);
  --green: var(--u14-brand-green);
  --dark-green: #00A850;

  --u14-bg: #06130C;
  --u14-bg-2: #0D2617;
  --u14-text: #F4FFF7;
  --u14-heading: #FFFFFF;
  --u14-muted: #BBD1C1;
  --u14-faint: #96AE9D;
  --u14-line: rgba(180, 231, 196, .19);
  --u14-line-strong: rgba(180, 231, 196, .30);
  --u14-surface: #102719;
  --u14-surface-2: #14331F;
  --u14-surface-3: #193D27;
  --u14-field: #0B2115;
  --u14-field-text: #F4FFF7;
  --u14-shadow-soft: 0 10px 28px rgba(0, 0, 0, .22);
  --u14-shadow-card: 0 16px 44px rgba(0, 0, 0, .30);
  --u14-shadow-float: 0 26px 80px rgba(0, 0, 0, .40);
  --u14-focus: 0 0 0 4px rgba(255, 240, 1, .16);
  --u14-header-bg: rgba(8, 31, 17, .985);
}

@media (prefers-color-scheme: dark) {
  html:not([data-u14-effective-theme="light"]):not([data-u14-effective-theme="dark"]) {
    color-scheme: dark;
    --yellow: var(--u14-brand-yellow);
    --green: var(--u14-brand-green);
    --dark-green: #00A850;
    --u14-bg: #06130C;
    --u14-bg-2: #0D2617;
    --u14-text: #F4FFF7;
    --u14-heading: #FFFFFF;
    --u14-muted: #BBD1C1;
    --u14-faint: #96AE9D;
    --u14-line: rgba(180, 231, 196, .19);
    --u14-line-strong: rgba(180, 231, 196, .30);
    --u14-surface: #102719;
    --u14-surface-2: #14331F;
    --u14-surface-3: #193D27;
    --u14-field: #0B2115;
    --u14-field-text: #F4FFF7;
    --u14-shadow-soft: 0 10px 28px rgba(0, 0, 0, .22);
    --u14-shadow-card: 0 16px 44px rgba(0, 0, 0, .30);
    --u14-shadow-float: 0 26px 80px rgba(0, 0, 0, .40);
    --u14-focus: 0 0 0 4px rgba(255, 240, 1, .16);
    --u14-header-bg: rgba(8, 31, 17, .985);
  }
}

/* Foundation */
html {
  background: var(--u14-bg) !important;
  color: var(--u14-text) !important;
  scroll-padding-top: 92px;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

body {
  background:
    radial-gradient(circle at 12% 0%, color-mix(in srgb, var(--u14-brand-yellow) 18%, transparent) 0 22rem, transparent 34rem),
    linear-gradient(135deg, var(--u14-bg), var(--u14-bg-2)) !important;
  color: var(--u14-text) !important;
  font-size: 16px;
  line-height: 1.48;
}

::selection {
  background: color-mix(in srgb, var(--u14-brand-yellow) 70%, transparent);
  color: #092013;
}

main {
  width: min(1120px, calc(100vw - 28px)) !important;
  padding: clamp(14px, 2.4vw, 28px) 0 56px !important;
}

a {
  color: var(--u14-brand-green-700);
  text-underline-offset: .18em;
}
html[data-u14-effective-theme="dark"] a {
  color: #8CF3A9;
}

/* Header/navigation */
.topbar {
  position: sticky !important;
  top: 0 !important;
  z-index: 50 !important;
  display: grid !important;
  grid-template-columns: minmax(0, auto) minmax(0, 1fr) !important;
  align-items: center !important;
  gap: var(--u14-space-4) !important;
  padding: 10px max(14px, env(safe-area-inset-right)) 10px max(14px, env(safe-area-inset-left)) !important;
  background: var(--u14-header-bg) !important;
  border-bottom: 1px solid var(--u14-line) !important;
  box-shadow: 0 8px 26px rgba(0, 0, 0, .08) !important;
  backdrop-filter: blur(12px) saturate(1.05) !important;
}

.brand {
  min-width: 0 !important;
  color: var(--u14-heading) !important;
  gap: 10px !important;
}

.brand span {
  min-width: 0;
}

.brand strong {
  display: block;
  color: var(--u14-heading) !important;
  font-size: .98rem;
  letter-spacing: -.015em;
  line-height: 1.1;
  max-width: 18rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.brand small {
  color: var(--u14-muted) !important;
  font-size: .75rem !important;
  line-height: 1.1;
}

.brand-mark,
.brand-logo {
  flex: 0 0 auto !important;
  width: 42px !important;
  height: 42px !important;
  border-radius: 14px !important;
  background: linear-gradient(180deg, #FFFBD1, var(--u14-brand-yellow)) !important;
  border: 2px solid var(--u14-brand-green) !important;
  color: var(--u14-brand-green-900) !important;
  box-shadow: 0 8px 22px rgba(0, 107, 54, .16) !important;
}

.topbar nav {
  justify-content: flex-end !important;
  gap: 8px !important;
  min-width: 0 !important;
}

.topbar nav a,
.linkbtn {
  min-height: 38px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid transparent !important;
  border-radius: var(--u14-radius-pill) !important;
  padding: 8px 12px !important;
  color: var(--u14-brand-green-700) !important;
  font-size: .9rem !important;
  font-weight: 850 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

html[data-u14-effective-theme="dark"] .topbar nav a,
html[data-u14-effective-theme="dark"] .linkbtn {
  color: #DFFBE6 !important;
}

.topbar nav a:hover,
.linkbtn:hover {
  background: color-mix(in srgb, var(--u14-brand-green) 10%, transparent) !important;
  border-color: color-mix(in srgb, var(--u14-brand-green) 20%, transparent) !important;
}

/* Shared surfaces */
.panel,
.app-panel,
.auth-card,
.profile-card,
.profile-push-card,
.push-panel,
.notification-panel,
.override-panel,
.privacy-prompt,
.admin-theme-switch,
.tips-summary-panel,
.leaderboard-note,
.round-leaderboard-card,
.table-wrap {
  background: color-mix(in srgb, var(--u14-surface) 94%, transparent) !important;
  border: 1px solid var(--u14-line) !important;
  border-radius: var(--u14-radius-xl) !important;
  box-shadow: var(--u14-shadow-soft) !important;
  color: var(--u14-text) !important;
}

.app-panel,
.panel {
  padding: clamp(14px, 2.3vw, 24px) !important;
}

.panel.narrow,
.profile-panel.panel.narrow {
  max-width: 860px !important;
}

.auth-card {
  max-width: 460px !important;
  padding: clamp(20px, 4vw, 30px) !important;
}

/* Hero and stats */
.app-hero {
  isolation: isolate !important;
  min-height: 154px !important;
  padding: clamp(18px, 4vw, 34px) !important;
  border: 1px solid color-mix(in srgb, var(--u14-brand-yellow) 22%, transparent) !important;
  border-radius: var(--u14-radius-xl) !important;
  background:
    linear-gradient(120deg, #005F31 0%, var(--u14-brand-green) 64%, #31C875 100%) !important;
  box-shadow: var(--u14-shadow-card) !important;
}

.app-hero::after {
  z-index: -1 !important;
  inset: auto -150px -180px auto !important;
  width: 390px !important;
  height: 390px !important;
  background: radial-gradient(circle,
    rgba(255, 240, 1, .96) 0%,
    rgba(255, 240, 1, .58) 20%,
    rgba(255, 240, 1, .16) 48%,
    rgba(255, 240, 1, 0) 70%) !important;
  opacity: 1 !important;
}

.app-hero h1 {
  max-width: 780px !important;
  margin: 0 0 8px !important;
  color: #FFFFFF !important;
  font-size: clamp(2rem, 1.55rem + 3.2vw, 4rem) !important;
  letter-spacing: -.055em !important;
  line-height: .96 !important;
}

.app-hero p {
  max-width: 720px !important;
  color: rgba(255,255,255,.90) !important;
  font-size: clamp(.95rem, .9rem + .25vw, 1.05rem) !important;
}

.stat-row {
  gap: 10px !important;
}
.stat {
  background: color-mix(in srgb, var(--u14-surface-2) 92%, transparent) !important;
  border: 1px solid var(--u14-line) !important;
  border-radius: var(--u14-radius-lg) !important;
  box-shadow: none !important;
}
.stat strong {
  color: var(--u14-brand-green-700) !important;
}
html[data-u14-effective-theme="dark"] .stat strong {
  color: #8CF3A9 !important;
}

/* Buttons, tabs and forms */
button,
.button,
.tab,
.theme-switch-btn,
.shared-scope-chip {
  min-height: 42px !important;
  border-radius: var(--u14-radius-pill) !important;
  border: 1px solid var(--u14-line-strong) !important;
  background: color-mix(in srgb, var(--u14-surface-2) 94%, transparent) !important;
  color: var(--u14-heading) !important;
  font-weight: 850 !important;
  letter-spacing: -.01em;
  box-shadow: none !important;
  transition: transform .16s var(--u14-ease), box-shadow .16s var(--u14-ease), background .16s var(--u14-ease), border-color .16s var(--u14-ease) !important;
}

button:hover,
.button:hover,
.tab:hover,
.theme-switch-btn:hover,
.shared-scope-chip:hover {
  transform: translateY(-1px);
  box-shadow: var(--u14-shadow-soft) !important;
}

button.primary,
.primary,
button[type="submit"].primary,
.hub-choice button.selected,
.hub button.selected {
  background: linear-gradient(180deg, #07B85B, var(--u14-brand-green)) !important;
  border-color: color-mix(in srgb, var(--u14-brand-green) 88%, black) !important;
  color: #FFFFFF !important;
  box-shadow: 0 10px 22px rgba(0, 168, 80, .22) !important;
}

.tab.active,
.theme-switch-btn.active,
.shared-scope-chip.active,
.live-badge {
  background: linear-gradient(180deg, #FFFBD1, var(--u14-brand-yellow)) !important;
  border-color: var(--u14-brand-green) !important;
  color: #08331C !important;
  box-shadow: 0 10px 22px rgba(128, 113, 8, .13) !important;
}

button.ghost,
.button.ghost,
.show-more-row .button {
  background: transparent !important;
  color: var(--u14-brand-green-700) !important;
}
html[data-u14-effective-theme="dark"] button.ghost,
html[data-u14-effective-theme="dark"] .button.ghost,
html[data-u14-effective-theme="dark"] .show-more-row .button {
  color: #BFF7CB !important;
}

button.danger,
.button.danger {
  background: linear-gradient(180deg, #D92D20, var(--u14-danger)) !important;
  border-color: var(--u14-danger) !important;
  color: #FFFFFF !important;
}

input,
select,
textarea,
.mobile-score-inputs input,
.score-inputs input {
  min-height: 44px !important;
  border: 1px solid var(--u14-line-strong) !important;
  border-radius: var(--u14-radius-md) !important;
  background: var(--u14-field) !important;
  color: var(--u14-field-text) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05) !important;
}

input:focus,
select:focus,
textarea:focus,
button:focus-visible,
.button:focus-visible,
.tab:focus-visible,
.theme-switch-btn:focus-visible,
.shared-scope-chip:focus-visible {
  outline: none !important;
  box-shadow: var(--u14-focus) !important;
  border-color: var(--u14-brand-green) !important;
}

label {
  color: var(--u14-heading) !important;
  font-weight: 850 !important;
}

.muted,
.save-status,
.match-meta,
.compact-meta,
.compact-venue,
.deadline,
.input-hint,
.helper-note,
.small,
.brand small {
  color: var(--u14-muted) !important;
}

/* App tabs */
.tabs,
.tips-toolbar,
.shared-scope-list,
.theme-switch-buttons {
  gap: 8px !important;
}

.tabs {
  margin: 14px 0 18px !important;
  padding: 6px !important;
  border: 1px solid var(--u14-line) !important;
  border-radius: var(--u14-radius-pill) !important;
  background: color-mix(in srgb, var(--u14-surface) 72%, transparent) !important;
  box-shadow: var(--u14-shadow-soft) !important;
}

.tabs .tab {
  flex: 1 1 auto !important;
  min-width: max-content !important;
  padding-inline: 14px !important;
}

/* Tips flow and match cards */
.tips-section {
  display: grid !important;
  gap: 12px !important;
  padding: clamp(12px, 2vw, 16px) !important;
  background: color-mix(in srgb, var(--u14-surface) 80%, transparent) !important;
  border: 1px solid var(--u14-line) !important;
  border-radius: var(--u14-radius-xl) !important;
  box-shadow: var(--u14-shadow-soft) !important;
}

.tips-section + .tips-section {
  margin-top: 16px !important;
}

.tips-section-head,
.match-card-head,
.section-title-row,
.round-leaderboard-head,
.privacy-prompt-head,
.notification-item,
.input-card-footer,
.bulk-save-bar {
  align-items: center !important;
  gap: 12px !important;
  border-color: var(--u14-line) !important;
}

.tips-section-head {
  padding: 13px 14px !important;
  border: 1px solid var(--u14-line) !important;
  border-radius: var(--u14-radius-lg) !important;
  background: color-mix(in srgb, var(--u14-surface-2) 92%, transparent) !important;
}

.tips-section-head h2,
.section-title-row h2,
.section-title-row h3,
.profile-card h2,
.round-leaderboard-head h4,
.shared-head h2,
.compact-day h3,
.teams,
.compact-teams,
.input-label,
.prediction-label {
  color: var(--u14-heading) !important;
  letter-spacing: -.025em !important;
  line-height: 1.12 !important;
  text-shadow: none !important;
}

.tips-section-head p,
.shared-head p {
  margin-top: 3px !important;
  color: var(--u14-muted) !important;
}

.tips-section-head > span,
.mini-badge,
.badge,
.participant-badge,
.status-pill,
.locked-badge,
.live-badge {
  min-height: 26px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: var(--u14-radius-pill) !important;
  font-size: var(--u14-font-xs) !important;
  font-weight: 900 !important;
  letter-spacing: .01em !important;
}

.compact-match-list,
.shared-match-list,
.round-leaderboard-grid {
  gap: 10px !important;
}

.match-card,
.compact-match-card,
.summary-match-card,
.result-match-card,
.input-match-card,
.shared-match-card,
.shared-tip-row,
.leaderboard-mobile-row,
.round-leaderboard-card,
.review-summary > div,
.push-pref-card,
.admin-assisted-form,
.bulk-person-row,
.bulk-match-card > div,
.result-line,
.tip-line,
.points-summary,
.shared-points,
.summary-row > div,
.result-main,
.compact-editor,
.privacy-choice,
.privacy-choice-group {
  background: color-mix(in srgb, var(--u14-surface) 96%, transparent) !important;
  border: 1px solid var(--u14-line) !important;
  border-radius: var(--u14-radius-lg) !important;
  color: var(--u14-text) !important;
  box-shadow: 0 6px 18px rgba(0, 0, 0, .045) !important;
}

html[data-u14-effective-theme="dark"] .match-card,
html[data-u14-effective-theme="dark"] .compact-match-card,
html[data-u14-effective-theme="dark"] .summary-match-card,
html[data-u14-effective-theme="dark"] .result-match-card,
html[data-u14-effective-theme="dark"] .input-match-card,
html[data-u14-effective-theme="dark"] .shared-match-card,
html[data-u14-effective-theme="dark"] .shared-tip-row,
html[data-u14-effective-theme="dark"] .leaderboard-mobile-row,
html[data-u14-effective-theme="dark"] .round-leaderboard-card,
html[data-u14-effective-theme="dark"] .result-line,
html[data-u14-effective-theme="dark"] .tip-line,
html[data-u14-effective-theme="dark"] .points-summary,
html[data-u14-effective-theme="dark"] .shared-points {
  box-shadow: 0 10px 28px rgba(0, 0, 0, .18) !important;
}

.compact-match-card,
.input-match-card,
.summary-match-card,
.result-match-card {
  padding: 12px !important;
}

.compact-match-main {
  gap: 12px !important;
}

.compact-teams,
.teams {
  font-size: clamp(1rem, .92rem + .32vw, 1.18rem) !important;
  font-weight: 920 !important;
}

.compact-meta,
.match-meta {
  font-size: var(--u14-font-xs) !important;
  text-transform: none !important;
}

.input-block,
.mobile-score-inputs label,
.score-separator {
  background: color-mix(in srgb, var(--u14-surface-2) 94%, transparent) !important;
  border: 1px solid var(--u14-line) !important;
  border-radius: var(--u14-radius-lg) !important;
  color: var(--u14-text) !important;
}

.input-block {
  padding: 12px !important;
}

.hub-choice,
.hub {
  gap: 8px !important;
}

.hub-choice button,
.hub button {
  min-height: 44px !important;
  padding: 9px 8px !important;
}

.mobile-score-inputs {
  gap: 8px !important;
}

.score-separator {
  min-width: 38px !important;
  min-height: 44px !important;
}

.match-card.live,
.compact-match-card.live,
.shared-match-card.live,
.result-match-card.live {
  border-color: color-mix(in srgb, var(--u14-brand-yellow) 85%, var(--u14-brand-green)) !important;
  box-shadow: inset 5px 0 0 var(--u14-brand-yellow), var(--u14-shadow-card) !important;
}

.compact-match-card.needs-tip,
.input-match-card.needs-tip,
.priority-section {
  border-color: color-mix(in srgb, var(--u14-brand-yellow) 62%, var(--u14-line)) !important;
}

.compact-match-card.needs-tip,
.input-match-card.needs-tip {
  box-shadow: inset 5px 0 0 var(--u14-brand-yellow), 0 8px 22px rgba(128, 113, 8, .08) !important;
}

.compact-match-card.full-points,
.result-match-card.finished.full-points {
  box-shadow: inset 5px 0 0 #22C55E, var(--u14-shadow-soft) !important;
}
.compact-match-card.partial-points,
.result-match-card.finished.partial-points {
  box-shadow: inset 5px 0 0 #FACC15, var(--u14-shadow-soft) !important;
}
.compact-match-card.zero-points.finished,
.result-match-card.finished.zero-points {
  box-shadow: inset 5px 0 0 #CBD5E1, var(--u14-shadow-soft) !important;
}

/* Point semantics: consistent, readable and less gimmicky */
.points-summary,
.shared-points {
  min-width: 78px !important;
  padding: 8px 10px !important;
  text-align: center !important;
  display: inline-grid !important;
  gap: 1px !important;
  align-content: center !important;
}

.points-summary small,
.points-summary span,
.shared-points small,
.shared-points span {
  color: var(--u14-muted) !important;
  font-size: .68rem !important;
  font-weight: 850 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
}

.points-summary strong,
.shared-points strong {
  color: var(--u14-heading) !important;
  font-size: 1rem !important;
  line-height: 1.05 !important;
}

.points-summary.full-points,
.shared-points.full-points {
  background: color-mix(in srgb, #22C55E 13%, var(--u14-surface)) !important;
  border-color: color-mix(in srgb, #22C55E 42%, var(--u14-line)) !important;
}
.points-summary.full-points strong,
.shared-points.full-points strong {
  color: #08733A !important;
}
html[data-u14-effective-theme="dark"] .points-summary.full-points strong,
html[data-u14-effective-theme="dark"] .shared-points.full-points strong {
  color: #86EFAC !important;
}

.points-summary.hub-only-points,
.points-summary.partial-points,
.shared-points.hub-only-points,
.shared-points.partial-points,
.points-summary.live-points,
.shared-points.live-points {
  background: color-mix(in srgb, var(--u14-brand-yellow) 20%, var(--u14-surface)) !important;
  border-color: color-mix(in srgb, var(--u14-brand-yellow) 55%, var(--u14-line)) !important;
}
.points-summary.hub-only-points strong,
.points-summary.partial-points strong,
.shared-points.hub-only-points strong,
.shared-points.partial-points strong {
  color: #735000 !important;
}
html[data-u14-effective-theme="dark"] .points-summary.hub-only-points strong,
html[data-u14-effective-theme="dark"] .points-summary.partial-points strong,
html[data-u14-effective-theme="dark"] .shared-points.hub-only-points strong,
html[data-u14-effective-theme="dark"] .shared-points.partial-points strong {
  color: #FDE68A !important;
}

.points-summary.score-only-points,
.shared-points.score-only-points {
  background: color-mix(in srgb, #60A5FA 14%, var(--u14-surface)) !important;
  border-color: color-mix(in srgb, #60A5FA 38%, var(--u14-line)) !important;
}
.points-summary.score-only-points strong,
.shared-points.score-only-points strong {
  color: #245A88 !important;
}
html[data-u14-effective-theme="dark"] .points-summary.score-only-points strong,
html[data-u14-effective-theme="dark"] .shared-points.score-only-points strong {
  color: #BFDBFE !important;
}

.points-summary.zero-points,
.shared-points.zero-points {
  background: color-mix(in srgb, #FCA5A5 14%, var(--u14-surface)) !important;
  border-color: color-mix(in srgb, #FCA5A5 36%, var(--u14-line)) !important;
}
.points-summary.zero-points strong,
.shared-points.zero-points strong {
  color: #9A3412 !important;
}
html[data-u14-effective-theme="dark"] .points-summary.zero-points strong,
html[data-u14-effective-theme="dark"] .shared-points.zero-points strong {
  color: #FECACA !important;
}

.tip-chip {
  min-height: 28px !important;
  border-radius: var(--u14-radius-pill) !important;
  font-size: .82rem !important;
  font-weight: 900 !important;
}

.tip-chip.hub.ok,
.tip-chip.hub.hub-ok {
  background: color-mix(in srgb, var(--u14-brand-yellow) 24%, var(--u14-surface)) !important;
  border-color: color-mix(in srgb, var(--u14-brand-yellow) 60%, var(--u14-line)) !important;
  color: #6A4B00 !important;
}
.tip-chip.score.ok,
.tip-chip.score.score-ok {
  background: color-mix(in srgb, #60A5FA 16%, var(--u14-surface)) !important;
  border-color: color-mix(in srgb, #60A5FA 36%, var(--u14-line)) !important;
  color: #245A88 !important;
}
html[data-u14-effective-theme="dark"] .tip-chip.hub.ok,
html[data-u14-effective-theme="dark"] .tip-chip.hub.hub-ok {
  color: #FDE68A !important;
}
html[data-u14-effective-theme="dark"] .tip-chip.score.ok,
html[data-u14-effective-theme="dark"] .tip-chip.score.score-ok {
  color: #BFDBFE !important;
}

/* Shared tips */
.shared-panel,
.match-shared-panel {
  display: grid !important;
  gap: 14px !important;
}

.shared-head {
  align-items: flex-start !important;
  gap: 12px !important;
}

.shared-match-card {
  padding: 13px !important;
}

.shared-match-top {
  align-items: flex-start !important;
  gap: 12px !important;
}

.shared-match-result {
  min-width: 82px !important;
  padding: 9px 10px !important;
  border-radius: var(--u14-radius-md) !important;
  background: color-mix(in srgb, var(--u14-surface-2) 90%, transparent) !important;
  border: 1px solid var(--u14-line) !important;
  color: var(--u14-heading) !important;
}
.shared-match-result span {
  color: var(--u14-muted) !important;
}
.shared-match-result strong {
  color: var(--u14-heading) !important;
}

.shared-tip-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto auto !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 10px !important;
}

.shared-tip-row > strong {
  color: var(--u14-heading) !important;
  min-width: 0 !important;
}

.shared-tip-value {
  display: inline-flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-end !important;
  gap: 5px !important;
}

/* Leaderboard */
.leaderboard-main-wrap table,
.round-leaderboard-card table,
table {
  background: var(--u14-surface) !important;
  color: var(--u14-text) !important;
}
th {
  background: linear-gradient(180deg, #006B36, #005A2E) !important;
  color: #FFFFFF !important;
  font-size: .78rem !important;
  letter-spacing: .02em !important;
}
td {
  color: var(--u14-text) !important;
}
tr:hover td {
  background: color-mix(in srgb, var(--u14-brand-green) 6%, transparent) !important;
}

.leaderboard-mobile-list {
  gap: 10px !important;
}

.leaderboard-mobile-row {
  display: grid !important;
  grid-template-columns: 46px minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 12px !important;
}

.leaderboard-mobile-rank {
  width: 42px !important;
  height: 42px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 14px !important;
  background: color-mix(in srgb, var(--u14-brand-green) 10%, var(--u14-surface)) !important;
  color: var(--u14-brand-green-700) !important;
  font-weight: 950 !important;
}
html[data-u14-effective-theme="dark"] .leaderboard-mobile-rank {
  color: #BFF7CB !important;
}

.leaderboard-mobile-row.top-1 {
  border-color: color-mix(in srgb, var(--u14-brand-yellow) 70%, var(--u14-line)) !important;
  box-shadow: inset 5px 0 0 var(--u14-brand-yellow), var(--u14-shadow-card) !important;
}
.leaderboard-mobile-row.top-2,
.leaderboard-mobile-row.top-3 {
  border-color: color-mix(in srgb, var(--u14-brand-green) 42%, var(--u14-line)) !important;
}

.leaderboard-mobile-name,
.leaderboard-name {
  color: var(--u14-heading) !important;
  font-weight: 900 !important;
}

.leaderboard-mobile-points,
.leaderboard-points {
  background: color-mix(in srgb, #22C55E 12%, var(--u14-surface)) !important;
  border: 1px solid color-mix(in srgb, #22C55E 34%, var(--u14-line)) !important;
  border-radius: var(--u14-radius-lg) !important;
  color: var(--u14-heading) !important;
  text-align: center !important;
}
.leaderboard-mobile-points strong,
.leaderboard-points strong {
  color: #08733A !important;
}
html[data-u14-effective-theme="dark"] .leaderboard-mobile-points strong,
html[data-u14-effective-theme="dark"] .leaderboard-points strong {
  color: #86EFAC !important;
}

.round-leaderboard-card {
  padding: 14px !important;
}

/* Profile/settings/push */
.profile-panel {
  display: grid !important;
  gap: 16px !important;
}

.profile-panel > h1 {
  margin: 0 !important;
  color: var(--u14-heading) !important;
  font-size: var(--u14-font-xl) !important;
  letter-spacing: -.035em !important;
}

.profile-card,
.push-panel {
  padding: clamp(14px, 2vw, 18px) !important;
}

.profile-card h2,
.push-pref-card h3 {
  margin-top: 0 !important;
}

.switch-line,
.push-pref-card,
.notification-item {
  border-radius: var(--u14-radius-lg) !important;
  border: 1px solid var(--u14-line) !important;
  background: color-mix(in srgb, var(--u14-surface-2) 92%, transparent) !important;
  color: var(--u14-text) !important;
}

.switch-line strong,
.push-pref-card h3 {
  color: var(--u14-heading) !important;
}
.switch-line small,
.push-pref-card p {
  color: var(--u14-muted) !important;
}
.switch-line i {
  background: color-mix(in srgb, var(--u14-line-strong) 58%, var(--u14-surface)) !important;
  border: 1px solid var(--u14-line-strong) !important;
}
.switch-line input:checked + i {
  background: var(--u14-brand-green) !important;
  border-color: var(--u14-brand-green) !important;
}

/* Privacy prompt and notifications */
.privacy-prompt {
  padding: clamp(16px, 2.4vw, 22px) !important;
}
.privacy-choice-grid {
  gap: 10px !important;
}
.privacy-choice,
.privacy-choice-group {
  padding: 12px !important;
}
.notification-panel,
.override-panel {
  padding: clamp(14px, 2vw, 18px) !important;
}
.flash.success,
.badge.ok,
.participant-badge.app-user {
  background: color-mix(in srgb, #22C55E 14%, var(--u14-surface)) !important;
  border-color: color-mix(in srgb, #22C55E 42%, var(--u14-line)) !important;
  color: #0B6B35 !important;
}
html[data-u14-effective-theme="dark"] .flash.success,
html[data-u14-effective-theme="dark"] .badge.ok,
html[data-u14-effective-theme="dark"] .participant-badge.app-user {
  color: #86EFAC !important;
}
.flash.error,
.badge.danger,
.button.danger-soft {
  background: color-mix(in srgb, #FCA5A5 18%, var(--u14-surface)) !important;
  border-color: color-mix(in srgb, #FCA5A5 42%, var(--u14-line)) !important;
  color: #9A3412 !important;
}
html[data-u14-effective-theme="dark"] .flash.error,
html[data-u14-effective-theme="dark"] .badge.danger,
html[data-u14-effective-theme="dark"] .button.danger-soft {
  color: #FECACA !important;
}

/* Admin/debug polish: useful but not visually dominant */
.admin-theme-switch {
  margin: 12px 0 !important;
  padding: 12px !important;
}
.admin-theme-switch strong {
  color: var(--u14-heading) !important;
}
.admin-theme-switch span {
  color: var(--u14-muted) !important;
}
.admin-theme-switch .theme-debug-grid {
  max-height: 112px !important;
  overflow: auto !important;
  opacity: .78 !important;
  border-radius: var(--u14-radius-md) !important;
}
.theme-debug-summary {
  color: var(--u14-muted) !important;
}

/* Tables/admin forms */
.admin-grid,
.review-summary,
.stat-row,
.match-grid,
.round-leaderboard-grid {
  gap: 12px !important;
}
.table-wrap {
  overflow: auto !important;
}
.inline-form,
.inline-actions {
  gap: 8px !important;
}
.warning-list {
  background: color-mix(in srgb, var(--u14-warning) 12%, var(--u14-surface)) !important;
  border-color: color-mix(in srgb, var(--u14-warning) 42%, var(--u14-line)) !important;
  color: var(--u14-heading) !important;
}
.warn-text,
.badge.warn {
  color: #7C4A00 !important;
}
html[data-u14-effective-theme="dark"] .warn-text,
html[data-u14-effective-theme="dark"] .badge.warn {
  color: #FDE68A !important;
}

/* PWA/push cards */
.push-nudge-card,
.install-help-card,
.push-modal-sheet {
  background: var(--u14-surface) !important;
  border: 1px solid var(--u14-line) !important;
  border-radius: var(--u14-radius-xl) !important;
  color: var(--u14-text) !important;
  box-shadow: var(--u14-shadow-float) !important;
}
.push-modal-head,
.push-modal-actions,
.install-help-actions,
.push-nudge-actions {
  border-color: var(--u14-line) !important;
}

/* Sandbox banner */
.sandbox-banner {
  border-radius: var(--u14-radius-pill) !important;
  background: color-mix(in srgb, var(--u14-warning-soft) 78%, var(--u14-surface)) !important;
  border-color: color-mix(in srgb, var(--u14-warning) 46%, var(--u14-line)) !important;
  color: var(--u14-heading) !important;
}

/* Mobile-first refinements */
@media (max-width: 800px) {
  html { scroll-padding-top: 120px; }
  main {
    width: min(100vw - 16px, 1120px) !important;
    padding-top: 12px !important;
  }
  .topbar {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 8px !important;
    padding-block: 8px !important;
  }
  .topbar nav {
    width: 100% !important;
    justify-content: flex-start !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    padding-bottom: 2px !important;
    scrollbar-width: thin;
  }
  .topbar nav a,
  .linkbtn {
    min-height: 36px !important;
    padding: 8px 11px !important;
    font-size: .86rem !important;
  }
  .brand strong {
    max-width: calc(100vw - 86px);
  }
  .app-panel,
  .panel,
  .auth-card,
  .profile-card,
  .push-panel {
    border-radius: var(--u14-radius-lg) !important;
  }
  .app-hero {
    min-height: 126px !important;
    padding: 18px !important;
  }
  .app-hero::after {
    inset: auto -165px -205px auto !important;
  }
  .tabs {
    border-radius: var(--u14-radius-lg) !important;
    overflow-x: auto !important;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
  }
  .tabs .tab {
    flex: 0 0 auto !important;
  }
  .stat-row,
  .match-grid,
  .admin-grid,
  .review-summary {
    grid-template-columns: 1fr !important;
  }
  .tips-section-head,
  .shared-head,
  .day-header,
  .section-title-row,
  .round-leaderboard-head {
    align-items: flex-start !important;
    flex-direction: column !important;
  }
  .compact-match-card,
  .input-match-card,
  .summary-match-card,
  .result-match-card,
  .shared-match-card {
    padding: 11px !important;
  }
  .compact-match-main {
    gap: 10px !important;
  }
  .mobile-score-inputs {
    grid-template-columns: minmax(0, 1fr) 36px minmax(0, 1fr) !important;
  }
  .leaderboard-mobile-row {
    grid-template-columns: 42px minmax(0, 1fr) minmax(72px, auto) !important;
    padding: 11px !important;
  }
  .leaderboard-mobile-rank {
    width: 38px !important;
    height: 38px !important;
  }
  .leaderboard-mobile-points {
    padding: 8px 10px !important;
  }
  .shared-tip-row {
    grid-template-columns: minmax(0, 1fr) auto !important;
  }
  .shared-tip-value {
    grid-column: 1 / -1 !important;
    justify-content: flex-start !important;
  }
}

@media (max-width: 420px) {
  main {
    width: min(100vw - 10px, 1120px) !important;
  }
  .brand-mark,
  .brand-logo {
    width: 38px !important;
    height: 38px !important;
    border-radius: 12px !important;
  }
  .brand strong {
    font-size: .92rem !important;
  }
  .brand small {
    font-size: .70rem !important;
  }
  .tabs,
  .tips-section {
    padding: 6px !important;
  }
  .tips-section-head,
  .input-block,
  .compact-match-card,
  .shared-match-card,
  .leaderboard-mobile-row,
  .profile-card {
    border-radius: var(--u14-radius-md) !important;
  }
  .points-summary,
  .shared-points {
    min-width: 68px !important;
    padding: 7px 8px !important;
  }
  .leaderboard-mobile-stats {
    gap: 4px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }
}
/* U14-UI-CSS-DESIGN-SYSTEM-20260626-END */

/* U14-UI-CSS-FINAL-POLISH-20260626-BEGIN */
/*
  v0.1.22c UI/CSS final polish after detailed sandbox screenshot review.

  This is intentionally a final cascade layer. It does not change scoring,
  auth, DB, notifications, workers or PHP business logic. The goal is visual:
  calmer dark mode, stronger placement/alignment, mobile-first readability and
  one professional LFK design language using #FFF001 and #00A850.
*/

:root {
  --u14-brand-yellow: #FFF001;
  --u14-brand-green: #00A850;
  --u14-brand-green-deep: #005F31;
  --u14-font-body: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --u14-page-gutter: clamp(10px, 3.2vw, 20px);
  --u14-radius-sm: 12px;
  --u14-radius-md: 16px;
  --u14-radius-lg: 22px;
  --u14-radius-xl: 28px;
  --u14-touch: 44px;
  --u14-content-max: 1120px;
  --u14-readable: min(100%, 74ch);
}

html[data-u14-effective-theme="light"],
html[data-u14-theme="light"],
html:not([data-u14-effective-theme]) {
  --u14-page: #F5FAF0;
  --u14-page-2: #FFFDE8;
  --u14-surface: #FFFFFF;
  --u14-surface-soft: #FAFDF8;
  --u14-surface-tint: #F1F8EF;
  --u14-card: #FFFFFF;
  --u14-card-alt: #F8FCF6;
  --u14-field: #FFFFFF;
  --u14-field-soft: #F2F9F0;
  --u14-text: #102017;
  --u14-heading: #07180F;
  --u14-muted: #50675A;
  --u14-faint: #708274;
  --u14-line: #DBEADC;
  --u14-line-strong: #BBD7C1;
  --u14-shadow-soft: 0 10px 28px rgba(16, 73, 39, .075);
  --u14-shadow-card: 0 18px 52px rgba(16, 73, 39, .115);
  --u14-shadow-float: 0 26px 80px rgba(16, 73, 39, .16);
  --u14-header-bg: rgba(255, 255, 255, .992);
  --u14-focus: 0 0 0 4px rgba(0, 168, 80, .16);

  --u14-h-page: linear-gradient(135deg, #F5FAF0 0%, #FFFDE8 100%);
  --u14-h-topbar: var(--u14-header-bg);
  --u14-h-panel: rgba(255, 255, 255, .975);
  --u14-h-panel-solid: var(--u14-surface);
  --u14-h-card: var(--u14-card-alt);
  --u14-h-card-alt: var(--u14-surface-tint);
  --u14-h-field: var(--u14-field);
  --u14-h-field-soft: var(--u14-field-soft);
  --u14-h-line: var(--u14-line);
  --u14-h-line-strong: var(--u14-line-strong);
  --u14-h-text: var(--u14-text);
  --u14-h-heading: var(--u14-heading);
  --u14-h-meta: var(--u14-muted);
  --u14-h-label: #315642;
  --u14-h-yellow: var(--u14-brand-yellow);
  --u14-h-green: var(--u14-brand-green);
  --u14-h-green-strong: var(--u14-brand-green-deep);
  --u14-h-green-soft: #E7F7EA;
  --u14-h-shadow-soft: var(--u14-shadow-soft);

  --ink: var(--u14-text);
  --muted: var(--u14-muted);
  --line: var(--u14-line);
  --yellow: var(--u14-brand-yellow);
  --green: var(--u14-brand-green);
  --dark-green: var(--u14-brand-green-deep);
}

html[data-u14-effective-theme="dark"],
html[data-u14-theme="dark"] {
  color-scheme: dark !important;
  --u14-page: #050B07;
  --u14-page-2: #09120D;
  --u14-surface: #0B1510;
  --u14-surface-soft: #0F1D15;
  --u14-surface-tint: #13261A;
  --u14-card: #0F1F16;
  --u14-card-alt: #13261B;
  --u14-field: #09140E;
  --u14-field-soft: #102018;
  --u14-text: #F4FFF6;
  --u14-heading: #FFFFFF;
  --u14-muted: #BCD2C2;
  --u14-faint: #8FA99A;
  --u14-line: rgba(221, 246, 225, .155);
  --u14-line-strong: rgba(221, 246, 225, .265);
  --u14-shadow-soft: 0 14px 32px rgba(0, 0, 0, .34);
  --u14-shadow-card: 0 22px 62px rgba(0, 0, 0, .46);
  --u14-shadow-float: 0 34px 96px rgba(0, 0, 0, .58);
  --u14-header-bg: rgba(5, 11, 7, .992);
  --u14-focus: 0 0 0 4px rgba(255, 240, 1, .20);

  --u14-h-page: linear-gradient(145deg, #050B07 0%, #08120D 52%, #0A1810 100%);
  --u14-h-topbar: var(--u14-header-bg);
  --u14-h-panel: rgba(11, 21, 16, .975);
  --u14-h-panel-solid: var(--u14-surface);
  --u14-h-card: var(--u14-card);
  --u14-h-card-alt: var(--u14-card-alt);
  --u14-h-field: var(--u14-field-soft);
  --u14-h-field-soft: var(--u14-field);
  --u14-h-line: var(--u14-line);
  --u14-h-line-strong: var(--u14-line-strong);
  --u14-h-text: var(--u14-text);
  --u14-h-heading: var(--u14-heading);
  --u14-h-meta: var(--u14-muted);
  --u14-h-label: #D7EBDD;
  --u14-h-yellow: var(--u14-brand-yellow);
  --u14-h-green: #2EEB87;
  --u14-h-green-strong: #95F7B3;
  --u14-h-green-soft: rgba(0, 168, 80, .16);
  --u14-h-shadow-soft: var(--u14-shadow-soft);

  --ink: var(--u14-text);
  --muted: var(--u14-muted);
  --line: var(--u14-line);
  --yellow: var(--u14-brand-yellow);
  --green: var(--u14-brand-green);
  --dark-green: #95F7B3;
}

@media (prefers-color-scheme: dark) {
  html:not([data-u14-theme="light"]):not([data-u14-theme="dark"]) {
    color-scheme: dark !important;
    --u14-page: #050B07;
    --u14-page-2: #09120D;
    --u14-surface: #0B1510;
    --u14-surface-soft: #0F1D15;
    --u14-surface-tint: #13261A;
    --u14-card: #0F1F16;
    --u14-card-alt: #13261B;
    --u14-field: #09140E;
    --u14-field-soft: #102018;
    --u14-text: #F4FFF6;
    --u14-heading: #FFFFFF;
    --u14-muted: #BCD2C2;
    --u14-faint: #8FA99A;
    --u14-line: rgba(221, 246, 225, .155);
    --u14-line-strong: rgba(221, 246, 225, .265);
    --u14-shadow-soft: 0 14px 32px rgba(0, 0, 0, .34);
    --u14-shadow-card: 0 22px 62px rgba(0, 0, 0, .46);
    --u14-shadow-float: 0 34px 96px rgba(0, 0, 0, .58);
    --u14-header-bg: rgba(5, 11, 7, .992);
    --u14-focus: 0 0 0 4px rgba(255, 240, 1, .20);
    --u14-h-page: linear-gradient(145deg, #050B07 0%, #08120D 52%, #0A1810 100%);
    --u14-h-topbar: var(--u14-header-bg);
    --u14-h-panel: rgba(11, 21, 16, .975);
    --u14-h-panel-solid: var(--u14-surface);
    --u14-h-card: var(--u14-card);
    --u14-h-card-alt: var(--u14-card-alt);
    --u14-h-field: var(--u14-field-soft);
    --u14-h-field-soft: var(--u14-field);
    --u14-h-line: var(--u14-line);
    --u14-h-line-strong: var(--u14-line-strong);
    --u14-h-text: var(--u14-text);
    --u14-h-heading: var(--u14-heading);
    --u14-h-meta: var(--u14-muted);
    --u14-h-label: #D7EBDD;
    --u14-h-yellow: var(--u14-brand-yellow);
    --u14-h-green: #2EEB87;
    --u14-h-green-strong: #95F7B3;
    --u14-h-green-soft: rgba(0, 168, 80, .16);
    --u14-h-shadow-soft: var(--u14-shadow-soft);
    --ink: var(--u14-text);
    --muted: var(--u14-muted);
    --line: var(--u14-line);
    --yellow: var(--u14-brand-yellow);
    --green: var(--u14-brand-green);
    --dark-green: #95F7B3;
  }
}

html,
body,
.page-shell,
.app-panel,
.panel,
.match-card,
.shared-match-card,
.profile-card {
  min-width: 0 !important;
}

body {
  background:
    radial-gradient(circle at 8% -8%, color-mix(in srgb, var(--u14-brand-yellow) 10%, transparent) 0 17rem, transparent 33rem),
    radial-gradient(circle at 104% 9%, color-mix(in srgb, var(--u14-brand-green) 9%, transparent) 0 18rem, transparent 36rem),
    linear-gradient(145deg, var(--u14-page), var(--u14-page-2)) !important;
  color: var(--u14-text) !important;
  font-family: var(--u14-font-body) !important;
  line-height: 1.48 !important;
  overflow-x: hidden !important;
}
html[data-u14-effective-theme="dark"] body,
html[data-u14-theme="dark"] body {
  background:
    radial-gradient(circle at 5% -6%, rgba(255, 240, 1, .055) 0 17rem, transparent 34rem),
    radial-gradient(circle at 108% 7%, rgba(0, 168, 80, .105) 0 18rem, transparent 36rem),
    linear-gradient(145deg, #050B07 0%, #08120D 54%, #07140E 100%) !important;
}

main {
  width: min(var(--u14-content-max), calc(100vw - 2 * var(--u14-page-gutter))) !important;
  padding-top: clamp(10px, 2vw, 22px) !important;
  padding-bottom: clamp(28px, 5vw, 54px) !important;
}

h1,
h2,
h3,
.compact-teams,
.teams,
.leaderboard-mobile-main > strong,
.shared-tip-row > strong {
  color: var(--u14-heading) !important;
  text-wrap: balance;
}

p,
.muted,
.compact-helper,
.tips-section-head p,
.profile-card p,
.shared-empty {
  color: var(--u14-muted) !important;
  max-width: var(--u14-readable);
}

.topbar {
  align-items: center !important;
  background: var(--u14-header-bg) !important;
  border-bottom: 1px solid var(--u14-line) !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, .075) !important;
  gap: 10px !important;
  min-height: 56px !important;
  padding: 8px max(12px, env(safe-area-inset-left)) 8px max(12px, env(safe-area-inset-right)) !important;
  z-index: 60 !important;
}
html[data-u14-effective-theme="dark"] .topbar,
html[data-u14-theme="dark"] .topbar {
  box-shadow: 0 10px 32px rgba(0, 0, 0, .42) !important;
}
.brand {
  gap: 8px !important;
  min-width: 0 !important;
}
.brand-mark {
  border-width: 2px !important;
  box-shadow: 0 8px 18px rgba(0, 95, 49, .16) !important;
  flex: 0 0 auto !important;
}
.brand strong {
  display: block !important;
  line-height: 1.08 !important;
  max-width: min(24rem, 50vw) !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.brand small {
  color: var(--u14-muted) !important;
  font-size: 11px !important;
  line-height: 1.15 !important;
  max-width: min(24rem, 50vw) !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.topbar nav {
  flex: 0 1 auto !important;
  flex-wrap: nowrap !important;
  gap: 6px !important;
  justify-content: flex-end !important;
  min-width: 0 !important;
  overflow-x: auto !important;
  scrollbar-width: none !important;
}
.topbar nav::-webkit-scrollbar { display: none !important; }
.topbar nav a,
.linkbtn {
  align-items: center !important;
  border-radius: 999px !important;
  color: var(--dark-green) !important;
  display: inline-flex !important;
  font-size: .88rem !important;
  font-weight: 850 !important;
  min-height: 36px !important;
  padding: 0 11px !important;
  white-space: nowrap !important;
}
html[data-u14-effective-theme="dark"] .topbar nav a,
html[data-u14-effective-theme="dark"] .linkbtn,
html[data-u14-theme="dark"] .topbar nav a,
html[data-u14-theme="dark"] .linkbtn {
  color: #DFF9E7 !important;
}

.app-hero {
  background:
    radial-gradient(circle at 96% 18%, rgba(255, 240, 1, .80) 0 0.01rem, transparent 11rem),
    linear-gradient(130deg, #005F31 0%, #008846 54%, #00A850 100%) !important;
  border: 1px solid color-mix(in srgb, var(--u14-brand-yellow) 24%, transparent) !important;
  border-radius: clamp(20px, 4vw, 30px) !important;
  box-shadow: var(--u14-shadow-card) !important;
  margin-bottom: clamp(14px, 2.6vw, 22px) !important;
  padding: clamp(18px, 4.6vw, 30px) !important;
}
.app-hero::after {
  background: radial-gradient(circle, rgba(255,240,1,.95), rgba(255,240,1,.42) 45%, transparent 70%) !important;
  filter: blur(.2px) !important;
  opacity: .82 !important;
  transform: translate3d(0,0,0) !important;
}
.app-hero h1 {
  color: #FFFFFF !important;
  font-size: clamp(2rem, 7vw, 4.1rem) !important;
  letter-spacing: -.055em !important;
  line-height: .94 !important;
  max-width: 13ch !important;
  position: relative !important;
  z-index: 1 !important;
}
.app-hero p {
  color: rgba(255, 255, 255, .90) !important;
  font-size: clamp(.92rem, 2.5vw, 1.02rem) !important;
  max-width: 52rem !important;
  position: relative !important;
  z-index: 1 !important;
}
html[data-u14-effective-theme="dark"] .app-hero,
html[data-u14-theme="dark"] .app-hero {
  background:
    radial-gradient(circle at 97% 17%, rgba(255, 240, 1, .70) 0 0.01rem, transparent 10.5rem),
    linear-gradient(132deg, #063018 0%, #005F31 47%, #008846 100%) !important;
  border-color: rgba(255, 240, 1, .18) !important;
  box-shadow: 0 24px 80px rgba(0, 0, 0, .42), inset 0 1px 0 rgba(255,255,255,.10) !important;
}

.panel,
.app-panel,
.auth-card,
.profile-card,
.profile-push-card,
.push-panel,
.notification-panel,
.override-panel,
.privacy-prompt,
.admin-theme-switch,
.shared-panel,
.tips-summary-panel,
.leaderboard-note,
.round-leaderboard-card,
.table-wrap {
  background: color-mix(in srgb, var(--u14-surface) 97%, transparent) !important;
  border: 1px solid var(--u14-line) !important;
  border-radius: var(--u14-radius-xl) !important;
  box-shadow: var(--u14-shadow-soft) !important;
  color: var(--u14-text) !important;
}
html[data-u14-effective-theme="dark"] :where(.panel,.app-panel,.auth-card,.profile-card,.profile-push-card,.push-panel,.notification-panel,.override-panel,.privacy-prompt,.admin-theme-switch,.shared-panel,.tips-summary-panel,.leaderboard-note,.round-leaderboard-card,.table-wrap),
html[data-u14-theme="dark"] :where(.panel,.app-panel,.auth-card,.profile-card,.profile-push-card,.push-panel,.notification-panel,.override-panel,.privacy-prompt,.admin-theme-switch,.shared-panel,.tips-summary-panel,.leaderboard-note,.round-leaderboard-card,.table-wrap) {
  background: linear-gradient(180deg, rgba(14, 27, 20, .98), rgba(10, 19, 14, .98)) !important;
  border-color: var(--u14-line) !important;
}

.match-card,
.match-card.compact-match-card,
.input-match-card,
.summary-match-card,
.result-match-card,
.shared-match-card,
.shared-prediction-card,
.privacy-choice,
.bulk-person-row,
.match-group-card,
.leaderboard-mobile-row {
  background: linear-gradient(180deg, var(--u14-card), var(--u14-card-alt)) !important;
  border: 1px solid var(--u14-line) !important;
  border-radius: var(--u14-radius-lg) !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.055) !important;
  color: var(--u14-text) !important;
}
html[data-u14-effective-theme="dark"] :where(.match-card,.match-card.compact-match-card,.input-match-card,.summary-match-card,.result-match-card,.shared-match-card,.shared-prediction-card,.privacy-choice,.bulk-person-row,.match-group-card,.leaderboard-mobile-row),
html[data-u14-theme="dark"] :where(.match-card,.match-card.compact-match-card,.input-match-card,.summary-match-card,.result-match-card,.shared-match-card,.shared-prediction-card,.privacy-choice,.bulk-person-row,.match-group-card,.leaderboard-mobile-row) {
  background: linear-gradient(180deg, #101F16, #0C1711) !important;
  border-color: var(--u14-line) !important;
  box-shadow: 0 12px 34px rgba(0,0,0,.32) !important;
}

.match-card.live,
.compact-match-card.live,
.shared-match-card.live {
  border-color: color-mix(in srgb, var(--u14-brand-yellow) 56%, var(--u14-line)) !important;
  box-shadow: inset 4px 0 0 var(--u14-brand-yellow), var(--u14-shadow-soft) !important;
}
.input-match-card,
.compact-match-card.needs-tip {
  border-color: color-mix(in srgb, var(--u14-brand-yellow) 54%, var(--u14-line)) !important;
  box-shadow: inset 4px 0 0 var(--u14-brand-yellow), var(--u14-shadow-soft) !important;
}
.compact-match-card.finished,
.shared-match-card.finished {
  border-color: color-mix(in srgb, var(--u14-brand-green) 46%, var(--u14-line)) !important;
}
.compact-match-card.full-points,
.shared-points.full-points {
  box-shadow: inset 4px 0 0 #22C55E, var(--u14-shadow-soft) !important;
}
.compact-match-card.partial-points,
.shared-points.partial-points {
  box-shadow: inset 4px 0 0 #A3E635, var(--u14-shadow-soft) !important;
}
.compact-match-card.zero-points.finished {
  box-shadow: inset 4px 0 0 color-mix(in srgb, var(--u14-line-strong) 75%, transparent), var(--u14-shadow-soft) !important;
}

.tabs,
.shared-scope-list,
.theme-switch-row {
  gap: 8px !important;
}
.tab,
.shared-scope-chip,
.theme-switch-btn,
button.ghost,
.button.ghost {
  background: var(--u14-field-soft) !important;
  border: 1px solid var(--u14-line) !important;
  border-radius: 999px !important;
  color: var(--u14-text) !important;
  font-weight: 850 !important;
  min-height: var(--u14-touch) !important;
  box-shadow: none !important;
}
.tab.active,
.shared-scope-chip.active,
.theme-switch-btn.active,
.privacy-choice.active {
  background: var(--u14-brand-yellow) !important;
  border-color: color-mix(in srgb, var(--u14-brand-green) 55%, #B4A900) !important;
  color: #102017 !important;
  box-shadow: 0 10px 22px rgba(255, 240, 1, .16), inset 0 0 0 1px rgba(0, 95, 49, .16) !important;
}
button,
.button,
.primary,
button.small,
.button.small {
  border-radius: 999px !important;
  font-weight: 900 !important;
}
button:not(.ghost):not(.tab):not(.theme-switch-btn):not(.shared-scope-chip),
.button:not(.ghost) {
  box-shadow: 0 10px 22px rgba(0, 168, 80, .14) !important;
}
.hub button {
  min-height: var(--u14-touch) !important;
}
.hub button.selected {
  background: var(--u14-brand-yellow) !important;
  border-color: var(--u14-brand-green) !important;
  color: #102017 !important;
  box-shadow: inset 0 0 0 1px rgba(0, 95, 49, .22) !important;
}
.hub button.selected.result-ok {
  background: #DCFCE7 !important;
  border-color: #22C55E !important;
  color: #14532D !important;
}
.hub button.selected.result-bad {
  background: #FFF7ED !important;
  border-color: #FDBA74 !important;
  color: #7C2D12 !important;
}
html[data-u14-effective-theme="dark"] .hub button:not(.selected),
html[data-u14-theme="dark"] .hub button:not(.selected) {
  background: #0B1710 !important;
  border-color: rgba(221,246,225,.18) !important;
  color: #E7F7EC !important;
}

input,
select,
textarea,
.score-inputs input,
.mobile-score-inputs input {
  background: var(--u14-field) !important;
  border: 1px solid var(--u14-line) !important;
  border-radius: var(--u14-radius-sm) !important;
  color: var(--u14-text) !important;
  min-height: var(--u14-touch) !important;
  box-shadow: none !important;
}
input:focus,
select:focus,
textarea:focus,
button:focus-visible,
a:focus-visible {
  outline: none !important;
  box-shadow: var(--u14-focus) !important;
}
.input-label,
.prediction-label,
.tip-line > span,
.result-line span,
.points-summary span,
.summary-row span,
.result-main span,
.shared-match-result span,
.shared-points small {
  color: var(--u14-faint) !important;
  letter-spacing: .035em !important;
}

.match-day,
.compact-day {
  margin-block: clamp(14px, 2.4vw, 22px) !important;
}
.compact-day h3,
.tips-section-head h2,
.shared-prediction-list h3 {
  letter-spacing: .01em !important;
  line-height: 1.15 !important;
}
.compact-match-main,
.input-match-card .compact-match-main {
  gap: 12px !important;
  padding: clamp(12px, 3.2vw, 16px) !important;
}
.match-card-head,
.compact-match-top,
.shared-match-top {
  align-items: start !important;
  display: grid !important;
  gap: 10px !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
}
.compact-status,
.card-action {
  align-items: end !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 7px !important;
  justify-self: end !important;
  min-width: max-content !important;
}
.compact-meta,
.match-meta,
.compact-venue,
.deadline {
  color: var(--u14-muted) !important;
  font-size: .76rem !important;
  line-height: 1.35 !important;
}
.compact-teams,
.teams {
  font-weight: 950 !important;
  letter-spacing: -.025em !important;
  line-height: 1.12 !important;
  overflow-wrap: anywhere !important;
}
.compact-outcome {
  align-items: stretch !important;
  display: grid !important;
  gap: 9px !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, .9fr) minmax(82px, auto) !important;
}
.tip-line,
.result-line,
.points-summary,
.summary-row > div,
.result-main,
.tips-summary-panel > div,
.shared-match-result,
.shared-tip-value,
.bulk-current,
.bulk-new-tip,
.compact-editor,
.finished-hidden-note {
  background: var(--u14-field-soft) !important;
  border: 1px solid var(--u14-line) !important;
  color: var(--u14-text) !important;
}
html[data-u14-effective-theme="dark"] :where(.tip-line,.result-line,.points-summary,.summary-row > div,.result-main,.tips-summary-panel > div,.shared-match-result,.shared-tip-value,.bulk-current,.bulk-new-tip,.compact-editor,.finished-hidden-note),
html[data-u14-theme="dark"] :where(.tip-line,.result-line,.points-summary,.summary-row > div,.result-main,.tips-summary-panel > div,.shared-match-result,.shared-tip-value,.bulk-current,.bulk-new-tip,.compact-editor,.finished-hidden-note) {
  background: #0B1710 !important;
  border-color: rgba(221,246,225,.16) !important;
}
.tip-line > div,
.shared-tip-value {
  min-width: 0 !important;
}
.tip-chip {
  background: var(--u14-surface-tint) !important;
  border-color: var(--u14-line) !important;
  color: var(--u14-text) !important;
  font-weight: 950 !important;
}
.tip-chip.ok,
.badge.ok,
.points-summary.full-points,
.shared-points.full-points {
  background: color-mix(in srgb, #22C55E 18%, var(--u14-field-soft)) !important;
  border-color: color-mix(in srgb, #22C55E 45%, var(--u14-line)) !important;
  color: var(--u14-heading) !important;
}
.tip-chip.bad,
.badge.bad,
.badge.danger,
.points-summary.zero-points,
.shared-points.zero-points,
.shared-points.muted {
  background: color-mix(in srgb, #64748B 14%, var(--u14-field-soft)) !important;
  border-color: color-mix(in srgb, #94A3B8 36%, var(--u14-line)) !important;
  color: var(--u14-text) !important;
}
.tip-chip.missing,
.compact-missing,
.points-summary.live-points,
.shared-points.live-points {
  background: color-mix(in srgb, var(--u14-brand-yellow) 16%, var(--u14-field-soft)) !important;
  border-color: color-mix(in srgb, var(--u14-brand-yellow) 50%, var(--u14-line)) !important;
  color: var(--u14-heading) !important;
}

.shared-match-list,
.shared-tip-list {
  gap: 10px !important;
}
.shared-match-card {
  border-left: 4px solid color-mix(in srgb, var(--u14-brand-green) 36%, var(--u14-line)) !important;
  gap: 12px !important;
  padding: clamp(12px, 3vw, 16px) !important;
}
.shared-match-card.live {
  border-left-color: var(--u14-brand-yellow) !important;
}
.shared-match-card.finished {
  border-left-color: var(--u14-brand-green) !important;
}
.shared-match-result {
  min-width: 108px !important;
  padding: 8px 10px !important;
  text-align: right !important;
}
.shared-match-result strong {
  color: var(--u14-heading) !important;
  font-size: .98rem !important;
}
.shared-tip-row {
  align-items: center !important;
  background: color-mix(in srgb, var(--u14-field-soft) 92%, transparent) !important;
  border: 1px solid var(--u14-line) !important;
  border-radius: var(--u14-radius-md) !important;
  display: grid !important;
  gap: 8px !important;
  grid-template-columns: minmax(0, 1fr) minmax(88px, auto) minmax(68px, auto) !important;
  padding: 9px 10px !important;
}
.shared-tip-row > strong {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.shared-points {
  align-self: stretch !important;
  border-radius: 13px !important;
  min-width: 68px !important;
  padding: 5px 7px !important;
  place-content: center !important;
}
.shared-points strong {
  color: var(--u14-heading) !important;
  font-size: .88rem !important;
}
.shared-points small {
  font-size: .62rem !important;
}

.leaderboard-mobile-list {
  gap: 9px !important;
}
.leaderboard-mobile-row {
  grid-template-columns: 42px minmax(0, 1fr) minmax(60px, auto) !important;
  padding: 10px !important;
}
.leaderboard-mobile-rank,
.leaderboard-mobile-stats span,
.leaderboard-mobile-points {
  background: var(--u14-field-soft) !important;
  border-color: var(--u14-line) !important;
  color: var(--u14-text) !important;
}
.leaderboard-mobile-row.top-1 .leaderboard-mobile-points {
  background: color-mix(in srgb, var(--u14-brand-yellow) 23%, var(--u14-field-soft)) !important;
  border-color: color-mix(in srgb, var(--u14-brand-yellow) 60%, var(--u14-line)) !important;
  color: #102017 !important;
}
.leaderboard-mobile-points strong {
  font-size: clamp(1.24rem, 5vw, 1.46rem) !important;
}
.table-wrap.compact table th,
.table-wrap.compact table td,
th,
td {
  border-bottom-color: var(--u14-line) !important;
}
tr:nth-child(even) td {
  background: color-mix(in srgb, var(--u14-field-soft) 62%, transparent) !important;
}

.profile-panel {
  gap: clamp(12px, 2.5vw, 18px) !important;
}
.profile-card,
.profile-push-card .push-panel {
  padding: clamp(14px, 3.4vw, 20px) !important;
}
.profile-card h2,
.profile-push-card h2 {
  margin-bottom: 8px !important;
}
.switch-line {
  align-items: center !important;
  background: var(--u14-field-soft) !important;
  border: 1px solid var(--u14-line) !important;
  border-radius: var(--u14-radius-md) !important;
  display: grid !important;
  gap: 10px !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  padding: 10px 12px !important;
}
.switch-line strong {
  color: var(--u14-heading) !important;
}
.switch-line small {
  color: var(--u14-muted) !important;
}
.switch-line i {
  background: color-mix(in srgb, var(--u14-line-strong) 35%, var(--u14-field)) !important;
  border-color: var(--u14-line-strong) !important;
}
.switch-line input:checked + i {
  background: var(--u14-brand-green) !important;
  border-color: var(--u14-brand-green) !important;
}
.admin-theme-switch .theme-debug-grid {
  opacity: .72 !important;
}
.theme-switch-btn.debug-toggle:not(.active) {
  opacity: .82 !important;
}

.badge,
.pill,
.shared-user-chip,
.shared-scope-chip,
.participant-badge {
  border-radius: 999px !important;
  font-weight: 900 !important;
  letter-spacing: .01em !important;
}
.badge,
.pill,
.participant-badge {
  background: var(--u14-field-soft) !important;
  border: 1px solid var(--u14-line) !important;
  color: var(--u14-text) !important;
}
.badge.warn,
.tab.attention:not(.active) {
  background: color-mix(in srgb, var(--u14-brand-yellow) 14%, var(--u14-field-soft)) !important;
  border-color: color-mix(in srgb, var(--u14-brand-yellow) 45%, var(--u14-line)) !important;
  color: var(--u14-heading) !important;
}

@media (max-width: 900px) {
  .compact-outcome {
    grid-template-columns: 1fr !important;
  }
  .points-compact .points-summary {
    min-width: 0 !important;
    text-align: left !important;
  }
}

@media (max-width: 700px) {
  main {
    width: min(100vw - 2 * var(--u14-page-gutter), var(--u14-content-max)) !important;
  }
  .app-panel,
  .panel,
  .auth-card,
  .profile-card,
  .match-card.compact-match-card,
  .shared-match-card,
  .leaderboard-mobile-row {
    border-radius: 18px !important;
  }
  .app-hero {
    min-height: 132px !important;
  }
  .app-hero h1 {
    font-size: clamp(2rem, 8.2vw, 2.95rem) !important;
  }
  .tabs {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    overflow: visible !important;
  }
  .tabs .tab {
    min-width: 0 !important;
    padding-inline: 8px !important;
    width: 100% !important;
  }
  .match-card-head,
  .compact-match-top,
  .shared-match-top {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  .compact-status,
  .card-action {
    align-items: flex-start !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    justify-self: start !important;
    min-width: 0 !important;
  }
  .shared-match-result {
    justify-self: start !important;
    min-width: min(100%, 160px) !important;
    text-align: left !important;
  }
  .shared-tip-row {
    grid-template-columns: minmax(0, 1fr) auto !important;
  }
  .shared-tip-value {
    justify-content: flex-end !important;
  }
  .shared-points {
    grid-column: 1 / -1 !important;
    justify-self: stretch !important;
    min-height: 38px !important;
  }
  .leaderboard-mobile-row {
    grid-template-columns: 38px minmax(0, 1fr) minmax(58px, auto) !important;
    gap: 8px !important;
  }
  .leaderboard-mobile-stats {
    gap: 4px !important;
  }
  .leaderboard-mobile-stats span {
    padding: 3px 6px !important;
  }
  .tips-summary-panel {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 430px) {
  .topbar {
    padding-inline: 9px !important;
  }
  .brand-mark {
    height: 34px !important;
    width: 34px !important;
  }
  .brand strong {
    max-width: 42vw !important;
    font-size: .86rem !important;
  }
  .brand small {
    display: none !important;
  }
  .topbar nav a,
  .linkbtn {
    font-size: .80rem !important;
    min-height: 34px !important;
    padding-inline: 9px !important;
  }
  .tabs .tab,
  .shared-scope-chip,
  .theme-switch-btn {
    font-size: .82rem !important;
  }
  .tips-summary-panel {
    gap: 8px !important;
  }
  .tips-summary-panel strong {
    font-size: 1.04rem !important;
  }
  .mobile-score-inputs {
    gap: 6px !important;
  }
  .score-separator {
    padding-inline: 2px !important;
  }
}

@media (max-width: 370px) {
  .brand strong {
    max-width: 35vw !important;
  }
  .topbar nav a,
  .linkbtn {
    padding-inline: 7px !important;
  }
  .leaderboard-mobile-points {
    min-width: 54px !important;
  }
}
/* U14-UI-CSS-FINAL-POLISH-20260626-END */

/* U14-UI-CSS-PROFESSIONAL-POLISH-20260627-BEGIN */
/*
  v0.1.22d professional UI polish after detailed 22c screenshot review.

  Intent: make the UI feel calm, premium and fast to understand. This layer
  fixes the remaining screenshot issues: low readability in dark mode, over-
  eager green/yellow use, heavy borders, weird toggle knobs, ghosting behind
  sticky header, button states that disappear, and unclear table/shared-tip
  hierarchy. CSS only; no scoring/auth/DB/notification behavior changes.
*/

:root {
  --u14-brand-yellow: #FFF001;
  --u14-brand-green: #00A850;
  --u14-brand-green-deep: #006B36;
  --u14-brand-ink: #07140D;
  --u14-danger: #DC2626;
  --u14-warning: #F59E0B;
  --u14-info: #2563EB;
  --u14-radius-xs: 10px;
  --u14-radius-sm: 12px;
  --u14-radius-md: 16px;
  --u14-radius-lg: 22px;
  --u14-radius-xl: 30px;
  --u14-touch: 44px;
  --u14-gutter: clamp(12px, 2.8vw, 22px);
  --u14-ease: cubic-bezier(.2,.8,.2,1);
}

html[data-u14-effective-theme="light"],
html[data-u14-theme="light"],
html:not([data-u14-effective-theme]):not([data-u14-theme="dark"]) {
  --u14-page: #F7FAF1;
  --u14-page-warm: #FFFDEB;
  --u14-page-tint: #E8F6D4;
  --u14-surface: #FFFFFF;
  --u14-surface-2: #FBFDF7;
  --u14-surface-3: #F1F8EF;
  --u14-field: #FFFFFF;
  --u14-field-2: #F5FAF3;
  --u14-text: #0C1B12;
  --u14-heading: #07140D;
  --u14-muted: #50685A;
  --u14-subtle: #6E8173;
  --u14-line: #DCE9DC;
  --u14-line-strong: #BFD8C2;
  --u14-line-soft: rgba(0, 73, 32, .10);
  --u14-shadow-sm: 0 8px 22px rgba(20, 79, 38, .08);
  --u14-shadow-md: 0 18px 55px rgba(20, 79, 38, .12);
  --u14-shadow-lg: 0 30px 90px rgba(20, 79, 38, .16);
  --u14-topbar-bg: #FBFEF8;
  --u14-topbar-line: rgba(0, 104, 54, .14);
  --u14-chip: #EEF7EE;
  --u14-chip-line: #CFE3D0;
  --u14-chip-text: #123822;
  --u14-green-soft: #E8F8ED;
  --u14-yellow-soft: #FFFBDD;
  --u14-danger-soft: #FFF1F0;
  --u14-warning-soft: #FFF7D6;
}

html[data-u14-effective-theme="dark"],
html[data-u14-theme="dark"] {
  color-scheme: dark;
  --u14-page: #030806;
  --u14-page-warm: #081108;
  --u14-page-tint: #051D12;
  --u14-surface: #07130D;
  --u14-surface-2: #0B1A12;
  --u14-surface-3: #0F261A;
  --u14-field: #0B1710;
  --u14-field-2: #10251A;
  --u14-text: #F4FFF7;
  --u14-heading: #FFFFFF;
  --u14-muted: #BED2C4;
  --u14-subtle: #8FAA99;
  --u14-line: rgba(222, 246, 226, .14);
  --u14-line-strong: rgba(160, 229, 177, .30);
  --u14-line-soft: rgba(222, 246, 226, .08);
  --u14-shadow-sm: 0 10px 28px rgba(0,0,0,.34);
  --u14-shadow-md: 0 22px 70px rgba(0,0,0,.42);
  --u14-shadow-lg: 0 34px 110px rgba(0,0,0,.54);
  --u14-topbar-bg: #020604;
  --u14-topbar-line: rgba(222, 246, 226, .12);
  --u14-chip: #10251A;
  --u14-chip-line: rgba(160, 229, 177, .24);
  --u14-chip-text: #EAFBF0;
  --u14-green-soft: #0F301F;
  --u14-yellow-soft: #332F05;
  --u14-danger-soft: #2A1413;
  --u14-warning-soft: #2D250D;
}

@media (prefers-color-scheme: dark) {
  html:not([data-u14-effective-theme]):not([data-u14-theme="light"]) {
    color-scheme: dark;
    --u14-page: #030806;
    --u14-page-warm: #081108;
    --u14-page-tint: #051D12;
    --u14-surface: #07130D;
    --u14-surface-2: #0B1A12;
    --u14-surface-3: #0F261A;
    --u14-field: #0B1710;
    --u14-field-2: #10251A;
    --u14-text: #F4FFF7;
    --u14-heading: #FFFFFF;
    --u14-muted: #BED2C4;
    --u14-subtle: #8FAA99;
    --u14-line: rgba(222, 246, 226, .14);
    --u14-line-strong: rgba(160, 229, 177, .30);
    --u14-line-soft: rgba(222, 246, 226, .08);
    --u14-shadow-sm: 0 10px 28px rgba(0,0,0,.34);
    --u14-shadow-md: 0 22px 70px rgba(0,0,0,.42);
    --u14-shadow-lg: 0 34px 110px rgba(0,0,0,.54);
    --u14-topbar-bg: #020604;
    --u14-topbar-line: rgba(222, 246, 226, .12);
    --u14-chip: #10251A;
    --u14-chip-line: rgba(160, 229, 177, .24);
    --u14-chip-text: #EAFBF0;
    --u14-green-soft: #0F301F;
    --u14-yellow-soft: #332F05;
    --u14-danger-soft: #2A1413;
    --u14-warning-soft: #2D250D;
  }
}

html[data-u14-effective-theme] body,
html[data-u14-theme] body {
  background:
    radial-gradient(circle at 78% 0%, color-mix(in srgb, var(--u14-brand-yellow) 11%, transparent) 0 16rem, transparent 34rem),
    radial-gradient(circle at 0% 16%, color-mix(in srgb, var(--u14-brand-green) 10%, transparent) 0 16rem, transparent 36rem),
    linear-gradient(135deg, var(--u14-page), var(--u14-page-warm)) !important;
  color: var(--u14-text) !important;
  font-feature-settings: "kern" 1;
  text-rendering: optimizeLegibility;
}
html[data-u14-effective-theme="dark"] body,
html[data-u14-theme="dark"] body {
  background:
    radial-gradient(circle at 82% -5%, rgba(255,240,1,.055) 0 15rem, transparent 34rem),
    radial-gradient(circle at 8% 15%, rgba(0,168,80,.09) 0 18rem, transparent 40rem),
    linear-gradient(135deg, #030806 0%, #06120B 48%, #041109 100%) !important;
}

/* Top/sandbox: remove translucent ghosting and make sandbox text readable. */
.sandbox-banner {
  background: color-mix(in srgb, var(--u14-yellow-soft) 92%, var(--u14-surface)) !important;
  border: 1px dashed color-mix(in srgb, var(--u14-warning) 56%, var(--u14-line)) !important;
  box-shadow: none !important;
  color: var(--u14-heading) !important;
  font-weight: 800 !important;
  margin: 8px auto 0 !important;
  max-width: min(100% - 20px, 1360px) !important;
  padding: .46rem .82rem !important;
}
.sandbox-banner span { color: var(--u14-muted) !important; }
html[data-u14-effective-theme="dark"] .sandbox-banner,
html[data-u14-theme="dark"] .sandbox-banner {
  background: #D9D1AA !important;
  border-color: rgba(255,240,1,.55) !important;
  color: #0C120D !important;
}
html[data-u14-effective-theme="dark"] .sandbox-banner span,
html[data-u14-theme="dark"] .sandbox-banner span { color: #334338 !important; }

.topbar {
  background: var(--u14-topbar-bg) !important;
  backdrop-filter: none !important;
  border-bottom: 1px solid var(--u14-topbar-line) !important;
  box-shadow: 0 2px 0 rgba(0,0,0,.015), var(--u14-shadow-sm) !important;
  min-height: 64px !important;
  padding-block: 10px !important;
}
html[data-u14-effective-theme="dark"] .topbar,
html[data-u14-theme="dark"] .topbar { box-shadow: 0 1px 0 rgba(255,255,255,.04), 0 14px 42px rgba(0,0,0,.36) !important; }
.brand, .brand strong, .topbar nav a, .linkbtn { color: var(--u14-heading) !important; }
.brand small { color: var(--u14-muted) !important; }
.topbar nav a, .linkbtn {
  border: 1px solid transparent !important;
  border-radius: 999px !important;
  min-height: 38px !important;
  padding: 8px 12px !important;
}
.topbar nav a:hover, .linkbtn:hover {
  background: var(--u14-chip) !important;
  border-color: var(--u14-chip-line) !important;
}
.topbar nav a[aria-current="page"] {
  background: var(--u14-brand-yellow) !important;
  color: #07140D !important;
}

/* One predictable surface system. */
.panel, .app-panel, .auth-card, .profile-card, .profile-push-card, .push-panel,
.notification-panel, .override-panel, .privacy-prompt, .admin-theme-switch,
.shared-panel, .tips-summary-panel, .leaderboard-note, .round-leaderboard-card,
.table-wrap, .match-card, .match-card.compact-match-card, .shared-match-card,
.shared-prediction-card, .bulk-person-row, .match-group-card {
  border-color: var(--u14-line) !important;
  color: var(--u14-text) !important;
}
.panel, .app-panel, .auth-card, .profile-card, .profile-push-card, .push-panel,
.notification-panel, .override-panel, .privacy-prompt, .admin-theme-switch,
.shared-panel, .tips-summary-panel, .leaderboard-note, .round-leaderboard-card,
.table-wrap {
  background: color-mix(in srgb, var(--u14-surface) 94%, transparent) !important;
  box-shadow: var(--u14-shadow-md) !important;
}
.match-card, .match-card.compact-match-card, .shared-match-card,
.shared-prediction-card, .bulk-person-row, .match-group-card {
  background: linear-gradient(180deg, var(--u14-surface-2), var(--u14-surface)) !important;
  box-shadow: none !important;
}
html[data-u14-effective-theme="dark"] .match-card,
html[data-u14-theme="dark"] .match-card,
html[data-u14-effective-theme="dark"] .match-card.compact-match-card,
html[data-u14-theme="dark"] .match-card.compact-match-card,
html[data-u14-effective-theme="dark"] .shared-match-card,
html[data-u14-theme="dark"] .shared-match-card {
  background: linear-gradient(180deg, #0B1A12, #08140E) !important;
}

h1, h2, h3, h4, .teams, .compact-teams, .leaderboard-name,
.leaderboard-mobile-main > strong, .shared-tip-row > strong {
  color: var(--u14-heading) !important;
}
.muted, .small, .brand small, .match-meta, .compact-meta, .compact-venue,
.deadline, .input-hint, .save-status, .leaderboard-mobile-type,
.leaderboard-mobile-stats, .leaderboard-mobile-points span, .push-pref-line small,
.privacy-choice small, .bulk-person-meta, .bulk-current span, .bulk-new-tip > span,
.admin-theme-switch span, .theme-debug-summary {
  color: var(--u14-muted) !important;
}

/* Admin theme panel: useful, but no longer a visual hero. */
.admin-theme-switch {
  align-items: center !important;
  display: grid !important;
  gap: 12px 16px !important;
  grid-template-columns: minmax(130px, .55fr) minmax(180px, auto) minmax(200px, auto) minmax(220px, 1fr) !important;
  padding: clamp(12px, 2vw, 16px) !important;
}
.admin-theme-switch > div:first-child strong {
  display: block !important;
  font-size: .98rem !important;
  margin-bottom: 3px !important;
}
.admin-theme-switch > div:first-child span {
  display: block !important;
  font-size: .78rem !important;
  line-height: 1.35 !important;
}
.theme-switch-buttons, .theme-debug-controls {
  align-items: center !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}
.theme-switch-btn, .shared-scope-chip, .tab, button.ghost, .button.ghost,
.show-more-row .button, .privacy-choice, .card-action button {
  background: var(--u14-chip) !important;
  border: 1px solid var(--u14-chip-line) !important;
  color: var(--u14-chip-text) !important;
  box-shadow: none !important;
}
.theme-switch-btn.active, .tab.active, .shared-scope-chip.active,
.privacy-choice.active {
  background: var(--u14-brand-yellow) !important;
  border-color: color-mix(in srgb, var(--u14-brand-yellow) 44%, var(--u14-brand-green)) !important;
  color: #07140D !important;
  box-shadow: 0 8px 18px rgba(255,240,1,.16) !important;
}
.theme-switch-btn.debug-toggle:not(.active) {
  opacity: .78 !important;
}
.theme-debug-summary {
  margin: 0 !important;
  max-width: 42ch !important;
}
.theme-debug-grid {
  background: var(--u14-field) !important;
  border: 1px solid var(--u14-line) !important;
  border-radius: var(--u14-radius-md) !important;
  display: grid !important;
  gap: 6px !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  max-height: 170px !important;
  overflow: auto !important;
  padding: 10px !important;
}

/* Buttons: make primary/disabled/ghost states obvious in both themes. */
button, .button, input, select, textarea, .theme-switch-btn {
  transition: background .16s var(--u14-ease), border-color .16s var(--u14-ease), color .16s var(--u14-ease), transform .16s var(--u14-ease), box-shadow .16s var(--u14-ease) !important;
}
button.primary, .button.primary, .primary:not(.tab):not(.theme-switch-btn),
.input-card-footer .primary.small {
  background: linear-gradient(180deg, #0AC765, var(--u14-brand-green)) !important;
  border-color: color-mix(in srgb, var(--u14-brand-green) 78%, #FFFFFF) !important;
  color: #FFFFFF !important;
  box-shadow: 0 12px 28px rgba(0,168,80,.22) !important;
}
button.primary:hover, .button.primary:hover, .primary:not(.tab):not(.theme-switch-btn):hover {
  transform: translateY(-1px) !important;
}
button:disabled, .button:disabled, button[disabled], .button[aria-disabled="true"] {
  background: color-mix(in srgb, var(--u14-field-2) 86%, var(--u14-surface)) !important;
  border-color: var(--u14-line) !important;
  box-shadow: none !important;
  color: var(--u14-subtle) !important;
  cursor: not-allowed !important;
  opacity: .72 !important;
  transform: none !important;
}
button.danger, .button.danger {
  background: #B91C1C !important;
  border-color: #EF4444 !important;
  color: #fff !important;
}

/* Tabs and summary bars. */
.tabs {
  background: color-mix(in srgb, var(--u14-surface) 80%, transparent) !important;
  border: 1px solid var(--u14-line) !important;
  border-radius: 999px !important;
  box-shadow: var(--u14-shadow-sm) !important;
  gap: 8px !important;
  padding: 6px !important;
}
.tabs .tab {
  border-radius: 999px !important;
  font-weight: 950 !important;
  min-height: 46px !important;
}
.tab.active {
  transform: none !important;
}
.leaderboard-note,
.prediction-guidance,
.tips-guidance,
.tips-summary-note,
.finished-hidden-note {
  background: color-mix(in srgb, var(--u14-field-2) 92%, var(--u14-surface)) !important;
  border: 1px solid var(--u14-line) !important;
  color: var(--u14-text) !important;
}

/* Hero: strong brand, but not noisy or covering text. */
.app-hero {
  background: linear-gradient(124deg, #006B36 0%, #009A4D 48%, #10B95E 72%, #C9E600 100%) !important;
  border: 1px solid color-mix(in srgb, var(--u14-brand-green) 55%, #001A0D) !important;
  box-shadow: var(--u14-shadow-lg) !important;
}
html[data-u14-effective-theme="dark"] .app-hero,
html[data-u14-theme="dark"] .app-hero {
  background: linear-gradient(124deg, #00572D 0%, #007E41 52%, #14A955 76%, #A8CE00 100%) !important;
}
.app-hero::after { opacity: .62 !important; filter: blur(1px) saturate(.9) !important; }
.app-hero h1, .app-hero p { text-shadow: 0 1px 2px rgba(0,0,0,.18) !important; }

/* Stats/status cards: green should not always mean OK. */
.stat, .tips-summary-panel > div, .push-pref-card {
  background: var(--u14-field-2) !important;
  border: 1px solid var(--u14-line) !important;
  box-shadow: none !important;
}
.stat strong, .tips-summary-panel strong, .push-pref-card strong {
  color: color-mix(in srgb, var(--u14-brand-green) 74%, var(--u14-heading)) !important;
}
html[data-u14-effective-theme="dark"] .stat strong,
html[data-u14-theme="dark"] .stat strong,
html[data-u14-effective-theme="dark"] .tips-summary-panel strong,
html[data-u14-theme="dark"] .tips-summary-panel strong,
html[data-u14-effective-theme="dark"] .push-pref-card strong,
html[data-u14-theme="dark"] .push-pref-card strong {
  color: #9CF4B0 !important;
}

/* Prediction cards: fewer full yellow borders, clearer inputs and actions. */
.match-card.compact-match-card,
.input-match-card,
.summary-match-card,
.result-match-card {
  border-radius: var(--u14-radius-lg) !important;
  overflow: hidden !important;
}
.match-card.compact-match-card.needs-tip,
.input-match-card.needs-tip {
  border-color: color-mix(in srgb, var(--u14-warning) 42%, var(--u14-line)) !important;
  border-left: 6px solid color-mix(in srgb, var(--u14-brand-yellow) 82%, var(--u14-warning)) !important;
  box-shadow: none !important;
}
html[data-u14-effective-theme="dark"] .match-card.compact-match-card.needs-tip,
html[data-u14-theme="dark"] .match-card.compact-match-card.needs-tip,
html[data-u14-effective-theme="dark"] .input-match-card.needs-tip,
html[data-u14-theme="dark"] .input-match-card.needs-tip {
  border-color: rgba(255,240,1,.34) !important;
  border-left-color: var(--u14-brand-yellow) !important;
}
.compact-match-main, .input-match-card .compact-match-main {
  gap: 14px !important;
}
.match-card-head, .compact-match-top, .shared-match-top {
  gap: 12px !important;
}
.input-block, .compact-editor, .mobile-score-inputs, .hub-choice, .hub {
  border-color: var(--u14-line) !important;
}
.input-block, .compact-editor {
  background: color-mix(in srgb, var(--u14-field-2) 88%, var(--u14-surface)) !important;
  border: 1px solid var(--u14-line) !important;
  border-radius: var(--u14-radius-lg) !important;
}
.hub button {
  background: var(--u14-field) !important;
  border: 1px solid var(--u14-line-strong) !important;
  color: var(--u14-heading) !important;
  min-height: var(--u14-touch) !important;
}
html[data-u14-effective-theme="dark"] .hub button:not(.selected),
html[data-u14-theme="dark"] .hub button:not(.selected) {
  background: #0A140E !important;
  border-color: rgba(222,246,226,.20) !important;
  color: #EAFBF0 !important;
}
.hub button.selected {
  background: var(--u14-brand-yellow) !important;
  border-color: color-mix(in srgb, var(--u14-brand-yellow) 72%, var(--u14-brand-green)) !important;
  color: #07140D !important;
  box-shadow: inset 0 -2px 0 rgba(0,0,0,.12), 0 8px 16px rgba(255,240,1,.14) !important;
}
.hub button.selected.result-ok,
.hub button.selected.result-bad { background: var(--u14-brand-yellow) !important; color: #07140D !important; }
.mobile-score-inputs {
  background: var(--u14-field) !important;
  border: 1px solid var(--u14-line) !important;
  border-radius: var(--u14-radius-lg) !important;
}
.mobile-score-inputs label {
  background: transparent !important;
}
.mobile-score-inputs input,
input[type="number"],
input[type="text"],
select, textarea {
  background: var(--u14-surface) !important;
  border: 1px solid var(--u14-line-strong) !important;
  color: var(--u14-heading) !important;
  min-height: var(--u14-touch) !important;
}
html[data-u14-effective-theme="dark"] .mobile-score-inputs input,
html[data-u14-theme="dark"] .mobile-score-inputs input,
html[data-u14-effective-theme="dark"] input[type="number"],
html[data-u14-theme="dark"] input[type="number"],
html[data-u14-effective-theme="dark"] input[type="text"],
html[data-u14-theme="dark"] input[type="text"],
html[data-u14-effective-theme="dark"] select,
html[data-u14-theme="dark"] select,
html[data-u14-effective-theme="dark"] textarea,
html[data-u14-theme="dark"] textarea {
  background: #0F1D14 !important;
  border-color: rgba(222,246,226,.24) !important;
  color: #FFFFFF !important;
}
.mobile-score-inputs label span, .input-label, .prediction-label {
  color: var(--u14-heading) !important;
  opacity: .92 !important;
}
.score-separator {
  background: var(--u14-field-2) !important;
  border: 1px solid var(--u14-line) !important;
  color: var(--u14-heading) !important;
}
.input-card-footer {
  align-items: center !important;
  display: grid !important;
  gap: 10px !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
}
.input-card-footer .primary.small {
  justify-self: end !important;
  min-width: 112px !important;
  white-space: nowrap !important;
}

/* Shared predictions: scan like a clean list, not colored confetti. */
.shared-panel { gap: 18px !important; }
.shared-head { align-items: start !important; gap: 16px !important; }
.shared-head .button { flex: 0 0 auto !important; }
.shared-match-card {
  border-left-width: 5px !important;
  gap: 12px !important;
  padding: clamp(14px, 2.8vw, 18px) !important;
}
.shared-match-card.finished { border-left-color: var(--u14-brand-green) !important; }
.shared-match-card.live { border-left-color: var(--u14-brand-yellow) !important; }
.shared-match-top {
  border-bottom: 1px solid var(--u14-line-soft) !important;
  padding-bottom: 10px !important;
}
.shared-match-result {
  background: var(--u14-field) !important;
  border: 1px solid var(--u14-line) !important;
  border-radius: var(--u14-radius-md) !important;
  min-width: 118px !important;
  padding: 9px 11px !important;
}
.shared-match-result span {
  color: var(--u14-muted) !important;
  font-size: .70rem !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}
.shared-match-result strong {
  color: var(--u14-heading) !important;
}
.shared-tip-list { gap: 8px !important; }
.shared-tip-row {
  background: color-mix(in srgb, var(--u14-field) 88%, transparent) !important;
  border: 1px solid var(--u14-line-soft) !important;
  border-radius: 14px !important;
  grid-template-columns: minmax(150px, 1fr) minmax(110px, auto) minmax(74px, auto) !important;
  min-height: 50px !important;
  padding: 8px 10px !important;
}
.shared-tip-value {
  background: transparent !important;
  border: 0 !important;
  justify-content: flex-end !important;
}
.tip-chip {
  background: var(--u14-chip) !important;
  border-color: var(--u14-chip-line) !important;
  color: var(--u14-chip-text) !important;
}
.tip-chip.hub {
  min-width: 30px !important;
}
.tip-chip.score {
  border-radius: 999px !important;
  min-width: 48px !important;
  justify-content: center !important;
}
.tip-chip.ok, .tip-chip.bad, .tip-chip.missing,
.shared-points.full-points, .shared-points.partial-points,
.shared-points.live-points, .shared-points.zero-points, .shared-points.muted {
  color: var(--u14-heading) !important;
}
.tip-chip.ok, .shared-points.full-points {
  background: color-mix(in srgb, var(--u14-brand-green) 22%, var(--u14-field)) !important;
  border-color: color-mix(in srgb, var(--u14-brand-green) 46%, var(--u14-line)) !important;
}
.tip-chip.bad, .shared-points.zero-points, .shared-points.muted {
  background: color-mix(in srgb, #94A3B8 13%, var(--u14-field)) !important;
  border-color: color-mix(in srgb, #94A3B8 38%, var(--u14-line)) !important;
}
.shared-points.partial-points, .shared-points.live-points {
  background: color-mix(in srgb, var(--u14-brand-yellow) 20%, var(--u14-field)) !important;
  border-color: color-mix(in srgb, var(--u14-brand-yellow) 55%, var(--u14-line)) !important;
}
.shared-points {
  align-self: center !important;
  border-radius: 999px !important;
  min-width: 70px !important;
  padding: 6px 9px !important;
}
.shared-points small { letter-spacing: .07em !important; }
.shared-empty, .shared-empty.compact {
  background: color-mix(in srgb, var(--u14-field-2) 86%, transparent) !important;
  border: 1px dashed var(--u14-line-strong) !important;
  color: var(--u14-muted) !important;
  font-weight: 850 !important;
}
html[data-u14-effective-theme="dark"] .shared-empty,
html[data-u14-theme="dark"] .shared-empty,
html[data-u14-effective-theme="dark"] .shared-empty.compact,
html[data-u14-theme="dark"] .shared-empty.compact {
  background: rgba(255,255,255,.035) !important;
  border-color: rgba(222,246,226,.18) !important;
}

/* Leaderboard: stop huge pill overlap and make tables easier to scan. */
.leaderboard-main-wrap.table-wrap {
  overflow-x: auto !important;
}
.leaderboard-main-table {
  background: var(--u14-surface) !important;
  min-width: 720px !important;
}
.leaderboard-main-table th {
  background: linear-gradient(180deg, #007A3E, #006B36) !important;
  border-bottom: 0 !important;
  color: #FFFFFF !important;
  font-size: .78rem !important;
  letter-spacing: .02em !important;
}
.leaderboard-main-table td {
  background: transparent !important;
  border-bottom: 1px solid var(--u14-line-soft) !important;
  color: var(--u14-text) !important;
  height: 48px !important;
  vertical-align: middle !important;
}
.leaderboard-main-table tr:nth-child(even) td {
  background: color-mix(in srgb, var(--u14-field-2) 55%, transparent) !important;
}
.leaderboard-main-table .leaderboard-points {
  background: transparent !important;
  border: 0 !important;
  color: var(--u14-heading) !important;
  min-width: auto !important;
  padding-inline: 12px !important;
  text-align: left !important;
}
.leaderboard-main-table .leaderboard-points strong {
  color: color-mix(in srgb, var(--u14-brand-green) 72%, var(--u14-heading)) !important;
  font-size: 1.05rem !important;
}
.leaderboard-hub, .leaderboard-exact {
  color: var(--u14-text) !important;
  font-weight: 850 !important;
}
.round-leaderboards {
  background: transparent !important;
  border: 0 !important;
}
.round-leaderboard-card {
  background: color-mix(in srgb, var(--u14-surface) 92%, transparent) !important;
  box-shadow: none !important;
}
.round-leaderboard-card .table-wrap.compact {
  box-shadow: none !important;
}
.table-wrap.compact table {
  background: transparent !important;
}
.table-wrap.compact th {
  background: #007A3E !important;
  color: #fff !important;
}
.table-wrap.compact td {
  color: var(--u14-text) !important;
}

/* Profile/settings: toggles must stay inside row and be readable. */
.profile-panel { max-width: 1040px !important; }
.profile-card, .profile-push-card .push-panel {
  border-radius: var(--u14-radius-xl) !important;
}
.switch-line, .push-pref-line {
  align-items: center !important;
  background: var(--u14-field-2) !important;
  border: 1px solid var(--u14-line) !important;
  border-radius: var(--u14-radius-md) !important;
  display: grid !important;
  gap: 12px !important;
  grid-template-columns: minmax(0, 1fr) 56px !important;
  overflow: hidden !important;
  padding: 10px 12px !important;
  position: relative !important;
}
.switch-line input, .push-pref-line input {
  height: 1px !important;
  opacity: 0 !important;
  overflow: hidden !important;
  position: absolute !important;
  right: 12px !important;
  top: 12px !important;
  width: 1px !important;
}
.switch-line i, .push-pref-line i {
  align-self: center !important;
  background: color-mix(in srgb, var(--u14-subtle) 24%, var(--u14-field)) !important;
  border: 1px solid var(--u14-line-strong) !important;
  border-radius: 999px !important;
  display: block !important;
  height: 30px !important;
  justify-self: end !important;
  overflow: hidden !important;
  position: relative !important;
  width: 54px !important;
}
.switch-line i::after, .push-pref-line i::after {
  background: #FFFFFF !important;
  border-radius: 999px !important;
  box-shadow: 0 2px 7px rgba(0,0,0,.25) !important;
  content: "" !important;
  height: 24px !important;
  left: 2px !important;
  position: absolute !important;
  top: 2px !important;
  transform: translateX(0) !important;
  transition: transform .18s var(--u14-ease) !important;
  width: 24px !important;
}
.switch-line input:checked + i, .push-pref-line input:checked + i {
  background: var(--u14-brand-green) !important;
  border-color: color-mix(in srgb, var(--u14-brand-green) 82%, #FFFFFF) !important;
}
.switch-line input:checked + i::after, .push-pref-line input:checked + i::after {
  transform: translateX(24px) !important;
}
.warn-text {
  background: color-mix(in srgb, var(--u14-warning) 18%, var(--u14-warning-soft)) !important;
  border: 1px solid color-mix(in srgb, var(--u14-warning) 55%, var(--u14-line)) !important;
  border-radius: var(--u14-radius-sm) !important;
  color: var(--u14-heading) !important;
  display: block !important;
  padding: 8px 10px !important;
}

/* Small-screen robustness. */
@media (max-width: 980px) {
  .admin-theme-switch {
    grid-template-columns: 1fr !important;
  }
  .theme-debug-summary { max-width: none !important; }
}
@media (max-width: 760px) {
  main {
    width: min(100vw - 18px, var(--u14-content-max, 1120px)) !important;
    padding-top: 12px !important;
  }
  .topbar {
    align-items: stretch !important;
    gap: 8px !important;
    padding: 9px !important;
  }
  .topbar nav {
    justify-content: flex-start !important;
    overflow-x: auto !important;
    padding-bottom: 2px !important;
  }
  .topbar nav a, .linkbtn {
    flex: 0 0 auto !important;
  }
  .app-panel, .panel, .auth-card, .profile-card, .match-card.compact-match-card,
  .shared-match-card, .leaderboard-mobile-row {
    border-radius: 18px !important;
  }
  .tabs {
    border-radius: 22px !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    padding: 5px !important;
  }
  .tabs .tab { min-height: 42px !important; }
  .stat-row, .tips-summary-panel {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .match-grid, .compact-match-list {
    grid-template-columns: 1fr !important;
  }
  .shared-match-top {
    grid-template-columns: 1fr !important;
  }
  .shared-match-result {
    justify-self: start !important;
    min-width: 0 !important;
    text-align: left !important;
  }
  .shared-tip-row {
    grid-template-columns: minmax(0, 1fr) auto !important;
  }
  .shared-tip-value {
    justify-content: flex-end !important;
  }
  .shared-points {
    grid-column: 1 / -1 !important;
    justify-self: stretch !important;
  }
  .input-card-footer {
    grid-template-columns: 1fr !important;
  }
  .input-card-footer .primary.small {
    justify-self: stretch !important;
    width: 100% !important;
  }
}
@media (max-width: 430px) {
  .brand strong { max-width: 48vw !important; }
  .tabs, .stat-row, .tips-summary-panel {
    grid-template-columns: 1fr !important;
  }
  .mobile-score-inputs {
    grid-template-columns: 1fr auto 1fr !important;
    gap: 6px !important;
    padding: 8px !important;
  }
  .mobile-score-inputs input { padding-inline: 8px !important; }
  .score-separator { min-width: 32px !important; }
  .shared-scope-list {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }
  .shared-scope-chip { width: 100% !important; }
}

/* U14-UI-CSS-PROFESSIONAL-POLISH-20260627-END */

/* U14-UI-CSS-USABILITY-POLISH-20260627-BEGIN */
/*
  v0.1.22e: one-concern-at-a-time usability polish.

  Goals from manual sandbox review:
  - Move the tactical HUB/result explanation out of a loud full-width note and into a small accessible info popover.
  - Move "Skjul ferdigspilte kamper" down to the finished-match section where it belongs.
  - Put the "Vis etter kampen" missing-tips snooze action in the Utestående tips header.
  - Make pending/ready tips neutral, not red-ish.
  - Make result-aware HUB/score/points colours consistent across Mine tips, Livetabell and Delte tips.
  - Calm down dark mode: fewer green backgrounds, stronger text, visible ghost buttons, neutral table stats.
  - Remove overdesigned pills around score input labels/separator.
*/

:root {
  --u14-score-zero-bg: #FFF1F2;
  --u14-score-zero-line: #FDA4AF;
  --u14-score-zero-text: #7F1D1D;
  --u14-score-hub-bg: #FFF7CC;
  --u14-score-hub-line: #EAB308;
  --u14-score-hub-text: #5A4200;
  --u14-score-score-bg: #E9FBEF;
  --u14-score-score-line: #74D99A;
  --u14-score-score-text: #14532D;
  --u14-score-full-bg: #D9FBE6;
  --u14-score-full-line: #00A850;
  --u14-score-full-text: #05371C;
  --u14-neutral-chip-bg: #F3F6F0;
  --u14-neutral-chip-line: #D7E2D6;
  --u14-neutral-chip-text: #0D1B12;
}

html[data-u14-effective-theme="dark"],
html[data-u14-theme="dark"] {
  --u14-page: #030504;
  --u14-page-warm: #060807;
  --u14-page-tint: #07110C;
  --u14-surface: #0A0E0B;
  --u14-surface-2: #101612;
  --u14-surface-3: #151D18;
  --u14-field: #0F1511;
  --u14-field-2: #151D18;
  --u14-text: #F4F8F4;
  --u14-heading: #FFFFFF;
  --u14-muted: #C5D0C7;
  --u14-subtle: #99A99D;
  --u14-line: rgba(246, 255, 247, .13);
  --u14-line-strong: rgba(246, 255, 247, .22);
  --u14-line-soft: rgba(246, 255, 247, .075);
  --u14-chip: #151D18;
  --u14-chip-line: rgba(246, 255, 247, .18);
  --u14-chip-text: #F2F7F2;
  --u14-neutral-chip-bg: #171F19;
  --u14-neutral-chip-line: rgba(246,255,247,.18);
  --u14-neutral-chip-text: #F5FAF5;
  --u14-score-zero-bg: #311819;
  --u14-score-zero-line: #B95E65;
  --u14-score-zero-text: #FFD7DA;
  --u14-score-hub-bg: #332C12;
  --u14-score-hub-line: #D5B820;
  --u14-score-hub-text: #FFF0A3;
  --u14-score-score-bg: #143121;
  --u14-score-score-line: #4FB979;
  --u14-score-score-text: #C8F7D8;
  --u14-score-full-bg: #103C25;
  --u14-score-full-line: #2DDB72;
  --u14-score-full-text: #D9FFE5;
}

@media (prefers-color-scheme: dark) {
  html:not([data-u14-effective-theme]):not([data-u14-theme="light"]) {
    --u14-page: #030504;
    --u14-page-warm: #060807;
    --u14-page-tint: #07110C;
    --u14-surface: #0A0E0B;
    --u14-surface-2: #101612;
    --u14-surface-3: #151D18;
    --u14-field: #0F1511;
    --u14-field-2: #151D18;
    --u14-text: #F4F8F4;
    --u14-heading: #FFFFFF;
    --u14-muted: #C5D0C7;
    --u14-subtle: #99A99D;
    --u14-line: rgba(246, 255, 247, .13);
    --u14-line-strong: rgba(246, 255, 247, .22);
    --u14-line-soft: rgba(246, 255, 247, .075);
    --u14-chip: #151D18;
    --u14-chip-line: rgba(246, 255, 247, .18);
    --u14-chip-text: #F2F7F2;
    --u14-neutral-chip-bg: #171F19;
    --u14-neutral-chip-line: rgba(246,255,247,.18);
    --u14-neutral-chip-text: #F5FAF5;
    --u14-score-zero-bg: #311819;
    --u14-score-zero-line: #B95E65;
    --u14-score-zero-text: #FFD7DA;
    --u14-score-hub-bg: #332C12;
    --u14-score-hub-line: #D5B820;
    --u14-score-hub-text: #FFF0A3;
    --u14-score-score-bg: #143121;
    --u14-score-score-line: #4FB979;
    --u14-score-score-text: #C8F7D8;
    --u14-score-full-bg: #103C25;
    --u14-score-full-line: #2DDB72;
    --u14-score-full-text: #D9FFE5;
  }
}

html[data-u14-effective-theme="dark"] body,
html[data-u14-theme="dark"] body {
  background:
    radial-gradient(circle at 80% -6%, rgba(255,240,1,.045) 0 13rem, transparent 31rem),
    radial-gradient(circle at 0% 8%, rgba(0,168,80,.055) 0 15rem, transparent 35rem),
    linear-gradient(140deg, #030504 0%, #060807 58%, #040705 100%) !important;
}

/* Replace the loud tactical helper paragraph with a small help control. */
.helper-note.compact-helper { display: none !important; }
.tips-context-row {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  margin: -2px 0 10px !important;
  min-height: 34px !important;
}
.tip-help-popover {
  position: relative !important;
  margin-left: auto !important;
  z-index: 6 !important;
}
.tip-help-popover > summary {
  list-style: none !important;
  width: 34px !important;
  height: 34px !important;
  border-radius: 999px !important;
  display: grid !important;
  place-items: center !important;
  cursor: pointer !important;
  font-weight: 950 !important;
  font-size: .95rem !important;
  color: #082011 !important;
  background: var(--u14-brand-yellow) !important;
  border: 1px solid color-mix(in srgb, var(--u14-brand-yellow) 70%, #7B6500) !important;
  box-shadow: 0 8px 20px rgba(0,0,0,.10) !important;
}
.tip-help-popover > summary::-webkit-details-marker { display: none !important; }
.tip-help-popover[open] > summary { transform: translateY(1px) !important; }
.tip-help-popover .tip-help-popover-body {
  position: absolute !important;
  right: 0 !important;
  top: calc(100% + 10px) !important;
  width: min(82vw, 330px) !important;
  padding: 12px 13px !important;
  border-radius: 16px !important;
  background: var(--u14-surface) !important;
  border: 1px solid var(--u14-line-strong) !important;
  box-shadow: var(--u14-shadow-md) !important;
  color: var(--u14-text) !important;
  font-size: .9rem !important;
  line-height: 1.42 !important;
}
.tip-help-popover .tip-help-popover-body strong {
  display: block !important;
  margin-bottom: 4px !important;
  color: var(--u14-heading) !important;
}
.tip-help-popover .tip-help-popover-body p { margin: 0 !important; color: var(--u14-muted) !important; }

/* Section headers: actions belong in header, not after cards. */
.tips-section-head {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) auto !important;
  gap: 10px 12px !important;
  align-items: start !important;
}
.tips-section-head > span:not(.tips-section-action) {
  justify-self: end !important;
  white-space: nowrap !important;
}
.tips-section-action {
  justify-self: end !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}
.tips-section-action .button,
.finished-section-toggle .button,
.show-more-row .button,
button.ghost.small,
a.button.ghost.small {
  min-height: 38px !important;
  border: 1px solid var(--u14-line-strong) !important;
  background: color-mix(in srgb, var(--u14-surface) 86%, var(--u14-chip)) !important;
  color: var(--u14-heading) !important;
  box-shadow: none !important;
}
.tips-section-action .button:hover,
.finished-section-toggle .button:hover,
.show-more-row .button:hover,
button.ghost.small:hover,
a.button.ghost.small:hover {
  border-color: color-mix(in srgb, var(--u14-brand-green) 45%, var(--u14-line-strong)) !important;
  background: color-mix(in srgb, var(--u14-brand-green) 8%, var(--u14-surface)) !important;
}

.finished-section-shell {
  margin-top: 14px !important;
}
.finished-section-shell .tips-section {
  margin-top: 0 !important;
}
.finished-section-toggle {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  margin: 0 0 10px !important;
  padding: 10px 12px !important;
  border-radius: 16px !important;
  background: color-mix(in srgb, var(--u14-surface-2) 86%, transparent) !important;
  border: 1px solid var(--u14-line) !important;
}
.finished-section-toggle span {
  color: var(--u14-muted) !important;
  font-size: .86rem !important;
  line-height: 1.25 !important;
}
.finished-hidden-note { display: none !important; }

/* Score input controls: no mini-pills around labels or separator. */
.mobile-score-inputs {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  gap: 8px !important;
}
.mobile-score-inputs label {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}
.mobile-score-inputs label span {
  display: block !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: var(--u14-muted) !important;
  font-size: .75rem !important;
  font-weight: 800 !important;
  letter-spacing: .01em !important;
  margin: 0 0 5px !important;
  padding: 0 !important;
  text-align: left !important;
  white-space: nowrap !important;
}
.score-separator {
  align-self: end !important;
  width: auto !important;
  min-width: 16px !important;
  height: 42px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: var(--u14-subtle) !important;
  font-weight: 900 !important;
  display: grid !important;
  place-items: center !important;
}
.mobile-score-inputs input {
  height: 42px !important;
  border: 1px solid var(--u14-line-strong) !important;
  background: var(--u14-field) !important;
  color: var(--u14-heading) !important;
  font-weight: 900 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.03) !important;
}

/* Pending/ready tips: neutral, not red-ish. Result-aware states still use semantic colours. */
.tip-chip {
  min-width: 38px !important;
  min-height: 30px !important;
  border-radius: 999px !important;
  display: inline-grid !important;
  place-items: center !important;
  font-weight: 950 !important;
  letter-spacing: .01em !important;
  border: 1px solid var(--u14-neutral-chip-line) !important;
  background: var(--u14-neutral-chip-bg) !important;
  color: var(--u14-neutral-chip-text) !important;
  box-shadow: none !important;
}
.tip-chip.pending,
.summary-match-card .tip-chip,
.tip-line .tip-chip.pending,
.shared-tip-value .tip-chip.pending {
  background: var(--u14-neutral-chip-bg) !important;
  border-color: var(--u14-neutral-chip-line) !important;
  color: var(--u14-neutral-chip-text) !important;
}
.tip-chip.missing {
  min-width: auto !important;
  padding-inline: 10px !important;
  background: color-mix(in srgb, var(--u14-score-hub-bg) 58%, var(--u14-surface)) !important;
  border-color: color-mix(in srgb, var(--u14-score-hub-line) 45%, var(--u14-line)) !important;
  color: var(--u14-score-hub-text) !important;
  text-transform: none !important;
}
.tip-chip.ok,
.tip-chip.hub-ok,
.tip-chip.score-ok {
  background: var(--u14-score-full-bg) !important;
  border-color: var(--u14-score-full-line) !important;
  color: var(--u14-score-full-text) !important;
}
.tip-chip.bad,
.tip-chip.hub-bad,
.tip-chip.score-bad {
  background: var(--u14-score-zero-bg) !important;
  border-color: var(--u14-score-zero-line) !important;
  color: var(--u14-score-zero-text) !important;
}

/* Points: same semantic model everywhere. */
.points-summary,
.shared-points,
.leaderboard-mobile-points {
  border-radius: 999px !important;
  min-height: 42px !important;
  display: inline-grid !important;
  place-items: center !important;
  align-content: center !important;
  text-align: center !important;
  line-height: 1.05 !important;
  box-shadow: none !important;
}
.points-summary {
  min-width: 86px !important;
  padding: 8px 12px !important;
}
.points-summary span,
.shared-points small {
  font-size: .66rem !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: .055em !important;
  opacity: .82 !important;
  margin: 0 !important;
}
.points-summary strong,
.shared-points strong {
  display: block !important;
  margin: 1px 0 0 !important;
  font-size: 1rem !important;
  line-height: 1 !important;
  font-weight: 1000 !important;
}
.points-summary small { display: none !important; }
.points-summary.zero-points,
.shared-points.zero-points {
  background: var(--u14-score-zero-bg) !important;
  border: 1px solid var(--u14-score-zero-line) !important;
  color: var(--u14-score-zero-text) !important;
}
.points-summary.hub-only-points,
.shared-points.hub-only-points,
.points-summary.partial-points,
.shared-points.partial-points {
  background: var(--u14-score-hub-bg) !important;
  border: 1px solid var(--u14-score-hub-line) !important;
  color: var(--u14-score-hub-text) !important;
}
.points-summary.score-only-points,
.shared-points.score-only-points {
  background: var(--u14-score-score-bg) !important;
  border: 1px solid var(--u14-score-score-line) !important;
  color: var(--u14-score-score-text) !important;
}
.points-summary.full-points,
.shared-points.full-points {
  background: var(--u14-score-full-bg) !important;
  border: 1px solid var(--u14-score-full-line) !important;
  color: var(--u14-score-full-text) !important;
}
.points-summary.live-points,
.shared-points.live-points {
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--u14-brand-green) 10%, transparent) !important;
}
.points-summary.muted-points,
.shared-points.muted {
  background: var(--u14-neutral-chip-bg) !important;
  border: 1px solid var(--u14-neutral-chip-line) !important;
  color: var(--u14-neutral-chip-text) !important;
}
.result-match-card.zero-points { border-color: color-mix(in srgb, var(--u14-score-zero-line) 55%, var(--u14-line)) !important; }
.result-match-card.hub-only-points { border-color: color-mix(in srgb, var(--u14-score-hub-line) 55%, var(--u14-line)) !important; }
.result-match-card.score-only-points { border-color: color-mix(in srgb, var(--u14-score-score-line) 55%, var(--u14-line)) !important; }
.result-match-card.full-points { border-color: color-mix(in srgb, var(--u14-score-full-line) 60%, var(--u14-line)) !important; }

/* Result/fasit visibility without screaming. */
.result-main,
.shared-match-result {
  background: color-mix(in srgb, var(--u14-surface-2) 78%, var(--u14-chip)) !important;
  border: 1px solid var(--u14-line) !important;
  border-radius: 16px !important;
  color: var(--u14-heading) !important;
}
.result-main span,
.shared-match-result span {
  color: var(--u14-muted) !important;
  font-weight: 900 !important;
  letter-spacing: .05em !important;
}
.result-main strong,
.shared-match-result strong {
  color: var(--u14-heading) !important;
  font-weight: 1000 !important;
}

/* Leaderboard: HUB/Eksakt are neutral stats, not coloured badges. */
.leaderboard-main-table .leaderboard-hub,
.leaderboard-main-table .leaderboard-exact,
.leaderboard-main-table td[data-label="HUB"],
.leaderboard-main-table td[data-label="Eksakt"] {
  color: var(--u14-heading) !important;
  font-weight: 850 !important;
  background: transparent !important;
}
.leaderboard-mobile-stats span,
.round-leaderboard-card td:nth-child(4),
.round-leaderboard-card td:nth-child(5) {
  background: var(--u14-neutral-chip-bg) !important;
  border: 1px solid var(--u14-neutral-chip-line) !important;
  color: var(--u14-neutral-chip-text) !important;
  border-radius: 999px !important;
  font-weight: 850 !important;
}
.leaderboard-mobile-points {
  min-width: 72px !important;
  padding: 9px 11px !important;
  background: var(--u14-neutral-chip-bg) !important;
  border: 1px solid var(--u14-neutral-chip-line) !important;
  color: var(--u14-neutral-chip-text) !important;
}
.leaderboard-mobile-points strong { font-size: 1.18rem !important; line-height: .95 !important; }
.leaderboard-mobile-points span { font-size: .66rem !important; text-transform: uppercase !important; letter-spacing: .05em !important; }

/* Shared tips: compact cards; allow two columns when there is real room. */
.shared-tip-list {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)) !important;
  gap: 8px !important;
}
.shared-tip-row {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) auto !important;
  grid-template-areas: "name points" "tip points" !important;
  gap: 4px 10px !important;
  align-items: center !important;
  min-height: 58px !important;
  padding: 10px 11px !important;
  background: color-mix(in srgb, var(--u14-surface-2) 84%, var(--u14-surface)) !important;
  border: 1px solid var(--u14-line) !important;
  border-radius: 15px !important;
}
.shared-tip-row > strong { grid-area: name !important; min-width: 0 !important; color: var(--u14-heading) !important; }
.shared-tip-value { grid-area: tip !important; display: flex !important; gap: 5px !important; flex-wrap: wrap !important; }
.shared-points {
  grid-area: points !important;
  justify-self: end !important;
  min-width: 64px !important;
  padding: 7px 9px !important;
}
.shared-match-top {
  gap: 12px !important;
  align-items: start !important;
}
.shared-match-result {
  min-width: 92px !important;
  padding: 9px 11px !important;
  text-align: center !important;
}

/* Dark mode: buttons and missing states must stay visible but calm. */
html[data-u14-effective-theme="dark"] button.ghost.small,
html[data-u14-effective-theme="dark"] a.button.ghost.small,
html[data-u14-effective-theme="dark"] .show-more-row .button,
html[data-u14-effective-theme="dark"] .tips-section-action .button,
html[data-u14-effective-theme="dark"] .finished-section-toggle .button,
html[data-u14-theme="dark"] button.ghost.small,
html[data-u14-theme="dark"] a.button.ghost.small,
html[data-u14-theme="dark"] .show-more-row .button,
html[data-u14-theme="dark"] .tips-section-action .button,
html[data-u14-theme="dark"] .finished-section-toggle .button {
  color: #F5FAF5 !important;
  background: #171F19 !important;
  border-color: rgba(246,255,247,.22) !important;
}
html[data-u14-effective-theme="dark"] .tip-chip.missing,
html[data-u14-theme="dark"] .tip-chip.missing {
  background: #251F13 !important;
  border-color: rgba(255,240,1,.32) !important;
  color: #F3E7B3 !important;
}
html[data-u14-effective-theme="dark"] .input-match-card,
html[data-u14-effective-theme="dark"] .summary-match-card,
html[data-u14-effective-theme="dark"] .result-match-card,
html[data-u14-effective-theme="dark"] .shared-match-card,
html[data-u14-theme="dark"] .input-match-card,
html[data-u14-theme="dark"] .summary-match-card,
html[data-u14-theme="dark"] .result-match-card,
html[data-u14-theme="dark"] .shared-match-card {
  background: #0B100D !important;
  border-color: rgba(246,255,247,.12) !important;
}
html[data-u14-effective-theme="dark"] .tips-section,
html[data-u14-effective-theme="dark"] .match-shared-panel,
html[data-u14-effective-theme="dark"] .leaderboard-note,
html[data-u14-theme="dark"] .tips-section,
html[data-u14-theme="dark"] .match-shared-panel,
html[data-u14-theme="dark"] .leaderboard-note {
  background: color-mix(in srgb, #0A0E0B 92%, #122017) !important;
  border-color: rgba(246,255,247,.115) !important;
}

@media (max-width: 620px) {
  .tips-context-row { margin-top: -4px !important; }
  .tips-section-head {
    grid-template-columns: minmax(0,1fr) !important;
  }
  .tips-section-head > span:not(.tips-section-action),
  .tips-section-action {
    justify-self: start !important;
  }
  .tips-section-action .button { min-height: 36px !important; padding-inline: 12px !important; }
  .finished-section-toggle {
    align-items: flex-start !important;
    flex-direction: column !important;
  }
  .mobile-score-inputs {
    grid-template-columns: minmax(0,1fr) 16px minmax(0,1fr) !important;
  }
  .mobile-score-inputs label span {
    white-space: normal !important;
    min-height: 2.1em !important;
  }
  .shared-match-top { grid-template-columns: minmax(0,1fr) !important; }
  .shared-match-result { justify-self: start !important; min-width: 0 !important; }
}
/* U14-UI-CSS-USABILITY-POLISH-20260627-END */

/* U14-UI-SCORE-FLOW-POLISH-20260627-BEGIN */
/* v0.1.22f: traffic-light scoring colours and corrected outstanding tips flow. */
:root {
  --u14-traffic-zero-bg: #FFF1F2; --u14-traffic-zero-line: #F43F5E; --u14-traffic-zero-text: #7F1D1D;
  --u14-traffic-hub-bg: #FFF7CC; --u14-traffic-hub-line: #EAB308; --u14-traffic-hub-text: #5B4300;
  --u14-traffic-score-bg: #EAF8EF; --u14-traffic-score-line: #7BCF98; --u14-traffic-score-text: #14532D;
  --u14-traffic-full-bg: #D7FBE5; --u14-traffic-full-line: #00A850; --u14-traffic-full-text: #06391E;
  --u14-chip-neutral-bg: #F3F6F0; --u14-chip-neutral-line: #D7E1D4; --u14-chip-neutral-text: #102116;
}
html[data-u14-effective-theme="dark"], html[data-u14-theme="dark"] {
  --u14-traffic-zero-bg: #3A171A; --u14-traffic-zero-line: #F87171; --u14-traffic-zero-text: #FFE4E6;
  --u14-traffic-hub-bg: #352B0D; --u14-traffic-hub-line: #FACC15; --u14-traffic-hub-text: #FEF3C7;
  --u14-traffic-score-bg: #122E1F; --u14-traffic-score-line: #4ADE80; --u14-traffic-score-text: #D1FAE5;
  --u14-traffic-full-bg: #0B4427; --u14-traffic-full-line: #00E676; --u14-traffic-full-text: #ECFFF3;
  --u14-chip-neutral-bg: #171F19; --u14-chip-neutral-line: rgba(246,255,247,.18); --u14-chip-neutral-text: #F5FAF5;
}
@media (prefers-color-scheme: dark) {
  html:not([data-u14-effective-theme]):not([data-u14-theme="light"]) {
    --u14-traffic-zero-bg: #3A171A; --u14-traffic-zero-line: #F87171; --u14-traffic-zero-text: #FFE4E6;
    --u14-traffic-hub-bg: #352B0D; --u14-traffic-hub-line: #FACC15; --u14-traffic-hub-text: #FEF3C7;
    --u14-traffic-score-bg: #122E1F; --u14-traffic-score-line: #4ADE80; --u14-traffic-score-text: #D1FAE5;
    --u14-traffic-full-bg: #0B4427; --u14-traffic-full-line: #00E676; --u14-traffic-full-text: #ECFFF3;
    --u14-chip-neutral-bg: #171F19; --u14-chip-neutral-line: rgba(246,255,247,.18); --u14-chip-neutral-text: #F5FAF5;
  }
}
html[data-u14-effective-theme] .tip-chip,
html[data-u14-effective-theme] .tip-chip.pending,
html[data-u14-effective-theme] .summary-match-card:not(.finished) .tip-chip,
html[data-u14-effective-theme] .compact-match-card:not(.finished) .tip-chip {
  background: var(--u14-chip-neutral-bg) !important; border: 1px solid var(--u14-chip-neutral-line) !important; color: var(--u14-chip-neutral-text) !important; box-shadow: none !important;
}
html[data-u14-effective-theme] .tip-chip.missing,
html[data-u14-theme="dark"] .tip-chip.missing {
  background: color-mix(in srgb, var(--u14-traffic-hub-bg) 76%, var(--u14-chip-neutral-bg)) !important;
  border-color: color-mix(in srgb, var(--u14-traffic-hub-line) 45%, var(--u14-chip-neutral-line)) !important;
  color: var(--u14-traffic-hub-text) !important;
}
html[data-u14-effective-theme] .tip-chip.hub.correct,
html[data-u14-effective-theme] .tip-chip.hub.hub-correct,
html[data-u14-effective-theme] .tip-chip.score.correct,
html[data-u14-effective-theme] .tip-chip.score.score-correct {
  background: var(--u14-traffic-score-bg) !important; border-color: var(--u14-traffic-score-line) !important; color: var(--u14-traffic-score-text) !important;
}
html[data-u14-effective-theme] .tip-chip.hub.wrong,
html[data-u14-effective-theme] .tip-chip.hub.hub-wrong,
html[data-u14-effective-theme] .tip-chip.score.wrong,
html[data-u14-effective-theme] .tip-chip.score.score-wrong {
  background: var(--u14-traffic-zero-bg) !important; border-color: var(--u14-traffic-zero-line) !important; color: var(--u14-traffic-zero-text) !important;
}
html[data-u14-effective-theme] .tip-chip.result-tone-full.correct,
html[data-u14-effective-theme] .tip-chip.result-tone-full.hub-correct,
html[data-u14-effective-theme] .tip-chip.result-tone-full.score-correct {
  background: var(--u14-traffic-full-bg) !important; border-color: var(--u14-traffic-full-line) !important; color: var(--u14-traffic-full-text) !important; font-weight: 950 !important;
}
html[data-u14-effective-theme] .points-summary,
html[data-u14-effective-theme] .shared-points {
  display: inline-grid !important; grid-template-columns: 1fr !important; place-items: center !important; text-align: center !important;
  min-width: 78px !important; gap: 1px !important; border: 1.5px solid var(--u14-chip-neutral-line) !important; border-radius: 16px !important;
  padding: .48rem .62rem !important; line-height: 1.05 !important; box-shadow: none !important;
}
html[data-u14-effective-theme] .points-summary span,
html[data-u14-effective-theme] .points-summary small,
html[data-u14-effective-theme] .shared-points small {
  color: inherit !important; opacity: .78 !important; font-size: .68rem !important; font-weight: 850 !important; text-transform: uppercase !important; letter-spacing: .05em !important;
}
html[data-u14-effective-theme] .points-summary strong,
html[data-u14-effective-theme] .shared-points strong {
  display: block !important; width: 100% !important; color: inherit !important; font-size: 1.1rem !important; font-weight: 950 !important; line-height: 1.05 !important; text-align: center !important;
}
html[data-u14-effective-theme] .points-summary.zero-points, html[data-u14-effective-theme] .shared-points.zero-points { background: var(--u14-traffic-zero-bg) !important; border-color: var(--u14-traffic-zero-line) !important; color: var(--u14-traffic-zero-text) !important; }
html[data-u14-effective-theme] .points-summary.hub-only-points, html[data-u14-effective-theme] .points-summary.partial-points, html[data-u14-effective-theme] .shared-points.hub-only-points, html[data-u14-effective-theme] .shared-points.partial-points { background: var(--u14-traffic-hub-bg) !important; border-color: var(--u14-traffic-hub-line) !important; color: var(--u14-traffic-hub-text) !important; }
html[data-u14-effective-theme] .points-summary.score-only-points, html[data-u14-effective-theme] .shared-points.score-only-points { background: var(--u14-traffic-score-bg) !important; border-color: var(--u14-traffic-score-line) !important; color: var(--u14-traffic-score-text) !important; }
html[data-u14-effective-theme] .points-summary.full-points, html[data-u14-effective-theme] .shared-points.full-points { background: var(--u14-traffic-full-bg) !important; border-color: var(--u14-traffic-full-line) !important; color: var(--u14-traffic-full-text) !important; box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--u14-traffic-full-line) 22%, transparent) !important; }
html[data-u14-effective-theme] .points-summary.live-points, html[data-u14-effective-theme] .shared-points.live-points { outline: 2px solid color-mix(in srgb, var(--u14-brand-yellow) 42%, transparent) !important; outline-offset: 2px !important; }
html[data-u14-effective-theme] .points-summary.muted-points, html[data-u14-effective-theme] .points-summary.no-points, html[data-u14-effective-theme] .shared-points.muted { background: var(--u14-chip-neutral-bg) !important; border-color: var(--u14-chip-neutral-line) !important; color: var(--u14-chip-neutral-text) !important; }
html[data-u14-effective-theme] .leaderboard-hub, html[data-u14-effective-theme] .leaderboard-exact, html[data-u14-effective-theme] .leaderboard-mobile-stats span, html[data-u14-effective-theme] .table-wrap.compact td:nth-child(4), html[data-u14-effective-theme] .table-wrap.compact td:nth-child(5) {
  background: var(--u14-chip-neutral-bg) !important; border: 1px solid var(--u14-chip-neutral-line) !important; color: var(--u14-chip-neutral-text) !important; border-radius: 999px !important; text-align: center !important; font-weight: 850 !important;
}
html[data-u14-effective-theme] .leaderboard-points, html[data-u14-effective-theme] .leaderboard-mobile-points { display: grid !important; place-items: center !important; text-align: center !important; }
html[data-u14-effective-theme] .leaderboard-mobile-points strong, html[data-u14-effective-theme] .leaderboard-points strong { display: block !important; text-align: center !important; }
.missing-empty-state, .missing-snoozed-deferred {
  margin-top: 10px !important; padding: 12px 14px !important; border-radius: 16px !important;
  border: 1px dashed color-mix(in srgb, var(--u14-brand-yellow) 38%, var(--u14-line)) !important;
  background: color-mix(in srgb, var(--u14-traffic-hub-bg) 46%, var(--u14-surface)) !important; color: var(--u14-muted) !important; display: grid !important; gap: 8px !important;
}
.missing-snoozed-deferred { margin: 12px 0 !important; }
.missing-snoozed-deferred .button { justify-self: start !important; color: var(--u14-heading) !important; background: color-mix(in srgb, var(--u14-surface) 88%, var(--u14-chip-neutral-bg)) !important; border: 1px solid var(--u14-line-strong) !important; }
.shared-tip-row { align-items: center !important; gap: 10px !important; }
.shared-tip-value { min-width: 0 !important; }
.shared-points { justify-self: end !important; }
@media (max-width: 620px) {
  html[data-u14-effective-theme] .points-summary, html[data-u14-effective-theme] .shared-points { min-width: 72px !important; padding: .44rem .54rem !important; }
  .tips-section-action .button[data-snooze-missing-tips] { width: auto !important; min-width: 0 !important; white-space: nowrap !important; }
}
/* U14-UI-SCORE-FLOW-POLISH-20260627-END */

/* U14-UI-VISUAL-BALANCE-20260627-BEGIN */
/* v0.1.22g: final visual balance pass for score colours, card proportions, shared tips grid and solid header. */
:root {
  --u14-traffic-zero-bg: #FFF6F7; --u14-traffic-zero-line: #E11D48; --u14-traffic-zero-text: #7F1D1D;
  --u14-traffic-hub-bg: #FFF8DB; --u14-traffic-hub-line: #D6A600; --u14-traffic-hub-text: #574200;
  --u14-traffic-score-bg: #F0FDF4; --u14-traffic-score-line: #46B76D; --u14-traffic-score-text: #14532D;
  --u14-traffic-full-bg: #DDFBE8; --u14-traffic-full-line: #009B4A; --u14-traffic-full-text: #06391E;
  --u14-chip-neutral-bg: #F7FAF6; --u14-chip-neutral-line: #DDE8DD; --u14-chip-neutral-text: #16251B;
  --u14-card-pad-sm: 10px; --u14-card-pad: 12px; --u14-card-pad-lg: 14px;
  --u14-radius-card: 18px; --u14-radius-inner: 12px;
}
html[data-u14-effective-theme="dark"], html[data-u14-theme="dark"] {
  --u14-traffic-zero-bg: #30171B; --u14-traffic-zero-line: #FB7185; --u14-traffic-zero-text: #FFE4E6;
  --u14-traffic-hub-bg: #2B240E; --u14-traffic-hub-line: #EAB308; --u14-traffic-hub-text: #FEF3C7;
  --u14-traffic-score-bg: #10281B; --u14-traffic-score-line: #36C76D; --u14-traffic-score-text: #D9FBE5;
  --u14-traffic-full-bg: #073B22; --u14-traffic-full-line: #00A850; --u14-traffic-full-text: #EEFFF4;
  --u14-chip-neutral-bg: #121715; --u14-chip-neutral-line: rgba(246,255,247,.16); --u14-chip-neutral-text: #F3F8F4;
}
@media (prefers-color-scheme: dark) {
  html:not([data-u14-effective-theme]):not([data-u14-theme="light"]) {
    --u14-traffic-zero-bg: #30171B; --u14-traffic-zero-line: #FB7185; --u14-traffic-zero-text: #FFE4E6;
    --u14-traffic-hub-bg: #2B240E; --u14-traffic-hub-line: #EAB308; --u14-traffic-hub-text: #FEF3C7;
    --u14-traffic-score-bg: #10281B; --u14-traffic-score-line: #36C76D; --u14-traffic-score-text: #D9FBE5;
    --u14-traffic-full-bg: #073B22; --u14-traffic-full-line: #00A850; --u14-traffic-full-text: #EEFFF4;
    --u14-chip-neutral-bg: #121715; --u14-chip-neutral-line: rgba(246,255,247,.16); --u14-chip-neutral-text: #F3F8F4;
  }
}

/* Solid header: content must never ghost behind sticky nav. */
.topbar,
html[data-u14-effective-theme="light"] .topbar,
html[data-u14-theme="light"] .topbar {
  background: #FFFDF4 !important;
  border-bottom: 1px solid rgba(0,88,45,.16) !important;
  box-shadow: 0 10px 24px rgba(12, 34, 19, .08) !important;
  backdrop-filter: none !important;
}
html[data-u14-effective-theme="dark"] .topbar,
html[data-u14-theme="dark"] .topbar {
  background: #070B08 !important;
  border-bottom-color: rgba(255,240,1,.18) !important;
  box-shadow: 0 12px 26px rgba(0,0,0,.55) !important;
  backdrop-filter: none !important;
}
@media (prefers-color-scheme: dark) {
  html:not([data-u14-effective-theme]):not([data-u14-theme="light"]) .topbar {
    background: #070B08 !important; border-bottom-color: rgba(255,240,1,.18) !important; box-shadow: 0 12px 26px rgba(0,0,0,.55) !important; backdrop-filter: none !important;
  }
}

/* Global dark balance: brand green is an accent, not the whole canvas. */
html[data-u14-effective-theme="dark"] body,
html[data-u14-theme="dark"] body {
  background:
    radial-gradient(circle at 12% -6%, rgba(0,168,80,.10), transparent 32%),
    linear-gradient(180deg, #070B08 0%, #0A0D0B 48%, #060806 100%) !important;
}
html[data-u14-effective-theme="dark"] .app-panel,
html[data-u14-effective-theme="dark"] .card,
html[data-u14-effective-theme="dark"] .tips-section,
html[data-u14-effective-theme="dark"] .leaderboard-note,
html[data-u14-effective-theme="dark"] .match-shared-panel,
html[data-u14-theme="dark"] .app-panel,
html[data-u14-theme="dark"] .card,
html[data-u14-theme="dark"] .tips-section,
html[data-u14-theme="dark"] .leaderboard-note,
html[data-u14-theme="dark"] .match-shared-panel {
  background: #0D120F !important;
  border-color: rgba(246,255,247,.12) !important;
}
html[data-u14-effective-theme="dark"] .input-match-card,
html[data-u14-effective-theme="dark"] .summary-match-card,
html[data-u14-effective-theme="dark"] .result-match-card,
html[data-u14-effective-theme="dark"] .shared-match-card,
html[data-u14-theme="dark"] .input-match-card,
html[data-u14-theme="dark"] .summary-match-card,
html[data-u14-theme="dark"] .result-match-card,
html[data-u14-theme="dark"] .shared-match-card {
  background: #0B0F0C !important;
  border-color: rgba(246,255,247,.13) !important;
}

/* Match cards: lighter signal, tighter rhythm. */
.match-card.compact-match-card,
.input-match-card,
.summary-match-card,
.result-match-card,
.shared-match-card {
  border-radius: var(--u14-radius-card) !important;
}
.compact-match-main { padding: var(--u14-card-pad) !important; gap: 8px !important; }
.compact-match-top { gap: 8px !important; }
.compact-meta { margin-bottom: 1px !important; }
.compact-teams { font-size: clamp(15px, 2.1vw, 17px) !important; line-height: 1.18 !important; }
.compact-venue { font-size: 11.5px !important; }
.compact-match-card.needs-tip { box-shadow: inset 3px 0 0 color-mix(in srgb, var(--u14-traffic-hub-line) 70%, transparent) !important; }
.compact-match-card.live { box-shadow: inset 3px 0 0 color-mix(in srgb, var(--u14-brand-yellow) 72%, transparent) !important; }
.compact-match-card.finished.full-points,
.result-match-card.finished.full-points { box-shadow: inset 3px 0 0 color-mix(in srgb, var(--u14-traffic-full-line) 75%, transparent) !important; }
.compact-match-card.finished.partial-points,
.result-match-card.finished.partial-points { box-shadow: inset 3px 0 0 color-mix(in srgb, var(--u14-traffic-hub-line) 75%, transparent) !important; }
.compact-match-card.finished.zero-points,
.result-match-card.finished.zero-points { box-shadow: inset 3px 0 0 color-mix(in srgb, var(--u14-traffic-zero-line) 60%, transparent) !important; }
.compact-match-card.finished,
.result-match-card.finished { background: color-mix(in srgb, var(--u14-surface) 94%, var(--u14-chip-neutral-bg)) !important; }
.compact-outcome {
  gap: 7px !important;
  grid-template-columns: minmax(136px, 1fr) minmax(118px, .82fr) minmax(70px, auto) !important;
  align-items: stretch !important;
}
.tip-line,
.result-compact .result-line,
.points-compact .points-summary { min-height: 42px !important; }
.tip-line,
.result-compact .result-line { border-radius: var(--u14-radius-inner) !important; padding: 7px 8px !important; }
.tip-line > span { font-size: 10px !important; letter-spacing: .045em !important; }
.tip-chip { min-height: 24px !important; padding: 5px 8px !important; font-size: 12.5px !important; }
.tip-chip.hub { min-width: 28px !important; }
.tip-chip.score { min-width: 44px !important; justify-content: center !important; }

/* Score pills: consistent scale, centered, present but not shouty. */
html[data-u14-effective-theme] .points-summary,
html[data-u14-effective-theme] .shared-points {
  min-width: 68px !important;
  border-width: 1px !important;
  border-radius: 14px !important;
  padding: .38rem .48rem !important;
  gap: 0 !important;
  box-shadow: none !important;
}
html[data-u14-effective-theme] .points-summary strong,
html[data-u14-effective-theme] .shared-points strong {
  font-size: 1rem !important;
  line-height: 1.02 !important;
}
html[data-u14-effective-theme] .points-summary span,
html[data-u14-effective-theme] .points-summary small,
html[data-u14-effective-theme] .shared-points small {
  font-size: .61rem !important;
  letter-spacing: .055em !important;
  opacity: .76 !important;
}
.points-compact .points-summary { min-width: 72px !important; }
html[data-u14-effective-theme] .points-summary.full-points,
html[data-u14-effective-theme] .shared-points.full-points {
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--u14-traffic-full-line) 16%, transparent) !important;
}
html[data-u14-effective-theme] .points-summary.zero-points,
html[data-u14-effective-theme] .shared-points.zero-points {
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--u14-traffic-zero-line) 10%, transparent) !important;
}

/* Section headers: compact and balanced. */
.tips-section { margin: 14px 0 18px !important; }
.tips-section-head {
  align-items: center !important;
  border-bottom-color: color-mix(in srgb, var(--u14-line) 70%, transparent) !important;
  gap: 10px !important;
  margin-bottom: 9px !important;
  padding-bottom: 7px !important;
}
.tips-section-head h2 { font-size: clamp(17px, 2.2vw, 20px) !important; }
.tips-section-head p { font-size: 12.5px !important; max-width: 58ch !important; }
.tips-section-head > span:not(.tips-section-action) { padding: 4px 8px !important; font-size: 11px !important; }
.tips-section-action .button { min-height: 34px !important; padding: 6px 11px !important; }

/* Shared tips: faster scanning and better use of width. */
.shared-match-list { gap: 12px !important; }
.shared-match-card {
  border-left-width: 3px !important;
  gap: 10px !important;
  padding: var(--u14-card-pad-lg) !important;
}
.shared-match-card.finished { border-left-color: color-mix(in srgb, var(--u14-traffic-full-line) 68%, var(--u14-line)) !important; }
.shared-match-card.live { border-left-color: color-mix(in srgb, var(--u14-brand-yellow) 72%, var(--u14-line)) !important; }
.shared-match-top { gap: 8px !important; align-items: center !important; }
.shared-match-result {
  min-width: 92px !important;
  padding: 7px 9px !important;
  border-radius: 12px !important;
  background: color-mix(in srgb, var(--u14-surface) 86%, var(--u14-chip-neutral-bg)) !important;
}
.shared-match-result span { font-size: 10.5px !important; }
.shared-match-result strong { font-size: 14px !important; }
.shared-tip-list {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 244px), 1fr)) !important;
  gap: 7px !important;
}
.shared-tip-row {
  grid-template-columns: minmax(0,1fr) auto auto !important;
  gap: 7px !important;
  padding: 7px 8px !important;
  border-radius: 12px !important;
  min-height: 44px !important;
  background: color-mix(in srgb, var(--u14-surface) 92%, var(--u14-chip-neutral-bg)) !important;
  border-color: color-mix(in srgb, var(--u14-line) 78%, transparent) !important;
}
.shared-tip-row > strong {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  font-size: 13.5px !important;
}
.shared-tip-value { justify-content: end !important; gap: 4px !important; min-width: max-content !important; }
.shared-points { justify-self: end !important; min-width: 62px !important; padding: .34rem .42rem !important; }

/* Leaderboard: counters should read as neutral stats, not status warnings. */
html[data-u14-effective-theme] .leaderboard-hub,
html[data-u14-effective-theme] .leaderboard-exact,
html[data-u14-effective-theme] .leaderboard-mobile-stats span,
html[data-u14-effective-theme] .table-wrap.compact td:nth-child(4),
html[data-u14-effective-theme] .table-wrap.compact td:nth-child(5) {
  min-width: 42px !important;
  padding: 4px 8px !important;
  line-height: 1.05 !important;
}
html[data-u14-effective-theme] .leaderboard-points,
html[data-u14-effective-theme] .leaderboard-mobile-points {
  border-radius: 999px !important;
  min-width: 58px !important;
  padding: 5px 10px !important;
}

/* Outstanding tips snooze: useful but visually calm. */
.missing-empty-state,
.missing-snoozed-deferred {
  border-style: solid !important;
  border-color: color-mix(in srgb, var(--u14-traffic-hub-line) 32%, var(--u14-line)) !important;
  background: color-mix(in srgb, var(--u14-surface) 88%, var(--u14-traffic-hub-bg)) !important;
  border-radius: 14px !important;
  padding: 10px 12px !important;
}
.missing-snoozed-deferred {
  align-items: center !important;
  grid-template-columns: minmax(0,1fr) auto !important;
  gap: 6px 12px !important;
}
.missing-snoozed-deferred strong,
.missing-snoozed-deferred span { min-width: 0 !important; }
.missing-snoozed-deferred span { grid-column: 1 / 2 !important; }
.missing-snoozed-deferred .button { grid-column: 2 / 3 !important; grid-row: 1 / span 2 !important; align-self: center !important; }

@media (min-width: 660px) and (max-width: 1020px) {
  .compact-outcome { grid-template-columns: minmax(0,1fr) minmax(0,.9fr) minmax(68px,auto) !important; }
  .shared-tip-list { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
}
@media (min-width: 1021px) {
  .shared-tip-list { grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)) !important; }
}
@media (max-width: 700px) {
  .shared-match-card { padding: var(--u14-card-pad) !important; }
  .shared-match-top { grid-template-columns: minmax(0,1fr) auto !important; }
  .shared-match-result { justify-self: end !important; text-align: right !important; min-width: 82px !important; }
  .shared-tip-row { grid-template-columns: minmax(0,1fr) auto auto !important; }
  .shared-tip-value { justify-content: end !important; }
  .shared-points { width: auto !important; text-align: center !important; justify-items: center !important; }
}
@media (max-width: 540px) {
  .topbar { padding: 10px 12px !important; gap: 10px !important; }
  .compact-match-main { padding: var(--u14-card-pad-sm) !important; }
  .compact-match-top { display: grid !important; grid-template-columns: minmax(0,1fr) auto !important; align-items: start !important; }
  .compact-status { gap: 5px !important; }
  .compact-outcome { grid-template-columns: minmax(0,1fr) !important; gap: 6px !important; }
  .tip-line,
  .result-compact .result-line,
  .points-compact .points-summary { min-height: 0 !important; }
  .points-compact .points-summary { width: fit-content !important; min-width: 72px !important; justify-self: start !important; }
  .tips-section-head { align-items: start !important; grid-template-columns: minmax(0,1fr) !important; }
  .tips-section-head > span:not(.tips-section-action), .tips-section-action { justify-self: start !important; }
  .shared-match-top { grid-template-columns: minmax(0,1fr) !important; }
  .shared-match-result { justify-self: start !important; text-align: left !important; }
  .shared-tip-list { grid-template-columns: 1fr !important; }
  .shared-tip-row { grid-template-columns: minmax(0,1fr) auto auto !important; min-height: 42px !important; }
  .tip-chip { font-size: 12px !important; padding-inline: 7px !important; }
  html[data-u14-effective-theme] .points-summary, html[data-u14-effective-theme] .shared-points { min-width: 62px !important; }
  .missing-snoozed-deferred { grid-template-columns: 1fr !important; }
  .missing-snoozed-deferred span, .missing-snoozed-deferred .button { grid-column: auto !important; grid-row: auto !important; }
}
/* U14-UI-VISUAL-BALANCE-20260627-END */

/* U14-UI-FINAL-PROPORTIONS-20260627-BEGIN */
/* v0.1.22h: final proportional polish after visual review of 22g. No scoring logic changes. */
:root {
  --u14-traffic-zero-bg: #FFF7F8; --u14-traffic-zero-line: #D93B5A; --u14-traffic-zero-text: #7B1827;
  --u14-traffic-hub-bg: #FFF7D6; --u14-traffic-hub-line: #D0A100; --u14-traffic-hub-text: #4F3B00;
  --u14-traffic-score-bg: #EEFDF4; --u14-traffic-score-line: #3CAF65; --u14-traffic-score-text: #124A2A;
  --u14-traffic-full-bg: #DFFBEA; --u14-traffic-full-line: #00A850; --u14-traffic-full-text: #06351D;
  --u14-card-pad-sm: 9px; --u14-card-pad: 11px; --u14-card-pad-lg: 12px;
}
html[data-u14-effective-theme="dark"], html[data-u14-theme="dark"] {
  --u14-traffic-zero-bg: #261418; --u14-traffic-zero-line: #F06A7C; --u14-traffic-zero-text: #FFE8EC;
  --u14-traffic-hub-bg: #28210C; --u14-traffic-hub-line: #E5B900; --u14-traffic-hub-text: #FFF1B8;
  --u14-traffic-score-bg: #0E2418; --u14-traffic-score-line: #39C46B; --u14-traffic-score-text: #DDFBE7;
  --u14-traffic-full-bg: #07331F; --u14-traffic-full-line: #10B866; --u14-traffic-full-text: #F0FFF5;
  --u14-chip-neutral-bg: #101512; --u14-chip-neutral-line: rgba(246,255,247,.14); --u14-chip-neutral-text: #F4F8F4;
}
@media (prefers-color-scheme: dark) {
  html:not([data-u14-effective-theme]):not([data-u14-theme="light"]) {
    --u14-traffic-zero-bg: #261418; --u14-traffic-zero-line: #F06A7C; --u14-traffic-zero-text: #FFE8EC;
    --u14-traffic-hub-bg: #28210C; --u14-traffic-hub-line: #E5B900; --u14-traffic-hub-text: #FFF1B8;
    --u14-traffic-score-bg: #0E2418; --u14-traffic-score-line: #39C46B; --u14-traffic-score-text: #DDFBE7;
    --u14-traffic-full-bg: #07331F; --u14-traffic-full-line: #10B866; --u14-traffic-full-text: #F0FFF5;
    --u14-chip-neutral-bg: #101512; --u14-chip-neutral-line: rgba(246,255,247,.14); --u14-chip-neutral-text: #F4F8F4;
  }
}
html[data-u14-effective-theme="dark"] body, html[data-u14-theme="dark"] body {
  background: radial-gradient(circle at 12% -8%, rgba(0,168,80,.08), transparent 28%), linear-gradient(180deg,#050806 0%,#080B09 52%,#050705 100%) !important;
}
html[data-u14-effective-theme="dark"] :where(.app-panel,.panel,.card,.tips-section,.leaderboard-note,.round-leaderboard-card,.match-shared-panel),
html[data-u14-theme="dark"] :where(.app-panel,.panel,.card,.tips-section,.leaderboard-note,.round-leaderboard-card,.match-shared-panel) { background: #0B100D !important; border-color: rgba(246,255,247,.105) !important; }
html[data-u14-effective-theme="dark"] :where(.input-match-card,.summary-match-card,.result-match-card,.shared-match-card,.leaderboard-mobile-row,.stat),
html[data-u14-theme="dark"] :where(.input-match-card,.summary-match-card,.result-match-card,.shared-match-card,.leaderboard-mobile-row,.stat) { background: #0A0F0C !important; border-color: rgba(246,255,247,.12) !important; }
.topbar { z-index: 40 !important; }
.topbar nav a, .linkbtn { min-height: 34px !important; }
@media (max-width: 700px) {
  .topbar { padding: 10px 14px 12px !important; row-gap: 8px !important; }
  .brand img { width: 44px !important; height: 44px !important; }
  .brand strong { font-size: 18px !important; line-height: 1.05 !important; }
  .brand span { font-size: 12px !important; }
  .topbar nav { gap: 10px !important; }
  .topbar nav a, .linkbtn { padding: 8px 10px !important; font-size: 15px !important; }
  main { padding-top: 14px !important; }
}
@media (max-width: 420px) {
  .topbar nav { gap: 8px !important; }
  .topbar nav a, .linkbtn { padding-inline: 8px !important; font-size: 14px !important; }
}
.result-match-card .compact-match-main, .summary-match-card .compact-match-main, .input-match-card .compact-match-main { padding: 11px !important; gap: 8px !important; }
.match-card-head { gap: 8px !important; align-items: start !important; }
.status-pill { padding: 5px 9px !important; min-height: 28px !important; font-size: 12px !important; line-height: 1 !important; }
.compact-meta { font-size: 12px !important; line-height: 1.22 !important; }
.compact-teams { font-size: clamp(15px, 1.7vw, 18px) !important; line-height: 1.14 !important; }
.compact-venue { font-size: 11px !important; line-height: 1.2 !important; }
.result-card-row { gap: 7px !important; align-items: stretch !important; grid-template-columns: minmax(116px,.78fr) minmax(150px,1fr) minmax(66px,auto) !important; }
.result-card-row .result-main, .result-card-row .tip-line { min-height: 40px !important; padding: 7px 9px !important; border-radius: 12px !important; gap: 3px !important; }
.result-card-row .result-main span, .result-card-row .tip-line > span { font-size: 9.5px !important; letter-spacing: .05em !important; }
.result-card-row .result-main strong { font-size: 15px !important; line-height: 1 !important; }
.tip-chip { min-height: 22px !important; padding: 4px 7px !important; font-size: 12px !important; line-height: 1 !important; }
.tip-chip.hub { min-width: 26px !important; }
.tip-chip.score { min-width: 40px !important; }
.points-compact { display: grid !important; align-items: stretch !important; }
html[data-u14-effective-theme] .points-summary, html[data-u14-effective-theme] .shared-points { min-width: 60px !important; padding: .32rem .42rem !important; border-radius: 13px !important; border-width: 1px !important; align-self: stretch !important; display: inline-grid !important; place-items: center !important; line-height: 1.02 !important; }
html[data-u14-effective-theme] .points-summary strong, html[data-u14-effective-theme] .shared-points strong { font-size: .98rem !important; line-height: 1 !important; }
html[data-u14-effective-theme] .points-summary span, html[data-u14-effective-theme] .points-summary small, html[data-u14-effective-theme] .shared-points small { font-size: .58rem !important; letter-spacing: .06em !important; opacity: .78 !important; }
.result-match-card.finished.full-points, .result-match-card.finished.partial-points, .result-match-card.finished.score-only-points, .result-match-card.finished.zero-points, .compact-match-card.finished.full-points, .compact-match-card.finished.partial-points, .compact-match-card.finished.score-only-points, .compact-match-card.finished.zero-points { background: color-mix(in srgb, var(--u14-surface) 96%, var(--u14-chip-neutral-bg)) !important; }
.compact-match-card.finished.full-points, .result-match-card.finished.full-points { box-shadow: inset 2px 0 0 color-mix(in srgb, var(--u14-traffic-full-line) 76%, transparent) !important; }
.compact-match-card.finished.partial-points, .result-match-card.finished.partial-points { box-shadow: inset 2px 0 0 color-mix(in srgb, var(--u14-traffic-hub-line) 72%, transparent) !important; }
.compact-match-card.finished.score-only-points, .result-match-card.finished.score-only-points { box-shadow: inset 2px 0 0 color-mix(in srgb, var(--u14-traffic-score-line) 72%, transparent) !important; }
.compact-match-card.finished.zero-points, .result-match-card.finished.zero-points { box-shadow: inset 2px 0 0 color-mix(in srgb, var(--u14-traffic-zero-line) 58%, transparent) !important; }
html[data-u14-effective-theme] .points-summary.full-points, html[data-u14-effective-theme] .shared-points.full-points { box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--u14-traffic-full-line) 12%, transparent) !important; }
html[data-u14-effective-theme] .points-summary.zero-points, html[data-u14-effective-theme] .shared-points.zero-points { box-shadow: none !important; }
@media (max-width: 760px) {
  .compact-match-list { gap: 10px !important; }
  .result-card-row { grid-template-columns: minmax(0,1fr) minmax(60px,auto) !important; gap: 7px !important; }
  .result-card-row .result-main { grid-column: 1 / 2 !important; }
  .result-card-row .tip-line { grid-column: 1 / 3 !important; }
  .result-card-row .points-compact { grid-column: 2 / 3 !important; grid-row: 1 / 2 !important; }
  .points-compact .points-summary { width: auto !important; min-width: 62px !important; justify-self: stretch !important; }
  .result-match-card .compact-match-main, .summary-match-card .compact-match-main, .input-match-card .compact-match-main { padding: 10px !important; }
  .match-card-head { display: grid !important; grid-template-columns: minmax(0,1fr) auto !important; }
  .compact-status { justify-self: end !important; }
}
@media (max-width: 460px) {
  .result-card-row .result-main, .result-card-row .tip-line { padding: 6px 8px !important; }
  html[data-u14-effective-theme] .points-summary { min-width: 58px !important; padding: .30rem .38rem !important; }
}
@media (max-width: 980px) {
  .leaderboard-main-wrap { display: none !important; }
  .leaderboard-mobile-list { display: grid !important; gap: 8px !important; margin: 10px 0 18px !important; }
}
@media (min-width: 981px) { .leaderboard-mobile-list { display: none !important; } }
.leaderboard-note { padding: 11px 14px !important; font-size: clamp(13px, 1.8vw, 15px) !important; line-height: 1.35 !important; }
.leaderboard-mobile-row { min-height: 86px !important; padding: 10px 12px !important; gap: 10px !important; border-radius: 16px !important; }
.leaderboard-mobile-rank { width: 48px !important; min-width: 48px !important; height: 52px !important; border-radius: 13px !important; font-size: 16px !important; }
.leaderboard-mobile-main strong { font-size: clamp(16px, 3.4vw, 19px) !important; line-height: 1.15 !important; }
.leaderboard-mobile-type { margin-top: 4px !important; }
.leaderboard-mobile-stats { gap: 5px !important; margin-top: 6px !important; }
.leaderboard-mobile-stats span { padding: 3px 7px !important; font-size: 11.5px !important; }
html[data-u14-effective-theme] .leaderboard-mobile-points { min-width: 62px !important; height: 62px !important; border-radius: 999px !important; padding: 6px !important; align-self: center !important; }
html[data-u14-effective-theme] .leaderboard-mobile-points strong { font-size: 1.22rem !important; line-height: 1 !important; }
html[data-u14-effective-theme] .leaderboard-mobile-points span { font-size: .62rem !important; letter-spacing: .06em !important; }
@media (max-width: 420px) {
  .leaderboard-mobile-row { grid-template-columns: 42px minmax(0,1fr) 58px !important; min-height: 78px !important; padding: 9px !important; }
  .leaderboard-mobile-rank { width: 42px !important; min-width: 42px !important; height: 48px !important; }
  html[data-u14-effective-theme] .leaderboard-mobile-points { min-width: 56px !important; height: 56px !important; }
}
.round-leaderboards { margin-top: 14px !important; }
.round-leaderboard-grid { gap: 12px !important; }
.round-leaderboard-card { padding: 12px !important; border-radius: 18px !important; }
.round-leaderboard-card h4 { font-size: 16px !important; }
.round-leaderboard-card .mini-badge { font-size: 11px !important; padding: 4px 7px !important; }
.round-leaderboard-card .muted { font-size: 13px !important; }
.round-leaderboard-card .table-wrap.compact th, .round-leaderboard-card .table-wrap.compact td { padding: 6px 7px !important; }
@media (max-width: 520px) {
  .round-leaderboard-card { padding: 10px !important; }
  .round-leaderboard-card .table-wrap.compact th, .round-leaderboard-card .table-wrap.compact td { padding: 5px 6px !important; font-size: 12px !important; }
  html[data-u14-effective-theme] .round-leaderboard-card .table-wrap.compact td:nth-child(4), html[data-u14-effective-theme] .round-leaderboard-card .table-wrap.compact td:nth-child(5) { min-width: 34px !important; padding: 4px 6px !important; }
}
.shared-tip-list { gap: 6px !important; }
.shared-tip-row { min-height: 40px !important; padding: 6px 7px !important; }
.shared-tip-row > strong { font-size: 13px !important; }
.shared-points { min-width: 56px !important; }
@media (min-width: 680px) and (max-width: 1040px) { .shared-tip-list { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
.stat { min-height: 82px !important; padding: 14px 16px !important; }
.stat strong { font-size: clamp(24px, 4.2vw, 32px) !important; }
.tabbar { gap: 8px !important; padding: 8px !important; }
.tabbar button { min-height: 42px !important; padding: 9px 12px !important; }
@media (max-width: 540px) {
  .stat { min-height: 76px !important; padding: 12px 14px !important; }
  .tabbar { padding: 7px !important; }
  .tabbar button { min-height: 40px !important; }
}
/* U14-UI-FINAL-PROPORTIONS-20260627-END */


/* U14-UI-LEADERBOARD-CLEAN-20260627-BEGIN */
/* v0.1.22i: calmer leaderboard, no Appbruker noise, shared-tip value simplification, input breathing room. */
.shared-tip-value { background: transparent !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; border-radius: 0 !important; min-height: 0 !important; }
.shared-tip-row { align-items: center !important; }
.shared-tip-value .tip-chip { box-shadow: none !important; }
@media (max-width: 700px) { .shared-tip-row { gap: 6px !important; } .shared-tip-value { margin-top: 0 !important; } }
.input-match-card .compact-match-main { gap: 11px !important; }
.input-match-card .match-card-head { margin-bottom: 2px !important; }
.input-match-card .input-block { margin-block: 2px !important; }
.input-match-card .input-card-footer { margin-top: 3px !important; padding-top: 2px !important; }
.input-match-card .mobile-score-inputs { margin-top: 1px !important; }
@media (max-width: 520px) { .input-match-card .compact-match-main { gap: 10px !important; } .input-match-card .input-block { margin-block: 1px !important; } }
.participant-badge.app-user, .leaderboard-mobile-type:empty { display: none !important; }
.leaderboard-main-table { table-layout: fixed !important; }
.leaderboard-main-table th, .leaderboard-main-table td { vertical-align: middle !important; }
.leaderboard-main-table th:nth-child(1), .leaderboard-main-table td.leaderboard-rank { width: 68px !important; }
.leaderboard-main-table th:nth-child(3), .leaderboard-main-table td.leaderboard-points { width: 100px !important; text-align: right !important; }
.leaderboard-main-table th:nth-child(4), .leaderboard-main-table td.leaderboard-hub { width: 82px !important; text-align: right !important; }
.leaderboard-main-table th:nth-child(5), .leaderboard-main-table td.leaderboard-exact { width: 82px !important; text-align: right !important; }
.leaderboard-main-table .leaderboard-points, .leaderboard-main-table .leaderboard-hub, .leaderboard-main-table .leaderboard-exact { background: transparent !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; color: var(--text) !important; min-width: 0 !important; padding-inline: 10px !important; }
.leaderboard-main-table .leaderboard-points strong { color: var(--text) !important; font-size: 1rem !important; font-weight: 950 !important; }
.leaderboard-main-table .leaderboard-points span { color: var(--muted) !important; font-size: .78rem !important; font-weight: 750 !important; }
.leaderboard-main-row:nth-child(1) { box-shadow: inset 3px 0 0 rgba(255,240,1,.82) !important; }
.leaderboard-main-row:nth-child(2), .leaderboard-main-row:nth-child(3) { box-shadow: inset 3px 0 0 rgba(0,168,80,.42) !important; }
html[data-u14-effective-theme="dark"] .leaderboard-main-row:nth-child(1), html[data-u14-theme="dark"] .leaderboard-main-row:nth-child(1) { box-shadow: inset 3px 0 0 rgba(255,240,1,.68) !important; }
.leaderboard-mobile-row { display: grid !important; grid-template-columns: minmax(0, 1fr) auto auto !important; align-items: center !important; gap: 10px !important; min-height: 78px !important; padding: 10px 12px !important; }
.leaderboard-mobile-rank { display: none !important; }
.leaderboard-mobile-main { min-width: 0 !important; }
.leaderboard-mobile-main strong { display: block !important; overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; }
.leaderboard-mobile-score-stack { align-self: center !important; display: grid !important; gap: 4px !important; justify-items: stretch !important; min-width: 68px !important; }
.leaderboard-mobile-score-stack span { align-items: center !important; background: rgba(255,255,255,.72) !important; border: 1px solid rgba(22,68,40,.12) !important; border-radius: 999px !important; color: #20382a !important; display: flex !important; font-size: 10.5px !important; font-weight: 900 !important; gap: 3px !important; justify-content: space-between !important; line-height: 1 !important; min-height: 21px !important; padding: 4px 7px !important; white-space: nowrap !important; }
.leaderboard-mobile-score-stack span:first-child { background: rgba(0,168,80,.10) !important; border-color: rgba(0,168,80,.24) !important; }
.leaderboard-mobile-score-stack b { font-size: 11px !important; font-weight: 950 !important; }
.leaderboard-mobile-score-stack em { font-style: normal !important; opacity: .72 !important; text-transform: lowercase !important; }
html[data-u14-effective-theme] .leaderboard-mobile-points { min-width: 58px !important; height: 58px !important; border-radius: 999px !important; padding: 6px !important; }
html[data-u14-effective-theme] .leaderboard-mobile-points strong { font-size: 1.12rem !important; }
html[data-u14-effective-theme] .leaderboard-mobile-points span { font-size: .56rem !important; letter-spacing: .055em !important; }
html[data-u14-effective-theme="dark"] .leaderboard-mobile-score-stack span, html[data-u14-theme="dark"] .leaderboard-mobile-score-stack span { background: rgba(246,255,247,.045) !important; border-color: rgba(246,255,247,.13) !important; color: #EAF4EA !important; }
html[data-u14-effective-theme="dark"] .leaderboard-mobile-score-stack span:first-child, html[data-u14-theme="dark"] .leaderboard-mobile-score-stack span:first-child { background: rgba(0,168,80,.13) !important; border-color: rgba(0,168,80,.28) !important; color: #CFFADE !important; }
@media (max-width: 420px) { .leaderboard-mobile-row { grid-template-columns: minmax(0, 1fr) auto auto !important; gap: 7px !important; padding: 9px 8px !important; } .leaderboard-mobile-score-stack { min-width: 61px !important; } .leaderboard-mobile-score-stack span { font-size: 9.5px !important; min-height: 20px !important; padding-inline: 6px !important; } html[data-u14-effective-theme] .leaderboard-mobile-points { min-width: 54px !important; height: 54px !important; } }
.round-leaderboard-card .table-wrap.compact td:nth-child(3), .round-leaderboard-card .table-wrap.compact td:nth-child(4), .round-leaderboard-card .table-wrap.compact td:nth-child(5) { background: transparent !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; min-width: 0 !important; text-align: right !important; }
.round-leaderboard-card .table-wrap.compact td:nth-child(3) strong { color: var(--text) !important; }
.round-leaderboard-card .table-wrap.compact th:nth-child(3), .round-leaderboard-card .table-wrap.compact th:nth-child(4), .round-leaderboard-card .table-wrap.compact th:nth-child(5) { text-align: right !important; }
.round-leaderboard-card .table-wrap.compact td, .round-leaderboard-card .table-wrap.compact th { padding-block: 5px !important; }
.leaderboard-note, .round-leaderboards > .section-title-row { border-radius: 14px !important; }
.round-leaderboards > .section-title-row { padding: 12px 14px !important; }
.round-leaderboards > .section-title-row h3 { margin-bottom: 4px !important; }
/* U14-UI-LEADERBOARD-CLEAN-20260627-END */


/* U14-UI-LEADERBOARD-PRO-20260627-BEGIN */
/* v0.1.22j: professional leaderboard layout. Keeps score logic untouched. */
:root {
  --u14-medal-gold: #D9A928;
  --u14-medal-silver: #AEB8C2;
  --u14-medal-bronze: #B7793A;
}
.leaderboard-note { margin-bottom: 12px !important; }
.leaderboard-podium {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 10px !important;
  margin: 10px 0 12px !important;
}
.leaderboard-podium-card {
  align-items: center !important;
  background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(246,251,246,.92)) !important;
  border: 1px solid rgba(23, 70, 41, .14) !important;
  border-radius: 18px !important;
  box-shadow: 0 10px 24px rgba(24, 46, 30, .07) !important;
  display: grid !important;
  grid-template-columns: auto minmax(0,1fr) auto !important;
  gap: 10px !important;
  min-width: 0 !important;
  padding: 11px 12px !important;
}
.leaderboard-podium-medal {
  align-items: center !important;
  border-radius: 999px !important;
  display: grid !important;
  font-size: 1.05rem !important;
  height: 34px !important;
  justify-items: center !important;
  width: 34px !important;
}
.leaderboard-podium-card.is-gold .leaderboard-podium-medal { background: rgba(255,240,1,.38) !important; border: 1px solid rgba(217,169,40,.42) !important; }
.leaderboard-podium-card.is-silver .leaderboard-podium-medal { background: rgba(174,184,194,.20) !important; border: 1px solid rgba(130,145,158,.26) !important; }
.leaderboard-podium-card.is-bronze .leaderboard-podium-medal { background: rgba(183,121,58,.18) !important; border: 1px solid rgba(183,121,58,.28) !important; }
.leaderboard-podium-name { min-width: 0 !important; }
.leaderboard-podium-name strong { display: block !important; font-size: .98rem !important; font-weight: 950 !important; overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; }
.leaderboard-podium-name span { color: var(--muted) !important; display: block !important; font-size: .76rem !important; font-weight: 800 !important; margin-top: 1px !important; }
.leaderboard-podium-points { color: var(--u14-h-green-strong, #006f39) !important; font-size: 1.32rem !important; font-weight: 950 !important; letter-spacing: -.04em !important; text-align: right !important; }
.leaderboard-podium-points span { color: var(--muted) !important; display: block !important; font-size: .62rem !important; font-weight: 900 !important; letter-spacing: .06em !important; text-transform: uppercase !important; }
.leaderboard-main-wrap { border-radius: 18px !important; overflow: hidden !important; }
table.leaderboard-main-table { border-collapse: collapse !important; table-layout: auto !important; width: 100% !important; }
table.leaderboard-main-table th, table.leaderboard-main-table td { border-radius: 0 !important; box-shadow: none !important; }
table.leaderboard-main-table th:nth-child(1), table.leaderboard-main-table td.leaderboard-rank { width: 76px !important; }
table.leaderboard-main-table th:nth-child(3), table.leaderboard-main-table td.leaderboard-points { width: 96px !important; }
table.leaderboard-main-table th:nth-child(4), table.leaderboard-main-table td.leaderboard-hub { width: 82px !important; }
table.leaderboard-main-table th:nth-child(5), table.leaderboard-main-table td.leaderboard-exact { width: 82px !important; }
table.leaderboard-main-table tbody td.leaderboard-points,
table.leaderboard-main-table tbody td.leaderboard-hub,
table.leaderboard-main-table tbody td.leaderboard-exact,
table.leaderboard-main-table tbody td[data-label="Poeng"],
table.leaderboard-main-table tbody td[data-label="HUB"],
table.leaderboard-main-table tbody td[data-label="Eksakt"] {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: var(--text) !important;
  display: table-cell !important;
  min-height: 0 !important;
  min-width: 0 !important;
  padding: 11px 14px !important;
  text-align: right !important;
  white-space: nowrap !important;
}
table.leaderboard-main-table .leaderboard-points strong { color: var(--u14-h-green-strong, #00713B) !important; display: inline !important; font-size: 1rem !important; font-weight: 950 !important; }
table.leaderboard-main-table .leaderboard-points span { color: var(--muted) !important; display: inline !important; font-size: .76rem !important; font-weight: 800 !important; margin-left: 2px !important; }
.leaderboard-rank-inner { align-items: center !important; display: inline-flex !important; gap: 5px !important; }
.leaderboard-rank-medal { font-size: .98rem !important; line-height: 1 !important; }
.leaderboard-rank-number { color: var(--text) !important; font-weight: 950 !important; }
.leaderboard-main-row:nth-child(1), .leaderboard-main-row:nth-child(2), .leaderboard-main-row:nth-child(3) { box-shadow: none !important; }
.leaderboard-main-row.is-gold td:first-child { box-shadow: inset 4px 0 0 rgba(255,240,1,.80) !important; }
.leaderboard-main-row.is-silver td:first-child { box-shadow: inset 4px 0 0 rgba(159,173,184,.62) !important; }
.leaderboard-main-row.is-bronze td:first-child { box-shadow: inset 4px 0 0 rgba(183,121,58,.60) !important; }
.leaderboard-mobile-list { margin-top: 10px !important; }
.leaderboard-mobile-row {
  grid-template-columns: 42px minmax(0,1fr) auto !important;
  gap: 10px !important;
  min-height: 74px !important;
  padding: 10px 10px !important;
}
.leaderboard-mobile-rank {
  align-self: stretch !important;
  align-items: center !important;
  background: rgba(0,168,80,.09) !important;
  border: 1px solid rgba(0,168,80,.20) !important;
  border-radius: 14px !important;
  color: #0E5F36 !important;
  display: flex !important;
  font-size: .86rem !important;
  font-weight: 950 !important;
  justify-content: center !important;
  min-width: 38px !important;
}
.leaderboard-mobile-rank .leaderboard-rank-medal { font-size: 1rem !important; }
.leaderboard-mobile-rank .leaderboard-rank-number { color: inherit !important; }
.leaderboard-mobile-main strong { font-size: 1rem !important; letter-spacing: -.02em !important; }
.leaderboard-mobile-side { align-items: center !important; display: grid !important; grid-template-columns: auto auto !important; gap: 8px !important; justify-content: end !important; }
.leaderboard-mobile-score-stack { display: grid !important; gap: 5px !important; min-width: 78px !important; }
.leaderboard-mobile-score-stack span {
  background: rgba(255,255,255,.84) !important;
  border: 1px solid rgba(22,68,40,.14) !important;
  border-radius: 999px !important;
  color: #183326 !important;
  display: flex !important;
  font-size: 11.5px !important;
  font-weight: 900 !important;
  gap: 5px !important;
  justify-content: space-between !important;
  min-height: 25px !important;
  padding: 5px 9px !important;
}
.leaderboard-mobile-score-stack b { font-size: 12.5px !important; font-weight: 950 !important; }
.leaderboard-mobile-score-stack em { font-size: 10.5px !important; font-style: normal !important; opacity: .74 !important; text-transform: lowercase !important; }
html[data-u14-effective-theme] .leaderboard-mobile-points { height: 62px !important; min-width: 62px !important; width: 62px !important; }
html[data-u14-effective-theme] .leaderboard-mobile-points strong { font-size: 1.20rem !important; }
html[data-u14-effective-theme] .leaderboard-mobile-points span { font-size: .55rem !important; letter-spacing: .055em !important; }
.leaderboard-mobile-row.top-1 .leaderboard-mobile-rank { background: rgba(255,240,1,.38) !important; border-color: rgba(217,169,40,.42) !important; color: #4C3E00 !important; }
.leaderboard-mobile-row.top-2 .leaderboard-mobile-rank { background: rgba(174,184,194,.22) !important; border-color: rgba(130,145,158,.30) !important; color: #2F3D47 !important; }
.leaderboard-mobile-row.top-3 .leaderboard-mobile-rank { background: rgba(183,121,58,.20) !important; border-color: rgba(183,121,58,.34) !important; color: #563414 !important; }
@media (min-width: 561px) {
  .leaderboard-main-wrap { display: block !important; }
  .leaderboard-mobile-list { display: none !important; }
}
@media (max-width: 560px) {
  .leaderboard-main-wrap { display: none !important; }
  .leaderboard-mobile-list { display: grid !important; gap: 8px !important; }
  .leaderboard-podium { grid-template-columns: 1fr !important; gap: 7px !important; }
  .leaderboard-podium-card { padding: 9px 10px !important; }
}
@media (max-width: 390px) {
  .leaderboard-mobile-row { grid-template-columns: 36px minmax(0,1fr) auto !important; gap: 7px !important; padding: 9px 7px !important; }
  .leaderboard-mobile-rank { min-width: 34px !important; font-size: .78rem !important; }
  .leaderboard-mobile-side { gap: 6px !important; }
  .leaderboard-mobile-score-stack { min-width: 70px !important; }
  .leaderboard-mobile-score-stack span { font-size: 10.5px !important; min-height: 23px !important; padding-inline: 7px !important; }
  html[data-u14-effective-theme] .leaderboard-mobile-points { height: 56px !important; min-width: 56px !important; width: 56px !important; }
}
html[data-u14-effective-theme="dark"] .leaderboard-podium-card, html[data-u14-theme="dark"] .leaderboard-podium-card { background: linear-gradient(180deg, rgba(13,23,17,.98), rgba(9,17,13,.96)) !important; border-color: rgba(229,244,229,.12) !important; box-shadow: 0 14px 28px rgba(0,0,0,.30) !important; }
html[data-u14-effective-theme="dark"] .leaderboard-podium-name span, html[data-u14-theme="dark"] .leaderboard-podium-name span { color: rgba(232,244,232,.68) !important; }
html[data-u14-effective-theme="dark"] .leaderboard-podium-points, html[data-u14-theme="dark"] .leaderboard-podium-points { color: #98F0B7 !important; }
html[data-u14-effective-theme="dark"] .leaderboard-mobile-rank, html[data-u14-theme="dark"] .leaderboard-mobile-rank { background: rgba(0,168,80,.14) !important; border-color: rgba(0,168,80,.28) !important; color: #CFFADE !important; }
html[data-u14-effective-theme="dark"] .leaderboard-mobile-score-stack span, html[data-u14-theme="dark"] .leaderboard-mobile-score-stack span { background: rgba(246,255,247,.055) !important; border-color: rgba(246,255,247,.14) !important; color: #ECF7ED !important; }
html[data-u14-effective-theme="dark"] .leaderboard-mobile-row.top-1 .leaderboard-mobile-rank, html[data-u14-theme="dark"] .leaderboard-mobile-row.top-1 .leaderboard-mobile-rank { background: rgba(255,240,1,.20) !important; border-color: rgba(255,240,1,.36) !important; color: #FFF7A4 !important; }
html[data-u14-effective-theme="dark"] .leaderboard-mobile-row.top-2 .leaderboard-mobile-rank, html[data-u14-theme="dark"] .leaderboard-mobile-row.top-2 .leaderboard-mobile-rank { background: rgba(174,184,194,.14) !important; border-color: rgba(174,184,194,.25) !important; color: #E5EBEF !important; }
html[data-u14-effective-theme="dark"] .leaderboard-mobile-row.top-3 .leaderboard-mobile-rank, html[data-u14-theme="dark"] .leaderboard-mobile-row.top-3 .leaderboard-mobile-rank { background: rgba(183,121,58,.18) !important; border-color: rgba(183,121,58,.32) !important; color: #FFD3A1 !important; }
/* U14-UI-LEADERBOARD-PRO-20260627-END */


/* U14-PARTICIPANT-PROFILE-BADGES-20260627-BEGIN */
/* v0.1.22k: adminstyrt profiltype, støttespillerbetaling og roligere/kulere leaderboard badges. */
.profile-type-badge,
.supporter-payment-badge,
.leaderboard-subgroup-badge {
  align-items: center !important;
  border: 1px solid rgba(24, 65, 39, .16) !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  font-size: .72rem !important;
  font-weight: 950 !important;
  gap: 5px !important;
  letter-spacing: .015em !important;
  line-height: 1 !important;
  min-height: 24px !important;
  padding: 5px 9px !important;
  white-space: nowrap !important;
}
.profile-type-badge.u14-player { background: rgba(0,168,80,.10) !important; border-color: rgba(0,168,80,.24) !important; color: #075C35 !important; }
.profile-type-badge.supporter { background: rgba(255,240,1,.18) !important; border-color: rgba(217,169,40,.30) !important; color: #5A4300 !important; }
.supporter-payment-badge.pending { background: rgba(255,240,1,.16) !important; border-color: rgba(217,169,40,.30) !important; color: #604800 !important; }
.supporter-payment-badge.confirmed,
.supporter-payment-badge.waived { background: rgba(0,168,80,.12) !important; border-color: rgba(0,168,80,.28) !important; color: #075C35 !important; }
.supporter-payment-badge.not-required { background: rgba(63,83,70,.07) !important; border-color: rgba(63,83,70,.13) !important; color: #516257 !important; }
.profile-card-head,
.supporter-payment-box {
  align-items: flex-start !important;
  display: flex !important;
  gap: 12px !important;
  justify-content: space-between !important;
}
.participant-profile-card .profile-card-head h2 { margin-bottom: 4px !important; }
.supporter-payment-box {
  background: rgba(255,255,255,.62) !important;
  border: 1px solid rgba(24,65,39,.10) !important;
  border-radius: 16px !important;
  margin: 10px 0 !important;
  padding: 12px !important;
}
.vipps-box {
  align-items: center !important;
  background: linear-gradient(135deg, rgba(255,240,1,.20), rgba(0,168,80,.08)) !important;
  border: 1px solid rgba(0,168,80,.20) !important;
  border-radius: 18px !important;
  display: grid !important;
  gap: 3px !important;
  margin: 10px 0 !important;
  padding: 14px !important;
}
.vipps-box span,
.vipps-box small { color: var(--muted) !important; font-size: .78rem !important; font-weight: 800 !important; text-transform: uppercase !important; letter-spacing: .04em !important; }
.vipps-box strong { color: var(--text) !important; font-size: clamp(1.6rem, 7vw, 2.35rem) !important; font-weight: 950 !important; letter-spacing: -.04em !important; }
.supporter-payment-form { margin-top: 10px !important; }
.success-text { color: #086B3B !important; font-weight: 900 !important; }
.admin-participants-table td { vertical-align: top !important; }
.participant-admin-form { min-width: min(440px, 70vw) !important; }
.participant-admin-form textarea { min-height: 54px !important; }
.leaderboard-name-line {
  align-items: center !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 7px !important;
  min-width: 0 !important;
}
.leaderboard-name-line strong { font-weight: 950 !important; }
.leaderboard-subgroup-badge {
  border-width: 1px !important;
  box-shadow: 0 3px 10px rgba(19, 42, 28, .05) !important;
  font-size: .68rem !important;
  min-height: 22px !important;
  padding: 4px 8px !important;
}
.leaderboard-subgroup-badge.player-gold,
.leaderboard-subgroup-badge.oldis-gold { background: rgba(255,240,1,.30) !important; border-color: rgba(217,169,40,.38) !important; color: #544000 !important; }
.leaderboard-subgroup-badge.player-silver,
.leaderboard-subgroup-badge.oldis-silver { background: rgba(174,184,194,.18) !important; border-color: rgba(130,145,158,.26) !important; color: #344450 !important; }
.leaderboard-subgroup-badge.player-bronze,
.leaderboard-subgroup-badge.oldis-bronze { background: rgba(183,121,58,.17) !important; border-color: rgba(183,121,58,.28) !important; color: #5A3512 !important; }
.leaderboard-subgroup-badge.oldis-gold::before,
.leaderboard-subgroup-badge.oldis-silver::before,
.leaderboard-subgroup-badge.oldis-bronze::before { content: "★"; font-size: .74rem !important; }
.leaderboard-subgroup-badge.player-gold::before,
.leaderboard-subgroup-badge.player-silver::before,
.leaderboard-subgroup-badge.player-bronze::before { content: "⚡"; font-size: .72rem !important; }
.leaderboard-podium-name .leaderboard-subgroup-badge {
  margin: 3px 0 1px !important;
  width: fit-content !important;
}
.leaderboard-mobile-main .leaderboard-subgroup-badge {
  margin-top: 4px !important;
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
@media (min-width: 561px) {
  .leaderboard-mobile-list { display: none !important; }
  .leaderboard-main-wrap { display: block !important; }
  table.leaderboard-main-table td.leaderboard-name { padding-top: 12px !important; padding-bottom: 12px !important; }
}
@media (max-width: 560px) {
  .leaderboard-mobile-row { grid-template-columns: 44px minmax(0, 1fr) auto !important; min-height: 82px !important; }
  .leaderboard-mobile-rank { min-width: 40px !important; }
  .leaderboard-mobile-main strong { white-space: normal !important; }
  .profile-card-head, .supporter-payment-box { align-items: stretch !important; flex-direction: column !important; }
  .participant-admin-form { min-width: 0 !important; }
}
html[data-u14-effective-theme="dark"] .profile-type-badge.u14-player,
html[data-u14-theme="dark"] .profile-type-badge.u14-player { background: rgba(0,168,80,.15) !important; border-color: rgba(0,168,80,.30) !important; color: #CFFADE !important; }
html[data-u14-effective-theme="dark"] .profile-type-badge.supporter,
html[data-u14-theme="dark"] .profile-type-badge.supporter { background: rgba(255,240,1,.14) !important; border-color: rgba(255,240,1,.26) !important; color: #FFF3A0 !important; }
html[data-u14-effective-theme="dark"] .supporter-payment-box,
html[data-u14-theme="dark"] .supporter-payment-box { background: rgba(246,255,247,.045) !important; border-color: rgba(246,255,247,.11) !important; }
html[data-u14-effective-theme="dark"] .vipps-box,
html[data-u14-theme="dark"] .vipps-box { background: linear-gradient(135deg, rgba(255,240,1,.11), rgba(0,168,80,.10)) !important; border-color: rgba(255,240,1,.16) !important; }
html[data-u14-effective-theme="dark"] .supporter-payment-badge.pending,
html[data-u14-theme="dark"] .supporter-payment-badge.pending { background: rgba(255,240,1,.12) !important; border-color: rgba(255,240,1,.25) !important; color: #FFF3A0 !important; }
html[data-u14-effective-theme="dark"] .supporter-payment-badge.confirmed,
html[data-u14-effective-theme="dark"] .supporter-payment-badge.waived,
html[data-u14-theme="dark"] .supporter-payment-badge.confirmed,
html[data-u14-theme="dark"] .supporter-payment-badge.waived { background: rgba(0,168,80,.14) !important; border-color: rgba(0,168,80,.28) !important; color: #CFFADE !important; }
html[data-u14-effective-theme="dark"] .leaderboard-subgroup-badge.player-gold,
html[data-u14-effective-theme="dark"] .leaderboard-subgroup-badge.oldis-gold,
html[data-u14-theme="dark"] .leaderboard-subgroup-badge.player-gold,
html[data-u14-theme="dark"] .leaderboard-subgroup-badge.oldis-gold { background: rgba(255,240,1,.16) !important; border-color: rgba(255,240,1,.28) !important; color: #FFF4A2 !important; }
html[data-u14-effective-theme="dark"] .leaderboard-subgroup-badge.player-silver,
html[data-u14-effective-theme="dark"] .leaderboard-subgroup-badge.oldis-silver,
html[data-u14-theme="dark"] .leaderboard-subgroup-badge.player-silver,
html[data-u14-theme="dark"] .leaderboard-subgroup-badge.oldis-silver { background: rgba(174,184,194,.12) !important; border-color: rgba(174,184,194,.23) !important; color: #E6EDF1 !important; }
html[data-u14-effective-theme="dark"] .leaderboard-subgroup-badge.player-bronze,
html[data-u14-effective-theme="dark"] .leaderboard-subgroup-badge.oldis-bronze,
html[data-u14-theme="dark"] .leaderboard-subgroup-badge.player-bronze,
html[data-u14-theme="dark"] .leaderboard-subgroup-badge.oldis-bronze { background: rgba(183,121,58,.15) !important; border-color: rgba(183,121,58,.29) !important; color: #FFD1A1 !important; }
/* U14-PARTICIPANT-PROFILE-BADGES-20260627-END */

/* U14-SUPPORTER-LAGBIDRAG-20260627-BEGIN */
/* v0.1.22l: U14 Spiller/U14 Supporter, adminstyrt lagbidrag og Lagbidrag-badge. */
.profile-badge-stack {
  align-items: flex-end !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  justify-content: flex-end !important;
}
.profile-type-badge.supporter::before { content: "🤝"; font-size: .82rem !important; }
.profile-type-badge.u14-player::before { content: "⚽"; font-size: .82rem !important; }
.leaderboard-team-contribution-badge {
  align-items: center !important;
  background: rgba(0,168,80,.11) !important;
  border: 1px solid rgba(0,168,80,.26) !important;
  border-radius: 999px !important;
  box-shadow: 0 3px 10px rgba(19, 42, 28, .05) !important;
  color: #075C35 !important;
  display: inline-flex !important;
  font-size: .68rem !important;
  font-weight: 950 !important;
  gap: 5px !important;
  letter-spacing: .012em !important;
  line-height: 1 !important;
  min-height: 22px !important;
  padding: 4px 8px !important;
  white-space: nowrap !important;
}
.leaderboard-team-contribution-badge::before { content: "💛"; font-size: .74rem !important; }
.leaderboard-team-contribution-badge.extra {
  background: linear-gradient(135deg, rgba(255,240,1,.34), rgba(0,168,80,.12)) !important;
  border-color: rgba(217,169,40,.42) !important;
  color: #5A4300 !important;
}
.leaderboard-team-contribution-badge.extra::before { content: "✨"; }
.leaderboard-podium-name .leaderboard-team-contribution-badge,
.leaderboard-mobile-main .leaderboard-team-contribution-badge { margin-top: 4px !important; width: fit-content !important; }
.leaderboard-name-line .leaderboard-team-contribution-badge { margin-left: 0 !important; }
.supporter-payment-badge.confirmed::before { content: "💛"; font-size: .78rem !important; }
.supporter-payment-badge.pending::before { content: "⏳"; font-size: .72rem !important; }
.supporter-payment-badge.waived::before { content: "✓"; font-size: .74rem !important; }
.supporter-payment-badge.not-required { opacity: .74 !important; }
.vipps-box small { text-transform: none !important; letter-spacing: .015em !important; }
@media (max-width: 560px) {
  .profile-badge-stack { align-items: flex-start !important; justify-content: flex-start !important; }
  .leaderboard-mobile-main .leaderboard-team-contribution-badge { max-width: 100% !important; overflow: hidden !important; text-overflow: ellipsis !important; }
}
html[data-u14-effective-theme="dark"] .leaderboard-team-contribution-badge,
html[data-u14-theme="dark"] .leaderboard-team-contribution-badge {
  background: rgba(0,168,80,.14) !important;
  border-color: rgba(0,168,80,.30) !important;
  color: #CFFADE !important;
}
html[data-u14-effective-theme="dark"] .leaderboard-team-contribution-badge.extra,
html[data-u14-theme="dark"] .leaderboard-team-contribution-badge.extra {
  background: linear-gradient(135deg, rgba(255,240,1,.17), rgba(0,168,80,.14)) !important;
  border-color: rgba(255,240,1,.31) !important;
  color: #FFF3A0 !important;
}
/* U14-SUPPORTER-LAGBIDRAG-20260627-END */

/* U14-BADGE-NAMES-20260627-BEGIN */
/* v0.1.22m: subgroup-badges følger nye profilnavn: U14 Spiller / U14 Supporter. */
.leaderboard-subgroup-badge.supporter-gold { background: linear-gradient(135deg, rgba(255,240,1,.34), rgba(255,255,255,.72)) !important; border-color: rgba(217,169,40,.42) !important; color: #574200 !important; }
.leaderboard-subgroup-badge.supporter-silver { background: linear-gradient(135deg, rgba(174,184,194,.22), rgba(255,255,255,.70)) !important; border-color: rgba(130,145,158,.30) !important; color: #344450 !important; }
.leaderboard-subgroup-badge.supporter-bronze { background: linear-gradient(135deg, rgba(183,121,58,.20), rgba(255,255,255,.70)) !important; border-color: rgba(183,121,58,.32) !important; color: #5A3512 !important; }
.leaderboard-subgroup-badge.supporter-gold::before,
.leaderboard-subgroup-badge.supporter-silver::before,
.leaderboard-subgroup-badge.supporter-bronze::before { content: "🤝"; font-size: .76rem !important; }
.leaderboard-subgroup-badge.player-gold::before,
.leaderboard-subgroup-badge.player-silver::before,
.leaderboard-subgroup-badge.player-bronze::before { content: "⚽"; font-size: .76rem !important; }
.leaderboard-subgroup-badge { max-width: 100%; }
.leaderboard-podium-name .leaderboard-subgroup-badge,
.leaderboard-mobile-main .leaderboard-subgroup-badge { white-space: normal !important; line-height: 1.05 !important; }
@media (min-width: 760px) {
  .leaderboard-podium-name .leaderboard-subgroup-badge,
  .leaderboard-mobile-main .leaderboard-subgroup-badge { white-space: nowrap !important; }
}
html[data-u14-effective-theme="dark"] .leaderboard-subgroup-badge.supporter-gold,
html[data-u14-theme="dark"] .leaderboard-subgroup-badge.supporter-gold { background: linear-gradient(135deg, rgba(255,240,1,.18), rgba(255,255,255,.045)) !important; border-color: rgba(255,240,1,.30) !important; color: #FFF4A2 !important; }
html[data-u14-effective-theme="dark"] .leaderboard-subgroup-badge.supporter-silver,
html[data-u14-theme="dark"] .leaderboard-subgroup-badge.supporter-silver { background: linear-gradient(135deg, rgba(174,184,194,.13), rgba(255,255,255,.04)) !important; border-color: rgba(174,184,194,.24) !important; color: #E6EDF1 !important; }
html[data-u14-effective-theme="dark"] .leaderboard-subgroup-badge.supporter-bronze,
html[data-u14-theme="dark"] .leaderboard-subgroup-badge.supporter-bronze { background: linear-gradient(135deg, rgba(183,121,58,.16), rgba(255,255,255,.04)) !important; border-color: rgba(183,121,58,.31) !important; color: #FFD1A1 !important; }
/* U14-BADGE-NAMES-20260627-END */


/* U14-CLUB-GROUP-SUPPORT-20260627-BEGIN */
.leaderboard-filter-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 12px;
}
.leaderboard-filter {
  border: 1px solid rgba(0, 168, 80, .18);
  background: rgba(255,255,255,.72);
  border-radius: 999px;
  color: var(--text);
  font-size: .84rem;
  font-weight: 850;
  padding: 8px 12px;
}
.leaderboard-filter.active {
  background: linear-gradient(135deg, rgba(255,240,1,.95), rgba(0,168,80,.16));
  border-color: rgba(0,168,80,.35);
  box-shadow: 0 10px 26px rgba(0,0,0,.08);
}
.membership-card {
  border: 1px solid rgba(22,68,40,.12);
  border-radius: 18px;
  margin-top: 12px;
  padding: 14px;
  background: rgba(255,255,255,.62);
}
.membership-card-head {
  align-items: flex-start;
  display: flex;
  gap: 12px;
  justify-content: space-between;
  margin-bottom: 10px;
}
.add-membership-card {
  background: rgba(0,168,80,.055);
  border-style: dashed;
}
.profile-type-badge.player,
.profile-type-badge.u14-player {
  background: rgba(255,240,1,.5) !important;
  border-color: rgba(130,111,0,.22) !important;
  color: #4b4200 !important;
}
.profile-type-badge.supporter {
  background: rgba(0,168,80,.12) !important;
  border-color: rgba(0,168,80,.24) !important;
  color: #064b2a !important;
}
.leaderboard-subgroup-badge.player-gold,
.leaderboard-subgroup-badge.supporter-gold { box-shadow: 0 8px 18px rgba(138,106,0,.12); }
.leaderboard-subgroup-badge.player-gold::before { content: '⚽ '; }
.leaderboard-subgroup-badge.supporter-gold::before { content: '👏 '; }
html[data-u14-effective-theme="dark"] .leaderboard-filter,
html[data-u14-theme="dark"] .leaderboard-filter,
html[data-u14-effective-theme="dark"] .membership-card,
html[data-u14-theme="dark"] .membership-card {
  background: rgba(246,255,247,.045);
  border-color: rgba(246,255,247,.12);
}
html[data-u14-effective-theme="dark"] .leaderboard-filter.active,
html[data-u14-theme="dark"] .leaderboard-filter.active {
  background: linear-gradient(135deg, rgba(255,240,1,.2), rgba(0,168,80,.16));
}
/* U14-CLUB-GROUP-SUPPORT-20260627-END */


/* U14-PRIVACY-SCOPE-FILTERS-20260627-BEGIN */
/* v0.1.22o: tydelig Spiller/Supporter-scope, U14 defaultgruppe, personvern-scope og rundetabeller som Livetabell. */
.privacy-scope-form select {
  margin-top: 6px !important;
}
.privacy-scope-row {
  border: 1px solid rgba(22,68,40,.10) !important;
  border-radius: 16px !important;
  display: grid !important;
  gap: 8px !important;
  margin-top: 10px !important;
  padding: 10px !important;
  background: rgba(255,255,255,.54) !important;
}
.privacy-scope-row p { margin: 0 !important; }
.privacy-scope-choice { min-height: 42px !important; }
.leaderboard-filter-bar::before {
  content: "Vis:";
  align-self: center;
  color: var(--muted);
  font-size: .82rem;
  font-weight: 900;
  letter-spacing: .02em;
  text-transform: uppercase;
}
.leaderboard-filter { max-width: 100%; overflow: hidden; text-overflow: ellipsis; }
.round-leaderboard-grid {
  grid-template-columns: 1fr !important;
}
.round-leaderboard-card.leaderboard-round-card {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}
.round-leaderboard-card .round-leaderboard-head,
.round-leaderboard-card.leaderboard-round-card > p {
  padding-left: 2px !important;
  padding-right: 2px !important;
}
.round-leaderboard-table-wrap {
  border-radius: 18px !important;
  overflow: hidden !important;
  border: 1px solid rgba(22,68,40,.10) !important;
  box-shadow: 0 10px 30px rgba(20,32,24,.06) !important;
}
.round-leaderboard-table.leaderboard-main-table {
  margin: 0 !important;
}
.round-leaderboard-table .leaderboard-name-line { gap: 0 !important; }
.round-leaderboard-table .leaderboard-name-line strong { font-weight: 900 !important; }
.round-leaderboard-table .leaderboard-points,
.round-leaderboard-table .leaderboard-hub,
.round-leaderboard-table .leaderboard-exact {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
@media (min-width: 900px) {
  .round-leaderboard-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; align-items: start !important; }
  .round-leaderboard-table.leaderboard-main-table th,
  .round-leaderboard-table.leaderboard-main-table td { padding-left: 9px !important; padding-right: 9px !important; }
}
html[data-u14-effective-theme="dark"] .privacy-scope-row,
html[data-u14-theme="dark"] .privacy-scope-row,
html[data-u14-effective-theme="dark"] .round-leaderboard-table-wrap,
html[data-u14-theme="dark"] .round-leaderboard-table-wrap {
  background: rgba(246,255,247,.045) !important;
  border-color: rgba(246,255,247,.12) !important;
}
/* U14-PRIVACY-SCOPE-FILTERS-20260627-END */


/* U14-UI-LEADERBOARD-TAB-HOTFIX-20260627-BEGIN */
.round-leaderboards .section-title-row { margin-top: 16px; }
.round-leaderboards .section-title-row p { margin: 3px 0 0; }
/* U14-UI-LEADERBOARD-TAB-HOTFIX-20260627-END */


/* U14-LEADERBOARD-ROUND-LIVE-POLISH-20260627-BEGIN */
/* v0.1.22q: medalje etter plassering, Resultat-label, livekamper over Livetabellen og maks topp 50 %. */
.leaderboard-rank-inner { align-items: center !important; display: inline-flex !important; gap: 6px !important; justify-content: flex-start !important; min-width: 54px !important; }
.leaderboard-rank-number { order: 1 !important; }
.leaderboard-rank-medal { order: 2 !important; display: inline-flex !important; line-height: 1 !important; transform: translateY(-1px); }
.leaderboard-live-now { margin: 14px 0 14px !important; }
.leaderboard-live-now .section-title-row.compact { margin-bottom: 8px !important; }
.leaderboard-live-grid { display: grid !important; gap: 10px !important; grid-template-columns: 1fr !important; }
.leaderboard-live-card { align-items: center !important; background: linear-gradient(135deg, rgba(0,168,80,.075), rgba(255,240,1,.11)) !important; border: 1px solid rgba(0,168,80,.16) !important; border-radius: 18px !important; box-shadow: 0 12px 28px rgba(15,38,23,.06) !important; display: grid !important; gap: 10px !important; grid-template-columns: minmax(0,1.6fr) repeat(3,minmax(84px,.6fr)) minmax(96px,.7fr) !important; padding: 12px 14px !important; }
.leaderboard-live-match { min-width: 0 !important; }
.leaderboard-live-match strong { display: block !important; font-size: .98rem !important; font-weight: 950 !important; line-height: 1.15 !important; margin-top: 4px !important; overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; }
.leaderboard-live-match small, .leaderboard-live-current span, .leaderboard-live-prediction span, .leaderboard-live-points em { color: var(--muted) !important; display: block !important; font-size: .72rem !important; font-weight: 800 !important; letter-spacing: .02em !important; line-height: 1.1 !important; text-transform: uppercase !important; }
.leaderboard-live-current strong, .leaderboard-live-prediction strong { display: block !important; font-size: .98rem !important; font-weight: 950 !important; line-height: 1.15 !important; margin-top: 4px !important; }
.leaderboard-live-points { align-items: center !important; border: 1px solid rgba(22,68,40,.12) !important; border-radius: 16px !important; background: rgba(255,255,255,.58) !important; display: flex !important; flex-direction: column !important; justify-content: center !important; min-height: 52px !important; padding: 8px 10px !important; text-align: center !important; }
.leaderboard-live-points strong { font-size: 1.15rem !important; font-weight: 950 !important; }
.leaderboard-live-points.live-points, .leaderboard-live-points.full-points, .leaderboard-live-points.hub-only-points, .leaderboard-live-points.score-only-points { background: rgba(0,168,80,.12) !important; border-color: rgba(0,168,80,.26) !important; color: #064b2a !important; }
.leaderboard-live-points.zero-points, .leaderboard-live-points.muted { background: rgba(255,255,255,.50) !important; color: var(--muted) !important; }
.round-leaderboard-table .leaderboard-rank-inner { min-width: 48px !important; }
.round-leaderboard-table .leaderboard-rank-medal { font-size: .95rem !important; }
@media (max-width: 860px) { .leaderboard-live-card { align-items: stretch !important; grid-template-columns: 1fr 1fr !important; } .leaderboard-live-match { grid-column: 1 / -1 !important; } .leaderboard-live-match strong { white-space: normal !important; } .leaderboard-live-points { grid-column: 1 / -1 !important; flex-direction: row !important; gap: 8px !important; min-height: 44px !important; } .leaderboard-live-points em { text-transform: none !important; } }
@media (max-width: 560px) { .leaderboard-rank-inner { min-width: 48px !important; } .leaderboard-live-card { padding: 11px !important; } .leaderboard-live-current strong, .leaderboard-live-prediction strong { font-size: .93rem !important; } }
html[data-u14-effective-theme="dark"] .leaderboard-live-card, html[data-u14-theme="dark"] .leaderboard-live-card { background: linear-gradient(135deg, rgba(0,168,80,.10), rgba(255,240,1,.07)) !important; border-color: rgba(246,255,247,.12) !important; box-shadow: none !important; }
html[data-u14-effective-theme="dark"] .leaderboard-live-points, html[data-u14-theme="dark"] .leaderboard-live-points { background: rgba(246,255,247,.045) !important; border-color: rgba(246,255,247,.13) !important; }
html[data-u14-effective-theme="dark"] .leaderboard-live-points.live-points, html[data-u14-theme="dark"] .leaderboard-live-points.live-points, html[data-u14-effective-theme="dark"] .leaderboard-live-points.full-points, html[data-u14-theme="dark"] .leaderboard-live-points.full-points, html[data-u14-effective-theme="dark"] .leaderboard-live-points.hub-only-points, html[data-u14-theme="dark"] .leaderboard-live-points.hub-only-points, html[data-u14-effective-theme="dark"] .leaderboard-live-points.score-only-points, html[data-u14-theme="dark"] .leaderboard-live-points.score-only-points { background: rgba(0,168,80,.14) !important; border-color: rgba(0,168,80,.30) !important; color: #CFFADE !important; }
/* U14-LEADERBOARD-ROUND-LIVE-POLISH-20260627-END */

/* v0.1.23g incident apology UX polish */
/* v0.1.23g3 restore frontend render helpers; no UX flow changes */
/* v0.1.23g4 mobile-first professional polish; CSS/markup only, no app-flow changes */
.incident-apology-backdrop {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  min-height: 100dvh;
  padding: clamp(.55rem, 2vw, 1.25rem);
  overflow: auto;
  background:
    radial-gradient(circle at top left, rgba(255,240,1,.18), transparent 32rem),
    radial-gradient(circle at bottom right, rgba(0,168,80,.22), transparent 28rem),
    rgba(3, 23, 10, 0.72);
  backdrop-filter: blur(5px);
}
.incident-apology-modal {
  width: min(760px, 100%);
  margin: auto 0;
  border-radius: 28px;
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,255,250,.98));
  color: var(--text, #102015);
  border: 1px solid rgba(0, 168, 80, 0.24);
  box-shadow: 0 28px 90px rgba(0,0,0,.32);
  overflow: hidden;
}
.incident-apology-hero {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: .9rem;
  align-items: start;
  padding: clamp(1.05rem, 3vw, 1.65rem) clamp(1.05rem, 3vw, 1.75rem) .95rem;
  background: linear-gradient(135deg, rgba(255,240,1,.28), rgba(0,168,80,.12));
  border-bottom: 1px solid rgba(0, 168, 80, 0.15);
}
.incident-apology-badge {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border-radius: 18px;
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(0,168,80,.18);
  box-shadow: 0 10px 24px rgba(13,57,29,.13);
  font-size: 1.45rem;
}
.incident-apology-title-wrap { min-width: 0; }
.incident-apology-hero .eyebrow {
  margin: 0 0 .25rem;
  color: #0b6b39;
  font-weight: 950;
  letter-spacing: .07em;
}
.incident-apology-hero h2 {
  margin: 0;
  font-size: clamp(1.45rem, 3.2vw, 2.15rem);
  line-height: 1.08;
  letter-spacing: -.035em;
}
.incident-apology-lead {
  margin: .5rem 0 0;
  color: var(--muted, #536158);
  font-size: 1rem;
  line-height: 1.45;
}
.incident-apology-close {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border: 1px solid rgba(0,168,80,.18);
  border-radius: 999px;
  background: rgba(255,255,255,.76);
  color: inherit;
  font-size: 1.35rem;
  line-height: 1;
  cursor: pointer;
}
.incident-apology-stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem;
  padding: 1rem clamp(1.05rem, 3vw, 1.75rem) .25rem;
}
.incident-stat-card {
  border-radius: 20px;
  padding: .95rem;
  background: rgba(0,168,80,.075);
  border: 1px solid rgba(0,168,80,.16);
}
.incident-stat-card-warn {
  background: rgba(255,240,1,.19);
  border-color: rgba(173,140,0,.18);
}
.incident-stat-card span,
.incident-stat-card small {
  display: block;
  color: var(--muted, #536158);
  font-size: .78rem;
  font-weight: 850;
  letter-spacing: .02em;
}
.incident-stat-card strong {
  display: block;
  margin: .15rem 0 .05rem;
  font-size: clamp(2rem, 6vw, 3rem);
  line-height: 1;
  letter-spacing: -.055em;
}
.incident-apology-body {
  display: grid;
  gap: .72rem;
  padding: .85rem clamp(1.05rem, 3vw, 1.75rem) 1rem;
  line-height: 1.58;
  font-size: 1rem;
}
.incident-apology-body p { margin: 0; }
.incident-apology-first {
  font-size: 1.08rem;
  font-weight: 800;
}
.incident-apology-note {
  border-radius: 20px;
  padding: .9rem 1rem;
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(0,168,80,.14);
}
.incident-apology-note strong {
  display: block;
  margin-bottom: .25rem;
}
.incident-apology-sorry {
  border-left: 4px solid #00a850;
  padding: .7rem .85rem;
  border-radius: 0 16px 16px 0;
  background: rgba(0,168,80,.08);
  font-weight: 800;
}
.incident-response-box {
  padding: 1rem clamp(1.05rem, 3vw, 1.75rem) clamp(1rem, 3vw, 1.5rem);
  background: rgba(3,68,32,.045);
  border-top: 1px solid rgba(0,168,80,.14);
}
.incident-response-box h3 {
  margin: 0 0 .2rem;
  font-size: 1.18rem;
}
.incident-choice-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .65rem;
  margin: .75rem 0 .9rem;
}
.incident-choice {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: .7rem;
  min-height: 74px;
  padding: .78rem .85rem;
  border-radius: 18px;
  border: 1px solid rgba(0,168,80,.18);
  background: rgba(255,255,255,.72);
  cursor: pointer;
  transition: transform .12s ease, border-color .12s ease, box-shadow .12s ease, background .12s ease;
}
.incident-choice:hover,
.incident-choice:focus-within {
  transform: translateY(-1px);
  border-color: rgba(0,168,80,.36);
  box-shadow: 0 12px 24px rgba(13,57,29,.10);
}
.incident-choice.is-selected {
  background: linear-gradient(135deg, rgba(0,168,80,.14), rgba(255,240,1,.20));
  border-color: rgba(0,168,80,.48);
  box-shadow: 0 12px 26px rgba(13,57,29,.12);
}
.incident-choice input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.incident-choice-icon {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 15px;
  background: rgba(255,255,255,.80);
  font-size: 1.35rem;
}
.incident-choice-text strong,
.incident-choice-text small {
  display: block;
}
.incident-choice-text strong {
  line-height: 1.15;
  font-size: .98rem;
}
.incident-choice-text small {
  margin-top: .25rem;
  color: var(--muted, #536158);
  line-height: 1.25;
}
.incident-feedback-wrap {
  margin-top: .7rem;
  padding: .85rem;
  border-radius: 18px;
  background: rgba(255,255,255,.68);
  border: 1px solid rgba(0,168,80,.14);
}
.incident-feedback-label {
  display: grid;
  gap: .45rem;
  font-weight: 850;
}
.incident-feedback-label textarea {
  width: 100%;
  min-height: 7rem;
  resize: vertical;
  border-radius: 14px;
  border: 1px solid rgba(0,168,80,.22);
  padding: .8rem;
  font: inherit;
  line-height: 1.45;
}
.incident-feedback-meta {
  display: flex;
  justify-content: space-between;
  gap: .75rem;
  margin-top: .4rem;
  color: var(--muted, #536158);
  font-size: .8rem;
  font-weight: 800;
}
.incident-actions {
  display: flex;
  gap: .65rem;
  flex-wrap: wrap;
  align-items: center;
  margin-top: .85rem;
}
.incident-actions button {
  min-height: 44px;
}
.incident-apology-preview {
  border: 1px solid rgba(0, 168, 80, 0.18);
  border-radius: 22px;
  padding: 1rem;
  background: linear-gradient(180deg, rgba(0,168,80,.07), rgba(255,240,1,.10));
  line-height: 1.55;
}
.incident-response-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: .75rem;
}
.feedback-box {
  white-space: normal;
  max-width: 26rem;
  padding: .55rem;
  border-radius: .75rem;
  background: rgba(0, 168, 80, 0.08);
}
@media (max-width: 720px) {
  .incident-apology-backdrop {
    align-items: stretch;
    justify-content: stretch;
    padding: 0;
  }
  .incident-apology-modal {
    width: 100%;
    min-height: 100dvh;
    margin: 0;
    border-radius: 0;
    display: flex;
    flex-direction: column;
  }
  .incident-apology-hero {
    grid-template-columns: auto minmax(0, 1fr) auto;
    position: sticky;
    top: 0;
    z-index: 2;
  }
  .incident-apology-badge {
    width: 40px;
    height: 40px;
    border-radius: 14px;
    font-size: 1.2rem;
  }
  .incident-apology-stats {
    grid-template-columns: 1fr 1fr;
  }
  .incident-choice-grid {
    grid-template-columns: 1fr;
  }
  .incident-choice {
    min-height: 66px;
  }
  .incident-response-box {
    margin-top: auto;
    position: sticky;
    bottom: 0;
    background: rgba(248,255,250,.98);
    box-shadow: 0 -14px 32px rgba(13,57,29,.12);
  }
  .incident-actions {
    display: grid;
    grid-template-columns: 1fr;
  }
  .incident-actions button {
    width: 100%;
  }
}
@media (max-width: 420px) {
  .incident-apology-hero {
    gap: .65rem;
  }
  .incident-apology-stats {
    grid-template-columns: 1fr;
  }
  .incident-apology-hero h2 {
    font-size: 1.32rem;
  }
  .incident-apology-lead {
    font-size: .92rem;
  }
}
[data-u14-effective-theme="dark"] .incident-apology-modal,
[data-u14-theme="dark"] .incident-apology-modal {
  background: linear-gradient(180deg, #0d1f13, #08170d);
  color: #eef8f0;
  border-color: rgba(246,255,247,.12);
}
[data-u14-effective-theme="dark"] .incident-apology-hero,
[data-u14-theme="dark"] .incident-apology-hero {
  background: linear-gradient(135deg, rgba(255,240,1,.13), rgba(0,168,80,.13));
}
[data-u14-effective-theme="dark"] .incident-apology-hero .eyebrow,
[data-u14-theme="dark"] .incident-apology-hero .eyebrow {
  color: #c7f7d5;
}
[data-u14-effective-theme="dark"] .incident-apology-badge,
[data-u14-theme="dark"] .incident-apology-badge,
[data-u14-effective-theme="dark"] .incident-apology-close,
[data-u14-theme="dark"] .incident-apology-close,
[data-u14-effective-theme="dark"] .incident-choice,
[data-u14-theme="dark"] .incident-choice,
[data-u14-effective-theme="dark"] .incident-apology-note,
[data-u14-theme="dark"] .incident-apology-note,
[data-u14-effective-theme="dark"] .incident-feedback-wrap,
[data-u14-theme="dark"] .incident-feedback-wrap {
  background: rgba(255,255,255,.06);
  border-color: rgba(246,255,247,.13);
}
[data-u14-effective-theme="dark"] .incident-choice.is-selected,
[data-u14-theme="dark"] .incident-choice.is-selected {
  background: linear-gradient(135deg, rgba(0,168,80,.18), rgba(255,240,1,.10));
  border-color: rgba(0,168,80,.45);
}
[data-u14-effective-theme="dark"] .incident-stat-card,
[data-u14-theme="dark"] .incident-stat-card,
[data-u14-effective-theme="dark"] .incident-response-box,
[data-u14-theme="dark"] .incident-response-box,
[data-u14-effective-theme="dark"] .incident-apology-sorry,
[data-u14-theme="dark"] .incident-apology-sorry {
  background: rgba(255,255,255,.045);
  border-color: rgba(246,255,247,.12);
}
[data-u14-effective-theme="dark"] .incident-response-box,
[data-u14-theme="dark"] .incident-response-box {
  box-shadow: none;
}
@media (max-width: 720px) {
  [data-u14-effective-theme="dark"] .incident-response-box,
  [data-u14-theme="dark"] .incident-response-box {
    background: rgba(8,23,13,.98);
  }
}
/* U14-INCIDENT-APOLOGY-UX-POLISH-20260628 */


/* v0.1.23g4 incident apology mobile-first professional polish */
.incident-apology-backdrop {
  align-items: center;
  padding: clamp(.75rem, 2.5vw, 1.5rem);
  background:
    radial-gradient(circle at 10% 0%, rgba(255,240,1,.18), transparent 30rem),
    radial-gradient(circle at 90% 100%, rgba(0,168,80,.20), transparent 30rem),
    rgba(2, 18, 8, .76);
}
.incident-apology-modal {
  width: min(720px, 100%);
  max-height: calc(100dvh - 1.5rem);
  display: flex;
  flex-direction: column;
  border-radius: 30px;
  overflow: hidden;
  background: #fbfefb;
  color: #102015;
}
.incident-apology-content {
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}
.incident-apology-hero {
  flex: 0 0 auto;
  padding: 1.25rem 1.35rem 1.05rem;
  gap: .85rem;
  background:
    linear-gradient(135deg, rgba(255,240,1,.30), rgba(0,168,80,.10)),
    #ffffff;
}
.incident-apology-badge {
  width: 46px;
  height: 46px;
  border-radius: 16px;
}
.incident-apology-close {
  width: 40px;
  height: 40px;
  font-size: 1.35rem;
  background: rgba(255,255,255,.88);
}
.incident-apology-hero .eyebrow {
  margin-bottom: .28rem;
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .09em;
}
.incident-apology-hero h2 {
  max-width: 16em;
  font-size: clamp(1.42rem, 2.6vw, 2rem);
  line-height: 1.08;
}
.incident-apology-lead {
  max-width: 42rem;
  margin-top: .55rem;
  font-size: .98rem;
  line-height: 1.48;
}
.incident-apology-stats {
  padding: 1rem 1.35rem .45rem;
  gap: .75rem;
}
.incident-stat-card {
  display: grid;
  align-content: center;
  min-height: 106px;
  padding: 1rem;
  border-radius: 22px;
  background: #eefaf2;
}
.incident-stat-card-warn {
  background: #fff9cd;
}
.incident-stat-card span,
.incident-stat-card small {
  font-size: .78rem;
  line-height: 1.25;
}
.incident-stat-card strong {
  margin: .18rem 0 .08rem;
  font-size: clamp(2.2rem, 5vw, 3.15rem);
}
.incident-apology-body {
  padding: .85rem 1.35rem 1.1rem;
  gap: .72rem;
  font-size: 1rem;
  line-height: 1.62;
}
.incident-apology-first {
  font-size: 1.06rem;
  line-height: 1.45;
}
.incident-apology-note {
  padding: .9rem 1rem;
  border-radius: 20px;
  background: #ffffff;
}
.incident-apology-sorry {
  margin-top: .05rem;
  border-left: 0;
  border-radius: 20px;
  padding: .95rem 1rem;
  background: linear-gradient(135deg, rgba(0,168,80,.10), rgba(255,240,1,.18));
  line-height: 1.48;
}
.incident-response-box {
  margin: 0 1.35rem 1.35rem;
  padding: 1.05rem;
  border: 1px solid rgba(0,168,80,.16);
  border-radius: 24px;
  background: #ffffff;
  box-shadow: 0 16px 36px rgba(13,57,29,.08);
}
.incident-response-heading h3 {
  margin: 0;
  font-size: 1.18rem;
  line-height: 1.2;
}
.incident-response-heading p {
  margin: .25rem 0 0;
  color: var(--muted, #536158);
  font-size: .92rem;
  line-height: 1.35;
}
.incident-choice-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .65rem;
  margin: .9rem 0 .8rem;
}
.incident-choice {
  min-height: 72px;
  padding: .75rem .82rem;
  border-radius: 18px;
  background: #f8fdf9;
}
.incident-choice-icon {
  width: 40px;
  height: 40px;
  border-radius: 14px;
  background: #ffffff;
  box-shadow: inset 0 0 0 1px rgba(0,168,80,.10);
}
.incident-choice-text strong {
  font-size: .96rem;
  line-height: 1.16;
}
.incident-choice-text small {
  font-size: .8rem;
  line-height: 1.25;
}
.incident-feedback-wrap {
  padding: .9rem;
  border-radius: 18px;
  background: #f8fdf9;
}
.incident-feedback-label textarea {
  min-height: 6.5rem;
  background: #ffffff;
}
.incident-actions {
  margin-top: .9rem;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
}
.incident-actions button {
  border-radius: 999px;
  min-height: 46px;
  padding-inline: 1.05rem;
}
.incident-save-status {
  margin: .65rem 0 0;
}

@media (max-width: 720px) {
  .incident-apology-backdrop {
    align-items: flex-start;
    padding: max(.6rem, env(safe-area-inset-top)) .6rem max(.6rem, env(safe-area-inset-bottom));
  }
  .incident-apology-modal {
    width: 100%;
    max-height: calc(100dvh - 1.2rem);
    min-height: 0;
    margin: 0;
    border-radius: 24px;
  }
  .incident-apology-hero {
    position: relative;
    top: auto;
    z-index: auto;
    grid-template-columns: minmax(0, 1fr) auto;
    padding: 1rem 1rem .85rem;
  }
  .incident-apology-badge {
    display: none;
  }
  .incident-apology-close {
    width: 36px;
    height: 36px;
  }
  .incident-apology-hero .eyebrow {
    font-size: .66rem;
  }
  .incident-apology-hero h2 {
    font-size: clamp(1.28rem, 6vw, 1.62rem);
    line-height: 1.08;
    letter-spacing: -.03em;
  }
  .incident-apology-lead {
    font-size: .9rem;
    line-height: 1.38;
  }
  .incident-apology-content {
    overflow: auto;
  }
  .incident-apology-stats {
    grid-template-columns: 1fr 1fr;
    padding: .75rem .85rem .25rem;
    gap: .5rem;
  }
  .incident-stat-card {
    min-height: 86px;
    padding: .72rem;
    border-radius: 18px;
  }
  .incident-stat-card span,
  .incident-stat-card small {
    font-size: .68rem;
    line-height: 1.18;
  }
  .incident-stat-card strong {
    font-size: clamp(1.85rem, 13vw, 2.55rem);
  }
  .incident-apology-body {
    padding: .75rem .95rem .9rem;
    gap: .62rem;
    font-size: .94rem;
    line-height: 1.52;
  }
  .incident-apology-first {
    font-size: .98rem;
  }
  .incident-apology-note,
  .incident-apology-sorry {
    border-radius: 18px;
    padding: .78rem .85rem;
  }
  .incident-response-box {
    position: static;
    margin: 0 .85rem .95rem;
    padding: .85rem;
    border-radius: 22px;
    box-shadow: 0 10px 26px rgba(13,57,29,.08);
  }
  .incident-response-heading h3 {
    font-size: 1.05rem;
  }
  .incident-response-heading p {
    font-size: .84rem;
  }
  .incident-choice-grid {
    grid-template-columns: 1fr;
    gap: .48rem;
    margin: .7rem 0 .65rem;
  }
  .incident-choice {
    min-height: 56px;
    grid-template-columns: 34px minmax(0,1fr);
    gap: .58rem;
    padding: .58rem .65rem;
    border-radius: 16px;
  }
  .incident-choice-icon {
    width: 34px;
    height: 34px;
    border-radius: 12px;
    font-size: 1.08rem;
  }
  .incident-choice-text strong {
    font-size: .9rem;
    line-height: 1.12;
  }
  .incident-choice-text small {
    margin-top: .12rem;
    font-size: .76rem;
    line-height: 1.16;
  }
  .incident-feedback-wrap {
    padding: .72rem;
    border-radius: 16px;
  }
  .incident-feedback-label textarea {
    min-height: 5.5rem;
    padding: .68rem;
    font-size: .92rem;
  }
  .incident-feedback-meta {
    font-size: .72rem;
  }
  .incident-actions {
    grid-template-columns: 1fr;
    gap: .5rem;
  }
  .incident-actions button {
    width: 100%;
    min-height: 44px;
  }
}

@media (max-width: 380px) {
  .incident-apology-backdrop {
    padding: .35rem;
  }
  .incident-apology-modal {
    max-height: calc(100dvh - .7rem);
    border-radius: 20px;
  }
  .incident-apology-hero {
    padding: .82rem .78rem .7rem;
  }
  .incident-apology-lead {
    display: none;
  }
  .incident-apology-stats {
    padding-inline: .65rem;
  }
  .incident-stat-card {
    min-height: 78px;
    padding: .62rem;
  }
  .incident-stat-card strong {
    font-size: 2rem;
  }
  .incident-apology-body {
    padding-inline: .72rem;
    font-size: .9rem;
  }
  .incident-response-box {
    margin-inline: .62rem;
    padding: .72rem;
  }
}

[data-u14-effective-theme="dark"] .incident-apology-modal,
[data-u14-theme="dark"] .incident-apology-modal {
  background: #0d1f13;
}
[data-u14-effective-theme="dark"] .incident-apology-content,
[data-u14-theme="dark"] .incident-apology-content {
  background: #0d1f13;
}
[data-u14-effective-theme="dark"] .incident-response-box,
[data-u14-theme="dark"] .incident-response-box {
  background: rgba(255,255,255,.055);
}
@media (max-width: 720px) {
  [data-u14-effective-theme="dark"] .incident-response-box,
  [data-u14-theme="dark"] .incident-response-box {
    background: rgba(255,255,255,.055);
  }
}

/* v0.1.23i-C knockout prediction input */
.advance-choice-list {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.advance-choice {
  background: #ffffff;
  border: 1px solid #cbd5e1;
  border-radius: 14px;
  color: #243a2c;
  cursor: pointer;
  font-weight: 950;
  min-height: 44px;
  padding: 10px 12px;
  text-align: center;
}
.advance-choice.selected {
  background: #eaf7ed;
  border-color: #00a850;
  box-shadow: 0 0 0 3px rgba(0, 168, 80, .12);
  color: #0f5132;
}
.input-subhint {
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
}
.tip-chip.advance {
  background: #eef6ff;
  border-color: #bfdbfe;
  color: #1e3a8a;
}
html[data-u14-theme="dark"] .advance-choice {
  background: #111827;
  border-color: #374151;
  color: #f9fafb;
}
html[data-u14-theme="dark"] .advance-choice.selected {
  background: #123d27;
  border-color: #4ade80;
  color: #bbf7d0;
}
html[data-u14-theme="dark"] .tip-chip.advance {
  background: #172554;
  border-color: #60a5fa;
  color: #dbeafe;
}

/* v0.1.23i-E2 Trebonus official bracket path */
.trebonus-panel h2 { margin-top:0; }
.trebonus-status-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; margin:14px 0; }
.trebonus-status-grid > div { border:1px solid var(--line); border-radius:16px; padding:12px; background:rgba(255,255,255,.72); }
.trebonus-status-grid span { display:block; color:var(--muted); font-size:.82rem; }
.trebonus-status-grid strong { font-size:1.15rem; }
.trebonus-rotate-hint { display:none; align-items:center; gap:10px; border:1px dashed rgba(22,163,74,.35); border-radius:16px; padding:10px 12px; background:rgba(34,197,94,.08); color:var(--muted); margin:10px 0; }
.trebonus-phone-icon { display:inline-grid; place-items:center; width:24px; height:34px; border:2px solid currentColor; border-radius:6px; font-size:0; animation:trebonus-phone-rotate 2.8s ease-in-out infinite; transform-origin:center; }
.trebonus-phone-icon::after { content:''; width:4px; height:4px; border-radius:999px; background:currentColor; align-self:end; margin-bottom:3px; }
@keyframes trebonus-phone-rotate { 0%,35%{transform:rotate(0deg)} 55%,85%{transform:rotate(90deg)} 100%{transform:rotate(0deg)} }
.trebonus-bracket-scroll { overflow-x:auto; margin:16px -4px; padding:4px 4px 14px; scroll-snap-type:x proximity; }
.trebonus-bracket-map { min-width:1120px; display:flex; flex-direction:column; gap:14px; }
.trebonus-bracket-source { border:1px solid rgba(245,158,11,.28); background:rgba(254,243,199,.45); color:#78350f; border-radius:16px; padding:10px 12px; font-size:.88rem; }
.trebonus-quadrants { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.trebonus-quadrant { border:1px solid var(--line); border-radius:22px; padding:12px; background:rgba(255,255,255,.52); scroll-snap-align:start; }
.trebonus-quadrant > header { display:flex; justify-content:space-between; gap:10px; align-items:center; margin-bottom:10px; }
.trebonus-quadrant > header strong { font-size:1rem; }
.trebonus-quadrant > header span { color:var(--muted); font-size:.82rem; }
.trebonus-quadrant-grid { display:grid; grid-template-columns:minmax(190px,1.25fr) minmax(170px,1fr) minmax(170px,.95fr); gap:10px; align-items:center; }
.trebonus-final-path { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:14px; border:1px solid var(--line); border-radius:22px; padding:12px; background:rgba(255,255,255,.52); }
.trebonus-round { display:flex; flex-direction:column; gap:8px; }
.trebonus-round h3 { margin:0; font-size:1rem; }
.trebonus-round > small { color:var(--muted); min-height:2.2em; }
.trebonus-match-card { position:relative; border:1px solid var(--line); border-radius:16px; padding:10px; background:rgba(255,255,255,.82); box-shadow:0 6px 18px rgba(15,23,42,.06); }
.trebonus-match-card::after { content:''; position:absolute; top:50%; right:-11px; width:11px; border-top:2px solid rgba(22,163,74,.22); }
.trebonus-round:last-child .trebonus-match-card::after, .trebonus-final-round .trebonus-match-card::after { display:none; }
.trebonus-match-card.has-pick { border-color:rgba(22,163,74,.72); box-shadow:0 8px 24px rgba(22,163,74,.12); }
.trebonus-match-head { display:flex; justify-content:space-between; gap:8px; align-items:flex-start; margin-bottom:8px; color:var(--muted); font-size:.85rem; }
.trebonus-match-head strong { color:var(--text); display:block; }
.trebonus-match-source { display:block; margin-top:2px; color:var(--muted); font-size:.76rem; }
.trebonus-selected-line { margin:-2px 0 8px; padding:6px 8px; border-radius:10px; background:rgba(34,197,94,.12); color:#065f46; font-size:.82rem; }
.trebonus-team-list { display:flex; flex-direction:column; gap:6px; }
.trebonus-team-btn { width:100%; display:flex; align-items:center; justify-content:space-between; gap:8px; text-align:left; border:1px solid var(--line); border-radius:12px; padding:9px 10px; background:rgba(255,255,255,.94); color:var(--text); cursor:pointer; transition:transform .12s ease, box-shadow .12s ease, border-color .12s ease, background .12s ease; }
.trebonus-team-btn:hover:not(:disabled) { transform:translateY(-1px); box-shadow:0 5px 14px rgba(15,23,42,.08); }
.trebonus-team-btn.selected { border-color:#059669; background:linear-gradient(90deg,rgba(34,197,94,.22),rgba(34,197,94,.09)); font-weight:900; outline:2px solid rgba(22,163,74,.16); }
.trebonus-team-name { min-width:0; overflow:hidden; text-overflow:ellipsis; }
.trebonus-team-pick-mark { flex:0 0 auto; font-size:.72rem; color:var(--muted); }
.trebonus-team-btn.selected .trebonus-team-pick-mark { color:#047857; font-weight:900; }
.trebonus-team-btn:disabled { opacity:.72; cursor:not-allowed; }
.trebonus-placeholder { color:var(--muted); border:1px dashed var(--line); border-radius:12px; padding:10px; font-size:.88rem; background:rgba(255,255,255,.45); }
.trebonus-next-label { display:block; margin-top:8px; color:var(--muted); font-size:.74rem; }
.trebonus-leaderboard { margin-top:18px; overflow-x:auto; }
.trebonus-leaderboard table { width:100%; border-collapse:collapse; }
.trebonus-leaderboard th,.trebonus-leaderboard td { text-align:left; padding:8px; border-bottom:1px solid var(--line); }
.trebonus-modal-backdrop { position:fixed; inset:0; z-index:90; display:flex; align-items:center; justify-content:center; padding:18px; background:rgba(15,23,42,.56); }
.trebonus-modal-sheet { width:min(620px,100%); max-height:min(720px,92vh); overflow:auto; border-radius:24px; background:var(--card); color:var(--text); box-shadow:0 24px 70px rgba(0,0,0,.32); border:1px solid var(--line); }
.trebonus-modal-sheet header,.trebonus-modal-sheet footer { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:16px 18px; border-bottom:1px solid var(--line); }
.trebonus-modal-sheet footer { border-bottom:0; border-top:1px solid var(--line); justify-content:flex-end; flex-wrap:wrap; }
.trebonus-modal-sheet h2 { margin:0; }
.trebonus-modal-body { padding:16px 18px; }
.trebonus-modal-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin:14px 0; }
.trebonus-modal-stats > div { border:1px solid var(--line); border-radius:16px; padding:12px; background:rgba(255,255,255,.7); }
.trebonus-modal-stats span,.trebonus-modal-stats small { display:block; color:var(--muted); }
.trebonus-modal-stats strong { font-size:1.2rem; }
html[data-u14-theme="dark"] .trebonus-match-card,
html[data-u14-theme="dark"] .trebonus-quadrant,
html[data-u14-theme="dark"] .trebonus-final-path,
html[data-u14-theme="dark"] .trebonus-status-grid > div,
html[data-u14-theme="dark"] .trebonus-modal-stats > div { background:rgba(15,23,42,.72); }
html[data-u14-theme="dark"] .trebonus-bracket-source { background:rgba(120,53,15,.32); color:#fde68a; }
html[data-u14-theme="dark"] .trebonus-team-btn { background:rgba(15,23,42,.86); }
html[data-u14-theme="dark"] .trebonus-team-btn.selected { background:rgba(34,197,94,.18); }
html[data-u14-theme="dark"] .trebonus-selected-line { color:#bbf7d0; background:rgba(34,197,94,.16); }
@media (max-width: 980px) {
  .trebonus-status-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .trebonus-bracket-map { min-width:1020px; }
  .trebonus-quadrants { grid-template-columns:repeat(2,minmax(480px,1fr)); }
  .trebonus-quadrant-grid { grid-template-columns:190px 170px 170px; }
  .trebonus-modal-stats { grid-template-columns:1fr 1fr; }
}
@media (max-width: 760px) and (orientation: portrait) {
  .trebonus-rotate-hint { display:flex; }
}
@media (max-width: 760px) {
  .trebonus-bracket-map { min-width:980px; }
  .trebonus-modal-stats { grid-template-columns:1fr; }
  .trebonus-modal-sheet footer { align-items:stretch; }
  .trebonus-modal-sheet footer button { width:100%; }
}



/* E3 Trebonus guided flow: reduce clutter by showing one level plus next-level preview. */
.trebonus-guided-panel .shared-head { align-items:flex-start; }
.trebonus-status-grid.compact { grid-template-columns:repeat(5,minmax(0,1fr)); }
.trebonus-step-nav { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; margin:16px 0 12px; }
.trebonus-step-chip { border:1px solid var(--line); border-radius:999px; padding:9px 10px; background:rgba(255,255,255,.72); color:var(--text); display:flex; align-items:center; justify-content:space-between; gap:8px; cursor:pointer; box-shadow:0 4px 14px rgba(15,23,42,.04); }
.trebonus-step-chip span { font-weight:800; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.trebonus-step-chip strong { color:var(--muted); font-size:.78rem; white-space:nowrap; }
.trebonus-step-chip.active { background:linear-gradient(90deg,var(--lfk-yellow),#fff7b8); color:#0f172a; border-color:rgba(0,0,0,.08); box-shadow:0 8px 24px rgba(15,23,42,.12); }
.trebonus-step-chip.complete:not(.active) { border-color:rgba(22,163,74,.36); background:rgba(220,252,231,.64); }
.trebonus-guided-flow { border:1px solid var(--line); border-radius:24px; padding:14px; background:linear-gradient(180deg,rgba(255,255,255,.7),rgba(236,253,245,.36)); box-shadow:0 12px 36px rgba(15,23,42,.05); margin-top:12px; }
.trebonus-stage-head { display:flex; justify-content:space-between; gap:14px; align-items:flex-start; border-bottom:1px solid var(--line); padding-bottom:12px; margin-bottom:12px; }
.trebonus-stage-head h3 { margin:.1rem 0 .2rem; font-size:1.35rem; }
.trebonus-stage-head p { margin:0; color:var(--muted); line-height:1.35; }
.trebonus-stage-eyebrow { display:inline-flex; border-radius:999px; padding:4px 9px; background:rgba(0,136,62,.1); color:var(--lfk-green); font-size:.75rem; font-weight:900; }
.trebonus-stage-count { flex:0 0 auto; min-width:92px; border:1px solid var(--line); border-radius:18px; padding:10px 12px; background:rgba(255,255,255,.82); text-align:center; }
.trebonus-stage-count span { display:block; color:var(--muted); font-size:.75rem; }
.trebonus-stage-count strong { font-size:1.1rem; }
.trebonus-stage-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(240px,.36fr); gap:14px; align-items:start; }
.trebonus-stage-current,.trebonus-stage-preview { border-radius:22px; }
.trebonus-stage-current > h4,.trebonus-stage-preview > h4 { margin:0 0 10px; color:var(--text); }
.trebonus-stage-preview { position:sticky; top:10px; border:1px solid var(--line); background:rgba(255,255,255,.68); padding:12px; }
.trebonus-r32-stage { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.trebonus-path-section { border:1px solid var(--line); border-radius:20px; padding:10px; background:rgba(255,255,255,.52); }
.trebonus-path-section > header { display:flex; justify-content:space-between; gap:8px; align-items:center; margin-bottom:8px; }
.trebonus-path-section > header strong { color:var(--text); }
.trebonus-path-section > header span { color:var(--muted); font-size:.76rem; }
.trebonus-match-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.trebonus-match-grid.compact-cards { grid-template-columns:1fr; }
.trebonus-match-grid.medal-grid { max-width:720px; }
.trebonus-match-card { background:rgba(255,255,255,.9); }
.trebonus-match-card::after { display:none; }
.trebonus-match-card.has-pick { border-color:rgba(0,136,62,.7); background:linear-gradient(180deg,rgba(255,255,255,.95),rgba(236,253,245,.75)); }
.trebonus-team-btn.selected { border-color:var(--lfk-green); background:linear-gradient(90deg,rgba(255,240,1,.6),rgba(34,197,94,.16)); color:#052e16; }
.trebonus-selected-line { background:rgba(255,240,1,.38); color:#14532d; border:1px solid rgba(0,136,62,.18); }
.trebonus-preview-list { display:flex; flex-direction:column; gap:8px; }
.trebonus-preview-card { border:1px solid var(--line); border-radius:16px; background:rgba(255,255,255,.78); padding:10px; }
.trebonus-preview-card > span { display:block; color:var(--muted); font-size:.78rem; font-weight:800; margin-bottom:4px; }
.trebonus-preview-card div { display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
.trebonus-preview-card strong { display:inline-flex; border-radius:999px; background:rgba(0,136,62,.08); color:var(--text); padding:4px 8px; font-size:.84rem; }
.trebonus-preview-card small { color:var(--muted); }
.trebonus-preview-card em { color:var(--muted); font-style:normal; font-size:.84rem; }
.trebonus-preview-done { display:grid; gap:4px; border:1px solid rgba(22,163,74,.24); background:rgba(220,252,231,.52); border-radius:16px; padding:12px; }
.trebonus-stage-actions { display:flex; justify-content:space-between; gap:12px; margin-top:14px; }
html[data-u14-theme="dark"] .trebonus-step-chip,
html[data-u14-theme="dark"] .trebonus-guided-flow,
html[data-u14-theme="dark"] .trebonus-stage-count,
html[data-u14-theme="dark"] .trebonus-stage-preview,
html[data-u14-theme="dark"] .trebonus-path-section,
html[data-u14-theme="dark"] .trebonus-preview-card { background:rgba(15,23,42,.78); }
html[data-u14-theme="dark"] .trebonus-guided-flow { background:linear-gradient(180deg,rgba(15,23,42,.84),rgba(6,78,59,.28)); }
html[data-u14-theme="dark"] .trebonus-step-chip.active { background:linear-gradient(90deg,#fff001,#fef9c3); color:#0f172a; }
html[data-u14-theme="dark"] .trebonus-step-chip.complete:not(.active) { background:rgba(20,83,45,.55); }
html[data-u14-theme="dark"] .trebonus-match-card.has-pick { background:linear-gradient(180deg,rgba(15,23,42,.9),rgba(6,78,59,.42)); }
html[data-u14-theme="dark"] .trebonus-team-btn.selected { background:linear-gradient(90deg,rgba(255,240,1,.28),rgba(34,197,94,.22)); color:#f7fee7; }
html[data-u14-theme="dark"] .trebonus-selected-line { color:#fef9c3; background:rgba(255,240,1,.12); }
html[data-u14-theme="dark"] .trebonus-preview-card strong { background:rgba(34,197,94,.16); color:#ecfdf5; }
@media (max-width: 1180px) {
  .trebonus-status-grid.compact { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .trebonus-step-nav { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .trebonus-stage-layout { grid-template-columns:1fr; }
  .trebonus-stage-preview { position:static; }
}
@media (max-width: 760px) {
  .trebonus-status-grid.compact { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .trebonus-step-nav { grid-template-columns:1fr 1fr; }
  .trebonus-stage-head { flex-direction:column; }
  .trebonus-r32-stage,.trebonus-match-grid { grid-template-columns:1fr; }
  .trebonus-stage-actions { flex-direction:column; }
  .trebonus-stage-actions button { width:100%; }
}
@media (max-width: 760px) and (orientation: portrait) {
  .trebonus-rotate-hint { display:flex; }
}

/* E4 Trebonus focused stage navigation: bridge layout, top/bottom controls and compact fallback. */
.trebonus-guided-flow-e4 { overflow:hidden; }
.trebonus-view-toggle { display:inline-flex; gap:4px; padding:4px; border:1px solid var(--line); border-radius:999px; background:rgba(255,255,255,.7); margin:0 0 12px; }
.trebonus-view-toggle button { border:0; border-radius:999px; padding:7px 11px; background:transparent; color:var(--muted); font-weight:800; cursor:pointer; }
.trebonus-view-toggle button.active { background:var(--lfk-yellow); color:#0f172a; box-shadow:0 4px 14px rgba(15,23,42,.12); }
.trebonus-stage-actions.top { margin:0 0 14px; padding-bottom:12px; border-bottom:1px solid var(--line); }
.trebonus-stage-actions.bottom { margin-top:16px; padding-top:12px; border-top:1px solid var(--line); }
.trebonus-stage-actions-center { display:grid; gap:2px; text-align:center; color:var(--muted); font-size:.78rem; align-content:center; min-width:180px; }
.trebonus-stage-actions-center strong { color:var(--text); font-size:.8rem; font-weight:900; }
.trebonus-focus-bridge { display:grid; gap:12px; }
.trebonus-bridge-labels { display:grid; grid-template-columns:minmax(0,1fr) 74px minmax(180px,.44fr); gap:12px; align-items:center; color:var(--muted); font-size:.78rem; text-transform:uppercase; letter-spacing:.04em; font-weight:900; }
.trebonus-bridge-labels span { text-align:center; }
.trebonus-bridge-row { display:grid; grid-template-columns:minmax(0,1fr) 74px minmax(190px,.44fr); gap:12px; align-items:center; border:1px solid rgba(0,136,62,.10); border-radius:22px; padding:10px; background:rgba(255,255,255,.42); }
.trebonus-bridge-source { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.trebonus-bridge-card-wrap .trebonus-match-card { height:100%; }
.trebonus-connector { position:relative; min-height:88px; display:grid; place-items:center; color:rgba(0,136,62,.42); }
.trebonus-connector::before,.trebonus-connector::after { content:""; position:absolute; left:0; right:50%; height:calc(50% - 1px); border-right:2px solid currentColor; }
.trebonus-connector::before { top:0; border-top:2px solid currentColor; border-top-right-radius:18px; }
.trebonus-connector::after { bottom:0; border-bottom:2px solid currentColor; border-bottom-right-radius:18px; }
.trebonus-connector span { width:100%; height:2px; background:currentColor; border-radius:999px; }
.trebonus-bridge-next-card { border:1px solid var(--line); border-radius:20px; padding:12px; background:rgba(255,255,255,.86); min-height:104px; display:grid; align-content:center; gap:8px; box-shadow:0 8px 22px rgba(15,23,42,.045); }
.trebonus-bridge-next-card.ready { border-color:rgba(0,136,62,.36); background:linear-gradient(180deg,rgba(236,253,245,.92),rgba(255,255,255,.88)); }
.trebonus-bridge-next-card > div:first-child { display:flex; justify-content:space-between; align-items:baseline; gap:8px; }
.trebonus-bridge-next-card span { color:var(--muted); font-size:.72rem; font-weight:900; text-transform:uppercase; letter-spacing:.04em; }
.trebonus-bridge-next-card strong { color:var(--text); }
.trebonus-bridge-next-card small { color:var(--lfk-green); font-weight:900; }
.trebonus-bridge-next-card .tiny { justify-self:start; padding:6px 9px; font-size:.76rem; }
.trebonus-compact-fallback { display:grid; grid-template-columns:minmax(0,1fr) minmax(230px,.34fr); gap:14px; align-items:start; }
.trebonus-lock-summary { display:flex; justify-content:space-between; gap:16px; align-items:center; border:1px solid var(--line); border-radius:22px; padding:13px 14px; margin-top:14px; background:rgba(255,255,255,.78); }
.trebonus-lock-summary span { display:block; color:var(--muted); font-size:.75rem; font-weight:800; }
.trebonus-lock-summary strong { font-size:1rem; color:var(--text); }
.trebonus-lock-summary p { margin:.2rem 0 0; color:var(--muted); font-size:.86rem; }
.trebonus-lock-summary.complete { border-color:rgba(22,163,74,.36); background:linear-gradient(90deg,rgba(220,252,231,.72),rgba(255,255,255,.82)); }
.trebonus-lock-summary.missing { border-color:rgba(234,179,8,.28); background:linear-gradient(90deg,rgba(254,249,195,.52),rgba(255,255,255,.82)); }
.trebonus-lock-summary-action { flex:0 0 auto; }
.trebonus-save-line { min-height:20px; margin-top:8px; color:var(--muted); font-size:.84rem; }
html[data-u14-theme="dark"] .trebonus-view-toggle,
html[data-u14-theme="dark"] .trebonus-bridge-row,
html[data-u14-theme="dark"] .trebonus-bridge-next-card,
html[data-u14-theme="dark"] .trebonus-lock-summary { background:rgba(15,23,42,.76); }
html[data-u14-theme="dark"] .trebonus-bridge-next-card.ready { background:linear-gradient(180deg,rgba(6,78,59,.54),rgba(15,23,42,.8)); }
html[data-u14-theme="dark"] .trebonus-lock-summary.complete { background:linear-gradient(90deg,rgba(20,83,45,.58),rgba(15,23,42,.82)); }
html[data-u14-theme="dark"] .trebonus-lock-summary.missing { background:linear-gradient(90deg,rgba(113,63,18,.38),rgba(15,23,42,.82)); }
@media (max-width: 980px) {
  .trebonus-bridge-labels { display:none; }
  .trebonus-bridge-row { grid-template-columns:1fr; }
  .trebonus-connector { min-height:32px; transform:rotate(90deg); }
  .trebonus-bridge-source { grid-template-columns:1fr; }
  .trebonus-compact-fallback { grid-template-columns:1fr; }
}
@media (max-width: 760px) {
  .trebonus-stage-actions { display:grid; grid-template-columns:1fr; }
  .trebonus-stage-actions-center { min-width:0; order:-1; }
  .trebonus-lock-summary { align-items:stretch; flex-direction:column; }
  .trebonus-lock-summary-action button { width:100%; }
  .trebonus-view-toggle { display:grid; grid-template-columns:1fr 1fr; width:100%; border-radius:18px; }
}

/* E5/E5a Trebonus: exact two-column path, small-screen guard, solid modals, connector-safe spacing. */
.trebonus-guided-flow-e4 { overflow: visible; }
.trebonus-focus-bridge[data-trebonus-focus-bridge="two-column-source-left-winner-right"] { display:grid; gap:14px; }
.trebonus-bridge-row.two-column-path {
  position:relative;
  display:grid;
  grid-template-columns:minmax(260px,1fr) 72px minmax(230px,.72fr);
  gap:14px;
  align-items:center;
  border:1px solid rgba(0,136,62,.14);
  border-radius:24px;
  padding:14px;
  background:linear-gradient(180deg,rgba(255,255,255,.76),rgba(236,253,245,.34));
  box-shadow:0 10px 28px rgba(15,23,42,.045);
}
.trebonus-bridge-source {
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
}
.trebonus-bridge-source .trebonus-match-card { min-height:0; }
.trebonus-connector {
  position:relative;
  min-height:190px;
  display:block;
  color:rgba(0,136,62,.48);
}
.trebonus-connector::before,
.trebonus-connector::after {
  content:"";
  position:absolute;
  left:0;
  width:50%;
  height:calc(50% - 1px);
  border-right:2px solid currentColor;
}
.trebonus-connector::before {
  top:0;
  border-top:2px solid currentColor;
  border-top-right-radius:18px;
}
.trebonus-connector::after {
  bottom:0;
  border-bottom:2px solid currentColor;
  border-bottom-right-radius:18px;
}
.trebonus-connector span {
  position:absolute;
  left:50%;
  right:12px;
  top:50%;
  height:2px;
  transform:translateY(-50%);
  background:currentColor;
  border-radius:999px;
}
.trebonus-bridge-target { align-self:center; }
.trebonus-bridge-next-card {
  min-height:132px;
  border:1px solid rgba(0,136,62,.22);
  border-radius:22px;
  background:#ffffff;
  box-shadow:0 10px 30px rgba(15,23,42,.06);
}
.trebonus-bridge-next-card.ready {
  border-color:rgba(0,136,62,.48);
  background:linear-gradient(180deg,#ffffff,#ecfdf5);
}
.trebonus-bridge-next-head { display:grid !important; grid-template-columns:1fr auto; align-items:start; gap:6px 10px; }
.trebonus-bridge-next-head span { grid-column:1 / -1; }
.trebonus-bridge-next-head small { justify-self:end; }
.trebonus-compact-fallback[data-trebonus-compact-fallback="single-column-current-level-only"] { grid-template-columns:1fr; }
.trebonus-compact-next-line { margin-top:12px; display:flex; justify-content:flex-end; }
.trebonus-screen-guard {
  display:none;
  align-items:flex-start;
  gap:14px;
  border:1px solid rgba(0,136,62,.26);
  border-radius:22px;
  padding:14px;
  margin:0 0 14px;
  background:#ffffff;
  box-shadow:0 12px 34px rgba(15,23,42,.08);
}
.trebonus-screen-guard strong { display:block; color:var(--text); font-size:1rem; margin-bottom:4px; }
.trebonus-screen-guard p { margin:0 0 10px; color:var(--muted); line-height:1.35; }
.trebonus-screen-guard-icon { flex:0 0 auto; display:grid; place-items:center; width:48px; height:48px; border-radius:18px; background:rgba(255,240,1,.38); color:var(--lfk-green); }
.trebonus-screen-guard-actions { display:flex; flex-wrap:wrap; gap:8px; }
.trebonus-missing-chips { display:flex; flex-wrap:wrap; gap:6px; margin-top:9px; }
.trebonus-missing-chips span { display:inline-flex; align-items:center; gap:5px; border-radius:999px; border:1px solid var(--line); padding:5px 8px; font-size:.78rem; background:#fff; color:var(--muted); }
.trebonus-missing-chips span.complete { border-color:rgba(22,163,74,.26); background:#ecfdf5; color:#065f46; }
.trebonus-missing-chips span.missing { border-color:rgba(234,179,8,.36); background:#fffbeb; color:#78350f; }
.trebonus-lock-summary-action { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; }
.trebonus-modal-backdrop {
  background:rgba(15,23,42,.70) !important;
  backdrop-filter:none !important;
}
.trebonus-modal-sheet.trebonus-modal-solid {
  background:#ffffff !important;
  color:#0f172a !important;
  opacity:1 !important;
  border:1px solid rgba(15,23,42,.14);
  box-shadow:0 30px 90px rgba(0,0,0,.42);
}
.trebonus-modal-sheet.trebonus-modal-solid header,
.trebonus-modal-sheet.trebonus-modal-solid footer {
  background:#ffffff !important;
}
.trebonus-modal-sheet.trebonus-modal-solid header { border-bottom:1px solid rgba(15,23,42,.12); }
.trebonus-modal-sheet.trebonus-modal-solid footer { border-top:1px solid rgba(15,23,42,.12); }
.trebonus-modal-sheet.trebonus-modal-solid .trebonus-modal-body { background:#ffffff !important; }
.trebonus-modal-lead { font-size:1rem; line-height:1.45; color:#0f172a; }
.trebonus-modal-warning { border:1px solid rgba(245,158,11,.45); border-radius:16px; padding:12px; margin:12px 0; background:#fffbeb; color:#78350f; }
.trebonus-modal-warning strong,.trebonus-modal-warning span { display:block; }
.trebonus-modal-stats > div { background:#f8fafc !important; color:#0f172a; }
html[data-u14-theme="dark"] .trebonus-bridge-row.two-column-path,
html[data-u14-theme="dark"] .trebonus-screen-guard { background:#111827; border-color:rgba(148,163,184,.24); }
html[data-u14-theme="dark"] .trebonus-bridge-next-card { background:#0f172a; border-color:rgba(148,163,184,.26); }
html[data-u14-theme="dark"] .trebonus-bridge-next-card.ready { background:linear-gradient(180deg,#0f172a,#064e3b); }
html[data-u14-theme="dark"] .trebonus-missing-chips span { background:#111827; }
html[data-u14-theme="dark"] .trebonus-missing-chips span.complete { background:#064e3b; color:#dcfce7; }
html[data-u14-theme="dark"] .trebonus-missing-chips span.missing { background:#713f12; color:#fef3c7; }
html[data-u14-theme="dark"] .trebonus-modal-sheet.trebonus-modal-solid,
html[data-u14-theme="dark"] .trebonus-modal-sheet.trebonus-modal-solid header,
html[data-u14-theme="dark"] .trebonus-modal-sheet.trebonus-modal-solid footer,
html[data-u14-theme="dark"] .trebonus-modal-sheet.trebonus-modal-solid .trebonus-modal-body {
  background:#0f172a !important;
  color:#f8fafc !important;
}
html[data-u14-theme="dark"] .trebonus-modal-lead { color:#f8fafc; }
html[data-u14-theme="dark"] .trebonus-modal-warning { background:#713f12; color:#fef3c7; border-color:rgba(253,186,116,.45); }
html[data-u14-theme="dark"] .trebonus-modal-stats > div { background:#111827 !important; color:#f8fafc; }
@media (max-width: 980px) {
  .trebonus-bridge-row.two-column-path { grid-template-columns:minmax(240px,1fr) 58px minmax(210px,.8fr); gap:10px; padding:12px; }
  .trebonus-connector { min-height:170px; transform:none; }
  .trebonus-bridge-source { grid-template-columns:1fr; }
}
@media (max-width: 740px) and (orientation: portrait) {
  .trebonus-guided-flow[data-trebonus-view="focus"] .trebonus-screen-guard { display:flex; }
  .trebonus-guided-flow[data-trebonus-view="focus"] .trebonus-focus-bridge { display:none; }
}
@media (max-width: 620px) {
  .trebonus-guided-flow[data-trebonus-view="focus"] .trebonus-screen-guard { display:flex; }
  .trebonus-guided-flow[data-trebonus-view="focus"] .trebonus-focus-bridge { display:none; }
  .trebonus-modal-sheet.trebonus-modal-solid footer { align-items:stretch; }
  .trebonus-modal-sheet.trebonus-modal-solid footer button { width:100%; }
}
@media (max-width: 760px) {
  .trebonus-lock-summary-action { justify-content:stretch; }
  .trebonus-lock-summary-action button { width:100%; }
}

/* E5a: keep connector line visibly outside the winner card. */
.trebonus-bridge-row.two-column-path .trebonus-connector span { right:12px; }
.trebonus-bridge-row.two-column-path .trebonus-bridge-target { padding-left:2px; }

/* v0.1.23i-H sluttspill leaderboard/admin gate */
.knockout-leaderboard-section,
.legacy-leaderboard-section {
  margin: 1rem 0 1.25rem;
}
.knockout-leaderboard-section {
  border: 1px solid rgba(0, 168, 80, 0.22);
  border-radius: 18px;
  padding: 1rem;
  background: linear-gradient(135deg, rgba(255, 240, 1, 0.13), rgba(0, 168, 80, 0.08));
}
.knockout-leaderboard-table th,
.knockout-leaderboard-table td {
  white-space: nowrap;
}
.knockout-leaderboard-row .leaderboard-points strong {
  font-size: 1.2rem;
}
.legacy-leaderboard-section {
  border-top: 1px solid rgba(0, 0, 0, 0.08);
  padding-top: 1rem;
}
.knockout-admin-panel .profile-card h3 {
  margin-top: 0;
}
html[data-u14-theme="dark"] .knockout-leaderboard-section {
  background: linear-gradient(135deg, rgba(255, 240, 1, 0.10), rgba(0, 168, 80, 0.12));
  border-color: rgba(255, 240, 1, 0.18);
}
html[data-u14-theme="dark"] .legacy-leaderboard-section {
  border-top-color: rgba(255, 255, 255, 0.12);
}
@media (max-width: 760px) {
  .knockout-leaderboard-section {
    padding: .75rem;
  }
  .knockout-leaderboard-table th:nth-child(4),
  .knockout-leaderboard-table td:nth-child(4),
  .knockout-leaderboard-table th:nth-child(6),
  .knockout-leaderboard-table td:nth-child(6) {
    display: none;
  }
}

/* U14-K2-COMPACT-LEADERBOARD-BADGES-20260628-BEGIN */
.leaderboard-badge-stack {
  align-items: center !important;
  display: inline-flex !important;
  flex-wrap: wrap !important;
  gap: 3px !important;
  margin-left: 2px !important;
  vertical-align: middle !important;
}
.leaderboard-name-line {
  align-items: center !important;
  gap: 5px !important;
}
.profile-type-badge,
.leaderboard-subgroup-badge,
.leaderboard-team-contribution-badge {
  font-size: .86rem !important;
  gap: 0 !important;
  justify-content: center !important;
  min-height: 22px !important;
  min-width: 22px !important;
  padding: 3px 5px !important;
  width: auto !important;
}
.profile-type-badge::before,
.leaderboard-subgroup-badge::before,
.leaderboard-team-contribution-badge::before {
  content: none !important;
}
.leaderboard-subgroup-badge { letter-spacing: -.04em !important; }
.leaderboard-team-contribution-badge.extra { min-width: 24px !important; }
.leaderboard-podium-name .leaderboard-badge-stack,
.leaderboard-mobile-main .leaderboard-badge-stack {
  display: flex !important;
  margin: 4px 0 0 !important;
}
@media (min-width: 760px) {
  .leaderboard-badge-stack {
    align-items: flex-start !important;
    flex-direction: column !important;
    gap: 2px !important;
  }
  .leaderboard-name-line { align-items: flex-start !important; }
}
/* U14-K2-COMPACT-LEADERBOARD-BADGES-20260628-END */

/* U14-K3: compact, deterministic leaderboard identity badges */
.leaderboard-name-line {
  display: inline-flex !important;
  align-items: center !important;
  gap: .48rem !important;
  min-width: 0 !important;
}
.leaderboard-identity-slot {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 2.25rem !important;
  flex: 0 0 auto !important;
}
.leaderboard-identity-pill {
  display: inline-flex !important;
  align-items: center !important;
  gap: .16rem !important;
  padding: .12rem .32rem !important;
  min-height: 1.35rem !important;
  border-radius: 999px !important;
  border: 1px solid rgba(0,168,80,.18) !important;
  background: rgba(255,255,255,.70) !important;
  box-shadow: none !important;
  white-space: nowrap !important;
}
.profile-type-badge,
.leaderboard-subgroup-badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  margin: 0 !important;
  min-width: 1rem !important;
  height: 1rem !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  font-size: .88rem !important;
  line-height: 1 !important;
}
.profile-type-badge::before,
.leaderboard-subgroup-badge::before,
.leaderboard-team-contribution-badge::before { content: none !important; }
.profile-type-badge.supporter { color: inherit !important; }
.profile-type-badge.u14-player,
.profile-type-badge.player { color: inherit !important; }
.leaderboard-badge-after-name {
  display: inline-flex !important;
  align-items: center !important;
  margin-left: .22rem !important;
  flex: 0 1 auto !important;
}
.leaderboard-team-contribution-badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: .22rem !important;
  width: auto !important;
  max-width: none !important;
  padding: .14rem .42rem !important;
  border-radius: 999px !important;
  white-space: nowrap !important;
  font-size: .72rem !important;
  line-height: 1 !important;
  font-weight: 850 !important;
  color: #064E2E !important;
  background: rgba(0,168,80,.10) !important;
  border: 1px solid rgba(0,168,80,.24) !important;
}
.leaderboard-team-contribution-badge.extra {
  color: #5A4300 !important;
  background: rgba(255,240,1,.20) !important;
  border-color: rgba(217,169,40,.34) !important;
}
.round-leaderboard-table .leaderboard-badge-after-name { display: none !important; }
.round-leaderboard-table .leaderboard-subgroup-badge { display: none !important; }
.round-leaderboard-table .leaderboard-identity-slot { min-width: 1.35rem !important; }
html[data-u14-effective-theme="dark"] .leaderboard-identity-pill,
html[data-u14-theme="dark"] .leaderboard-identity-pill {
  background: rgba(255,255,255,.06) !important;
  border-color: rgba(255,255,255,.14) !important;
}
html[data-u14-effective-theme="dark"] .leaderboard-team-contribution-badge,
html[data-u14-theme="dark"] .leaderboard-team-contribution-badge {
  color: #CFFADE !important;
  background: rgba(0,168,80,.14) !important;
  border-color: rgba(0,168,80,.28) !important;
}
html[data-u14-effective-theme="dark"] .leaderboard-team-contribution-badge.extra,
html[data-u14-theme="dark"] .leaderboard-team-contribution-badge.extra {
  color: #FFF3A0 !important;
  background: rgba(255,240,1,.14) !important;
  border-color: rgba(255,240,1,.28) !important;
}
@media (max-width: 760px) {
  .leaderboard-name-line { gap: .38rem !important; flex-wrap: wrap !important; }
  .leaderboard-identity-slot { min-width: 1.8rem !important; }
  .leaderboard-team-contribution-badge { font-size: .68rem !important; }
}


/* U14-K4-BADGE-GROUPSTAGE-LIVE-DIAGNOSTICS-20260628 */
.leaderboard-identity-pill { gap: .20rem !important; min-width: 2.05rem !important; justify-content: center !important; }
.profile-type-badge.pseudo { color: inherit !important; }
.leaderboard-subgroup-badge.player-gold,
.leaderboard-subgroup-badge.supporter-gold { font-size: .94rem !important; }
.leaderboard-name-line > strong { margin-left: .04rem !important; }
.leaderboard-team-contribution-badge strong { display: inline !important; }
.trebonus-match-candidates { display: block !important; margin-top: .12rem !important; font-size: .68rem !important; letter-spacing: .03em !important; color: var(--muted, #667085) !important; }
.round-leaderboard-table .leaderboard-identity-pill { min-width: 1.2rem !important; padding-left: .18rem !important; padding-right: .18rem !important; }

/* U14-K5-VISUAL-TABLE-TREE-POLISH-20260628-BEGIN */
.leaderboard-main-table th,
.leaderboard-main-table td { vertical-align: middle !important; }
.leaderboard-main-table tr.is-gold,
.knockout-leaderboard-table tr.is-gold,
.legacy-leaderboard-table tr.is-gold { background: linear-gradient(90deg, rgba(255,240,1,.20), rgba(255,255,255,.03)) !important; }
.leaderboard-main-table tr.is-silver,
.knockout-leaderboard-table tr.is-silver,
.legacy-leaderboard-table tr.is-silver { background: linear-gradient(90deg, rgba(174,184,194,.16), rgba(255,255,255,.02)) !important; }
.leaderboard-main-table tr.is-bronze,
.knockout-leaderboard-table tr.is-bronze,
.legacy-leaderboard-table tr.is-bronze { background: linear-gradient(90deg, rgba(183,121,58,.14), rgba(255,255,255,.02)) !important; }
.leaderboard-type,
.leaderboard-typeplace { text-align: center !important; width: 1%; white-space: nowrap !important; }
.leaderboard-type-cell { display: inline-grid !important; place-items: center !important; min-width: 2rem !important; }
.leaderboard-type .profile-type-badge,
.leaderboard-type-cell .profile-type-badge { min-width: 1.75rem !important; justify-content: center !important; }
.leaderboard-typeplace-badge,
.leaderboard-typeplace-empty { display: inline-grid !important; place-items: center !important; min-width: 1.8rem !important; min-height: 1.8rem !important; border-radius: 999px !important; font-weight: 950 !important; }
.leaderboard-typeplace-empty { color: var(--muted) !important; opacity: .45 !important; }
.leaderboard-typeplace-badge.is-gold { background: rgba(255,240,1,.26) !important; border: 1px solid rgba(217,169,40,.34) !important; }
.leaderboard-typeplace-badge.is-silver { background: rgba(174,184,194,.18) !important; border: 1px solid rgba(130,145,158,.25) !important; }
.leaderboard-typeplace-badge.is-bronze { background: rgba(183,121,58,.16) !important; border: 1px solid rgba(183,121,58,.28) !important; }
.leaderboard-badges-cell { align-items: center !important; display: flex !important; flex-wrap: wrap !important; gap: .32rem !important; min-width: 7rem !important; }
.leaderboard-legacy-achievement { align-items: center !important; border: 1px solid rgba(24,65,39,.12) !important; border-radius: 999px !important; display: inline-flex !important; gap: .22rem !important; padding: .18rem .34rem !important; background: rgba(255,255,255,.58) !important; white-space: nowrap !important; }
.leaderboard-legacy-achievement .leaderboard-subgroup-badge,
.leaderboard-legacy-achievement .profile-type-badge { border: 0 !important; background: transparent !important; box-shadow: none !important; min-height: auto !important; min-width: auto !important; padding: 0 !important; }
.leaderboard-badges .leaderboard-team-contribution-badge strong { display: inline !important; }
.leaderboard-podium-strips { display: grid !important; gap: .42rem !important; margin: .55rem 0 .75rem !important; }
.leaderboard-podium-strip { align-items: stretch !important; display: grid !important; grid-template-columns: minmax(6rem,.7fr) repeat(3,minmax(7rem,1fr)) !important; gap: .42rem !important; }
.leaderboard-podium-strip > strong,
.leaderboard-strip-person { align-items: center !important; border: 1px solid var(--line) !important; border-radius: 14px !important; display: flex !important; justify-content: center !important; min-height: 2.2rem !important; padding: .35rem .55rem !important; text-align: center !important; }
.leaderboard-podium-strip > strong { background: rgba(0,136,62,.08) !important; color: var(--text) !important; font-size: .82rem !important; }
.leaderboard-strip-person { background: rgba(255,255,255,.60) !important; font-size: .82rem !important; font-weight: 850 !important; overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; }
.leaderboard-strip-person.is-gold { background: rgba(255,240,1,.24) !important; }
.leaderboard-strip-person.is-silver { background: rgba(174,184,194,.16) !important; }
.leaderboard-strip-person.is-bronze { background: rgba(183,121,58,.14) !important; }
@media (max-width: 960px) {
  .leaderboard-podium-strips { display: none !important; }
  .leaderboard-badges-cell { min-width: 0 !important; }
}
@media (max-width: 760px) {
  .legacy-leaderboard-table th:nth-child(3),
  .legacy-leaderboard-table td:nth-child(3),
  .knockout-leaderboard-table th:nth-child(3),
  .knockout-leaderboard-table td:nth-child(3),
  .leaderboard-main-table th.leaderboard-badges,
  .leaderboard-main-table td.leaderboard-badges { display: none !important; }
}
.trebonus-match-candidates { align-items: center !important; display: flex !important; flex-wrap: wrap !important; gap: .28rem !important; margin-top: .18rem !important; font-size: .68rem !important; letter-spacing: .03em !important; color: var(--muted, #667085) !important; }
.trebonus-match-candidates span { border: 1px solid rgba(24,65,39,.10) !important; border-radius: 999px !important; padding: .1rem .32rem !important; background: rgba(255,255,255,.55) !important; }
.trebonus-match-candidates b { color: var(--lfk-green) !important; font-size: .62rem !important; text-transform: uppercase !important; }
.trebonus-connector { padding-inline: 10px !important; }
.trebonus-connector span { width: calc(100% - 18px) !important; justify-self: center !important; }
.trebonus-bridge-next-head strong .round-label-short { display: none; }
@media (max-width: 860px) {
  .trebonus-bridge-next-head strong .round-label-long { display: none; }
  .trebonus-bridge-next-head strong .round-label-short { display: inline; }
}
html[data-u14-effective-theme="dark"] .leaderboard-legacy-achievement,
html[data-u14-theme="dark"] .leaderboard-legacy-achievement,
html[data-u14-effective-theme="dark"] .leaderboard-strip-person,
html[data-u14-theme="dark"] .leaderboard-strip-person,
html[data-u14-effective-theme="dark"] .trebonus-match-candidates span,
html[data-u14-theme="dark"] .trebonus-match-candidates span { background: rgba(15,23,42,.62) !important; border-color: rgba(246,255,247,.13) !important; }
/* U14-K5-VISUAL-TABLE-TREE-POLISH-20260628-END */

/* U14-K6-MEDAL-STRIP-TREE-TABLE-POLISH-20260629-BEGIN */
.tabs .tab { align-items: center !important; display: inline-flex !important; gap: .38rem !important; }
.tabs .tab .tab-icon { display: inline-grid !important; min-width: 1.15rem !important; place-items: center !important; }

.leaderboard-main-table { border-collapse: separate !important; border-spacing: 0 6px !important; }
.leaderboard-main-table th { text-align: left !important; }
.leaderboard-main-table th:nth-child(1), .leaderboard-main-table td.leaderboard-rank { width: 58px !important; min-width: 58px !important; text-align: center !important; padding-left: 8px !important; padding-right: 6px !important; }
.leaderboard-main-table th:nth-child(2), .leaderboard-main-table td.leaderboard-type { width: 42px !important; min-width: 42px !important; text-align: center !important; padding-left: 4px !important; padding-right: 4px !important; }
.leaderboard-main-table th:nth-child(3), .leaderboard-main-table td.leaderboard-typeplace { width: 70px !important; min-width: 70px !important; text-align: center !important; padding-left: 4px !important; padding-right: 8px !important; }
.leaderboard-main-table th:nth-child(4), .leaderboard-main-table td.leaderboard-name { text-align: left !important; }
.leaderboard-main-table td.leaderboard-name strong { text-align: left !important; }
.leaderboard-main-table th:nth-last-child(-n+3),
.leaderboard-main-table td:nth-last-child(-n+3) { text-align: right !important; }
.leaderboard-main-table tr.is-gold > td,
.knockout-leaderboard-table tr.is-gold > td,
.legacy-leaderboard-table tr.is-gold > td { background: linear-gradient(90deg, rgba(255,240,1,.22), rgba(255,255,255,.04)) !important; }
.leaderboard-main-table tr.is-silver > td,
.knockout-leaderboard-table tr.is-silver > td,
.legacy-leaderboard-table tr.is-silver > td { background: linear-gradient(90deg, rgba(174,184,194,.17), rgba(255,255,255,.03)) !important; }
.leaderboard-main-table tr.is-bronze > td,
.knockout-leaderboard-table tr.is-bronze > td,
.legacy-leaderboard-table tr.is-bronze > td { background: linear-gradient(90deg, rgba(183,121,58,.15), rgba(255,255,255,.03)) !important; }
.leaderboard-main-table tbody tr > td:first-child { border-top-left-radius: 14px !important; border-bottom-left-radius: 14px !important; }
.leaderboard-main-table tbody tr > td:last-child { border-top-right-radius: 14px !important; border-bottom-right-radius: 14px !important; }
.round-leaderboard-table.leaderboard-main-table th:nth-child(1),
.round-leaderboard-table.leaderboard-main-table td.leaderboard-rank { width: 52px !important; min-width: 52px !important; }
.round-leaderboard-table.leaderboard-main-table th:nth-child(2),
.round-leaderboard-table.leaderboard-main-table td.leaderboard-type { width: 38px !important; min-width: 38px !important; }
.round-leaderboard-table.leaderboard-main-table th:nth-child(3),
.round-leaderboard-table.leaderboard-main-table td.leaderboard-name { min-width: 120px !important; text-align: left !important; }
.round-leaderboard-table.leaderboard-main-table th:nth-child(4),
.round-leaderboard-table.leaderboard-main-table td.leaderboard-points { width: 72px !important; min-width: 72px !important; text-align: right !important; }

.leaderboard-podium-strip { grid-template-columns: minmax(6rem,.65fr) repeat(3,minmax(6.8rem,1fr)) !important; }
.leaderboard-strip-empty { align-items: center !important; border: 1px dashed rgba(24,65,39,.14) !important; border-radius: 14px !important; color: var(--muted) !important; display: flex !important; justify-content: center !important; min-height: 2.2rem !important; opacity: .62 !important; }
.leaderboard-strip-person.span-2,
.leaderboard-strip-person.span-3 { white-space: normal !important; }
.leaderboard-strip-list-link { background: transparent !important; border: 0 !important; color: var(--lfk-green, #00883e) !important; cursor: pointer !important; font-weight: 950 !important; padding: 0 !important; text-decoration: underline !important; }
.leaderboard-podium-name-list { margin: 0 !important; padding-left: 1.3rem !important; }
.leaderboard-podium-name-list li { padding: .25rem 0 !important; }
@media (max-width: 1040px) {
  .leaderboard-podium-strips { display: none !important; }
}

.trebonus-view-toggle button { align-items: center !important; display: inline-flex !important; gap: .35rem !important; }
.trebonus-stage-actions .primary[data-trebonus-next-step],
.trebonus-bridge-next-card [data-trebonus-next-step] {
  background: linear-gradient(135deg, var(--lfk-green, #00883e), #00a850) !important;
  border: 1px solid rgba(0,90,43,.28) !important;
  border-radius: 999px !important;
  box-shadow: 0 8px 18px rgba(0,136,62,.18) !important;
  color: #fff !important;
  font-weight: 950 !important;
}
.trebonus-bridge-next-card [data-trebonus-next-step] { margin-top: .5rem !important; }
.trebonus-vs-word,
.trebonus-match-candidates b { margin-left: .42rem !important; margin-right: .42rem !important; letter-spacing: .04em !important; }
.trebonus-connector { padding-inline: 0 !important; }
.trebonus-connector span { position: absolute !important; left: 50% !important; right: 18px !important; width: auto !important; justify-self: auto !important; }
.trebonus-bridge-row.two-column-path .trebonus-connector span { right: 18px !important; }
@media (max-width: 980px) {
  .trebonus-connector span { left: 50% !important; right: 16px !important; }
}
/* U14-K6-MEDAL-STRIP-TREE-TABLE-POLISH-20260629-END */

/* v0.1.23k7 table alignment and final visual polish */
.section-title-row {
  border: 1px solid var(--line) !important;
  border-radius: 20px !important;
  padding: 14px 16px !important;
  background: linear-gradient(180deg, rgba(255,255,255,.86), rgba(248,250,252,.78)) !important;
  box-shadow: 0 10px 26px rgba(15,23,42,.05) !important;
}
html[data-u14-effective-theme="dark"] .section-title-row,
html[data-u14-theme="dark"] .section-title-row {
  background: linear-gradient(180deg, rgba(15,23,42,.86), rgba(17,24,39,.78)) !important;
  border-color: rgba(148,163,184,.22) !important;
}
.leaderboard-filter.active,
.leaderboard-filter[aria-pressed="true"] {
  background: var(--lfk-green) !important;
  border-color: var(--lfk-green) !important;
  color: #fff !important;
  box-shadow: 0 6px 16px rgba(0,136,62,.18) !important;
}
.leaderboard-main-table {
  table-layout: auto !important;
  border-collapse: separate !important;
  border-spacing: 0 6px !important;
}
.leaderboard-main-table thead th {
  vertical-align: middle !important;
  white-space: nowrap !important;
  font-size: .78rem !important;
  letter-spacing: .025em !important;
}
.leaderboard-main-table th.leaderboard-rank-head,
.leaderboard-main-table td.leaderboard-rank {
  width: 48px !important;
  min-width: 48px !important;
  max-width: 48px !important;
  text-align: center !important;
  padding-left: 6px !important;
  padding-right: 6px !important;
}
.leaderboard-main-table th.leaderboard-type-head,
.leaderboard-main-table td.leaderboard-type {
  width: 34px !important;
  min-width: 34px !important;
  max-width: 34px !important;
  text-align: center !important;
  padding-left: 3px !important;
  padding-right: 3px !important;
}
.leaderboard-main-table th.leaderboard-typeplace-head,
.leaderboard-main-table td.leaderboard-typeplace {
  width: 56px !important;
  min-width: 56px !important;
  max-width: 56px !important;
  text-align: center !important;
  padding-left: 4px !important;
  padding-right: 5px !important;
}
.leaderboard-main-table th.leaderboard-name-head,
.leaderboard-main-table td.leaderboard-name {
  text-align: left !important;
  min-width: 160px !important;
}
.round-leaderboard-table.leaderboard-main-table th.leaderboard-name-head,
.round-leaderboard-table.leaderboard-main-table td.leaderboard-name {
  min-width: 150px !important;
}
.leaderboard-main-table th.leaderboard-badges-head,
.leaderboard-main-table td.leaderboard-badges {
  width: 112px !important;
  min-width: 112px !important;
  text-align: center !important;
}
.leaderboard-main-table th.leaderboard-points-head,
.leaderboard-main-table th.leaderboard-num-head {
  text-align: center !important;
}
.leaderboard-main-table td.leaderboard-points,
.leaderboard-main-table td.leaderboard-hub,
.leaderboard-main-table td.leaderboard-exact,
.leaderboard-main-table td[data-label="Kamp"],
.leaderboard-main-table td[data-label="Trebonus"],
.leaderboard-main-table td[data-label="Fulltreffere"] {
  text-align: center !important;
  font-variant-numeric: tabular-nums !important;
  min-width: 58px !important;
  padding-left: 9px !important;
  padding-right: 9px !important;
}
.knockout-leaderboard-table td[data-label="Fulltreffere"] {
  min-width: 72px !important;
  padding-left: 4px !important;
  padding-right: 14px !important;
}
.leaderboard-main-table tbody tr.is-gold,
.leaderboard-main-table tbody tr.top-1 {
  background: linear-gradient(90deg, rgba(255,240,1,.27), rgba(255,251,235,.14)) !important;
}
.leaderboard-main-table tbody tr.is-silver,
.leaderboard-main-table tbody tr.top-2 {
  background: linear-gradient(90deg, rgba(226,232,240,.42), rgba(248,250,252,.18)) !important;
}
.leaderboard-main-table tbody tr.is-bronze,
.leaderboard-main-table tbody tr.top-3 {
  background: linear-gradient(90deg, rgba(251,191,36,.26), rgba(255,247,237,.16)) !important;
}
.leaderboard-main-table tbody tr.is-gold > td,
.leaderboard-main-table tbody tr.is-silver > td,
.leaderboard-main-table tbody tr.is-bronze > td,
.leaderboard-main-table tbody tr.top-1 > td,
.leaderboard-main-table tbody tr.top-2 > td,
.leaderboard-main-table tbody tr.top-3 > td {
  background: transparent !important;
}
.round-leaderboard-table.leaderboard-main-table th.leaderboard-rank-head,
.round-leaderboard-table.leaderboard-main-table td.leaderboard-rank { width: 44px !important; min-width: 44px !important; }
.round-leaderboard-table.leaderboard-main-table th.leaderboard-type-head,
.round-leaderboard-table.leaderboard-main-table td.leaderboard-type { width: 32px !important; min-width: 32px !important; }
.round-leaderboard-table.leaderboard-main-table td.leaderboard-points,
.round-leaderboard-table.leaderboard-main-table td.leaderboard-hub,
.round-leaderboard-table.leaderboard-main-table td.leaderboard-exact { min-width: 54px !important; }
.leaderboard-podium-strips { display: grid !important; gap: .5rem !important; }
.leaderboard-podium-strip { grid-template-columns: minmax(5.6rem,.58fr) repeat(3,minmax(7rem,1fr)) !important; }
.leaderboard-podium-strip > strong { display:grid !important; place-items:center !important; text-align:center !important; }
.trebonus-compact-next-line { display: none !important; }
@media (max-width: 760px) {
  .leaderboard-main-table th.leaderboard-badges-head,
  .leaderboard-main-table td.leaderboard-badges { display: none !important; }
  .leaderboard-main-table th.leaderboard-typeplace-head,
  .leaderboard-main-table td.leaderboard-typeplace { width: 44px !important; min-width: 44px !important; }
}

/* v0.1.23k8 layout/filter/pseudo polish */
.leaderboard-panel-section {
  display: grid !important;
  gap: 12px !important;
  margin: 1rem 0 1.25rem !important;
}
.leaderboard-panel-section > .section-title-row {
  margin: 0 !important;
}
.leaderboard-section-body,
.leaderboard-subsection-panel {
  border: 1px solid rgba(24,65,39,.10) !important;
  border-radius: 20px !important;
  background: rgba(255,255,255,.54) !important;
  box-shadow: 0 10px 24px rgba(15,23,42,.045) !important;
  display: grid !important;
  gap: 10px !important;
  padding: 12px !important;
}
.legacy-leaderboard-section {
  border-top: 0 !important;
  padding-top: 0 !important;
}
.round-leaderboards.leaderboard-subsection-panel {
  margin-top: 12px !important;
}
.round-leaderboards.leaderboard-subsection-panel > .section-title-row {
  background: rgba(255,255,255,.64) !important;
  box-shadow: none !important;
  margin: 0 !important;
}
.round-leaderboard-grid {
  gap: 12px !important;
}
.round-leaderboard-card {
  border: 1px solid rgba(24,65,39,.10) !important;
  border-radius: 18px !important;
  background: rgba(255,255,255,.54) !important;
  padding: 12px !important;
}
.round-leaderboard-head {
  align-items: flex-start !important;
  gap: 8px !important;
}
.round-leaderboard-head h4 { margin: 0 !important; }

.leaderboard-main-table {
  width: 100% !important;
}
.leaderboard-main-table thead th {
  color: var(--muted) !important;
  line-height: 1.1 !important;
  padding-top: 8px !important;
  padding-bottom: 7px !important;
}
.leaderboard-main-table th.leaderboard-rank-head,
.leaderboard-main-table td.leaderboard-rank {
  width: 54px !important;
  min-width: 54px !important;
  max-width: 54px !important;
  text-align: left !important;
  padding-left: 10px !important;
  padding-right: 4px !important;
}
.leaderboard-main-table .leaderboard-rank-inner {
  justify-content: flex-start !important;
  min-width: 44px !important;
}
.leaderboard-main-table th.leaderboard-type-head,
.leaderboard-main-table td.leaderboard-type {
  width: 40px !important;
  min-width: 40px !important;
  max-width: 40px !important;
  text-align: center !important;
  padding-left: 5px !important;
  padding-right: 5px !important;
}
.leaderboard-main-table th.leaderboard-typeplace-head,
.leaderboard-main-table td.leaderboard-typeplace {
  width: 64px !important;
  min-width: 64px !important;
  max-width: 64px !important;
  text-align: center !important;
  padding-left: 5px !important;
  padding-right: 7px !important;
}
.leaderboard-main-table th.leaderboard-name-head,
.leaderboard-main-table td.leaderboard-name,
.round-leaderboard-table.leaderboard-main-table th.leaderboard-name-head,
.round-leaderboard-table.leaderboard-main-table td.leaderboard-name {
  text-align: left !important;
}
.leaderboard-main-table th.leaderboard-badges-head,
.leaderboard-main-table td.leaderboard-badges {
  text-align: center !important;
}
.leaderboard-main-table th.leaderboard-points-head,
.leaderboard-main-table th.leaderboard-num-head,
.leaderboard-main-table td.leaderboard-points,
.leaderboard-main-table td.leaderboard-hub,
.leaderboard-main-table td.leaderboard-exact,
.leaderboard-main-table td[data-label="Kamp"],
.leaderboard-main-table td[data-label="Trebonus"],
.leaderboard-main-table td[data-label="Fulltreffere"] {
  text-align: center !important;
  font-variant-numeric: tabular-nums !important;
}
.leaderboard-main-table td.leaderboard-points,
.leaderboard-main-table td.leaderboard-hub,
.leaderboard-main-table td.leaderboard-exact,
.leaderboard-main-table td[data-label="Kamp"],
.leaderboard-main-table td[data-label="Trebonus"],
.leaderboard-main-table td[data-label="Fulltreffere"] {
  background-clip: padding-box !important;
}
.leaderboard-main-table td.leaderboard-points strong,
.leaderboard-main-table td.leaderboard-hub,
.leaderboard-main-table td.leaderboard-exact,
.leaderboard-main-table td[data-label="Kamp"],
.leaderboard-main-table td[data-label="Trebonus"],
.leaderboard-main-table td[data-label="Fulltreffere"] {
  opacity: .92 !important;
}
.leaderboard-main-table tbody tr.is-gold > td,
.knockout-leaderboard-table tbody tr.is-gold > td,
.legacy-leaderboard-table tbody tr.is-gold > td,
.round-leaderboard-table tbody tr.is-gold > td {
  background: rgba(255,240,1,.18) !important;
}
.leaderboard-main-table tbody tr.is-silver > td,
.knockout-leaderboard-table tbody tr.is-silver > td,
.legacy-leaderboard-table tbody tr.is-silver > td,
.round-leaderboard-table tbody tr.is-silver > td {
  background: rgba(174,184,194,.13) !important;
}
.leaderboard-main-table tbody tr.is-bronze > td,
.knockout-leaderboard-table tbody tr.is-bronze > td,
.legacy-leaderboard-table tbody tr.is-bronze > td,
.round-leaderboard-table tbody tr.is-bronze > td {
  background: rgba(183,121,58,.11) !important;
}
.leaderboard-main-table tbody tr.is-gold > td.leaderboard-points,
.leaderboard-main-table tbody tr.is-gold > td.leaderboard-hub,
.leaderboard-main-table tbody tr.is-gold > td.leaderboard-exact,
.leaderboard-main-table tbody tr.is-gold > td[data-label="Kamp"],
.leaderboard-main-table tbody tr.is-gold > td[data-label="Trebonus"],
.leaderboard-main-table tbody tr.is-gold > td[data-label="Fulltreffere"] {
  background: rgba(255,240,1,.12) !important;
}
.leaderboard-main-table tbody tr.is-silver > td.leaderboard-points,
.leaderboard-main-table tbody tr.is-silver > td.leaderboard-hub,
.leaderboard-main-table tbody tr.is-silver > td.leaderboard-exact,
.leaderboard-main-table tbody tr.is-silver > td[data-label="Kamp"],
.leaderboard-main-table tbody tr.is-silver > td[data-label="Trebonus"],
.leaderboard-main-table tbody tr.is-silver > td[data-label="Fulltreffere"] {
  background: rgba(174,184,194,.09) !important;
}
.leaderboard-main-table tbody tr.is-bronze > td.leaderboard-points,
.leaderboard-main-table tbody tr.is-bronze > td.leaderboard-hub,
.leaderboard-main-table tbody tr.is-bronze > td.leaderboard-exact,
.leaderboard-main-table tbody tr.is-bronze > td[data-label="Kamp"],
.leaderboard-main-table tbody tr.is-bronze > td[data-label="Trebonus"],
.leaderboard-main-table tbody tr.is-bronze > td[data-label="Fulltreffere"] {
  background: rgba(183,121,58,.075) !important;
}
.knockout-leaderboard-table td[data-label="Fulltreffere"] {
  padding-left: 9px !important;
  padding-right: 9px !important;
  min-width: 78px !important;
}
.round-leaderboard-table.leaderboard-main-table th.leaderboard-rank-head,
.round-leaderboard-table.leaderboard-main-table td.leaderboard-rank { width: 50px !important; min-width: 50px !important; }
.round-leaderboard-table.leaderboard-main-table th.leaderboard-type-head,
.round-leaderboard-table.leaderboard-main-table td.leaderboard-type { width: 38px !important; min-width: 38px !important; }
.round-leaderboard-table.leaderboard-main-table th.leaderboard-name-head,
.round-leaderboard-table.leaderboard-main-table td.leaderboard-name { min-width: 150px !important; }
.round-leaderboard-table.leaderboard-main-table th.leaderboard-points-head,
.round-leaderboard-table.leaderboard-main-table td.leaderboard-points { width: 62px !important; min-width: 62px !important; }
.round-leaderboard-table.leaderboard-main-table th.leaderboard-num-head,
.round-leaderboard-table.leaderboard-main-table td.leaderboard-hub,
.round-leaderboard-table.leaderboard-main-table td.leaderboard-exact { width: 58px !important; min-width: 58px !important; }
.leaderboard-podium-strips {
  margin: 0 !important;
}
.leaderboard-note {
  margin: 0 !important;
}
@media (max-width: 980px) {
  .leaderboard-section-body,
  .leaderboard-subsection-panel { padding: 10px !important; }
  .round-leaderboard-grid { grid-template-columns: 1fr !important; }
}
html[data-u14-effective-theme="dark"] .leaderboard-section-body,
html[data-u14-theme="dark"] .leaderboard-section-body,
html[data-u14-effective-theme="dark"] .leaderboard-subsection-panel,
html[data-u14-theme="dark"] .leaderboard-subsection-panel,
html[data-u14-effective-theme="dark"] .round-leaderboard-card,
html[data-u14-theme="dark"] .round-leaderboard-card {
  background: rgba(15,23,42,.46) !important;
  border-color: rgba(148,163,184,.18) !important;
}


/* v0.1.23k9 layout/roundtable/podium polish */
.leaderboard-panel-section {
  border-radius: 26px !important;
  padding: 14px !important;
  background: rgba(225, 246, 218, .56) !important;
  border: 1px solid rgba(0,168,80,.12) !important;
  box-shadow: 0 18px 42px rgba(15,23,42,.055) !important;
}
.legacy-leaderboard-section,
.knockout-leaderboard-section { gap: 0 !important; }
.leaderboard-section-body {
  background: rgba(255,255,255,.72) !important;
  border-color: rgba(24,65,39,.13) !important;
  gap: 12px !important;
  padding: 14px !important;
}
.leaderboard-section-body > .section-title-row,
.knockout-leaderboard-section > .section-title-row,
.round-leaderboards > .section-title-row {
  background: rgba(255,255,255,.92) !important;
  border: 1px solid rgba(24,65,39,.11) !important;
  border-radius: 18px !important;
  padding: 14px 16px !important;
  box-shadow: 0 8px 20px rgba(15,23,42,.035) !important;
}
.section-title-row h2,
.section-title-row h3,
.round-leaderboard-head h4,
.leaderboard-main-table thead th {
  color: var(--text) !important;
  opacity: 1 !important;
}
.section-title-row p,
.round-leaderboard-card p,
.leaderboard-sync-note { opacity: 1 !important; }

.leaderboard-main-wrap,
.round-leaderboard-table-wrap {
  border-radius: 18px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  background: rgba(255,255,255,.62) !important;
}
.leaderboard-main-table {
  border-collapse: separate !important;
  border-spacing: 0 !important;
  table-layout: auto !important;
}
.leaderboard-main-table thead th {
  background: #007a39 !important;
  color: #fff !important;
  font-weight: 900 !important;
  letter-spacing: .01em !important;
  vertical-align: middle !important;
}
.leaderboard-main-table th.leaderboard-rank-head,
.leaderboard-main-table td.leaderboard-rank {
  width: 62px !important;
  min-width: 62px !important;
  max-width: 62px !important;
  padding-left: 12px !important;
  padding-right: 8px !important;
  text-align: left !important;
}
.leaderboard-main-table th.leaderboard-type-head,
.leaderboard-main-table td.leaderboard-type {
  width: 44px !important;
  min-width: 44px !important;
  max-width: 44px !important;
}
.leaderboard-main-table th.leaderboard-typeplace-head,
.leaderboard-main-table td.leaderboard-typeplace {
  width: 66px !important;
  min-width: 66px !important;
  max-width: 66px !important;
}
.leaderboard-main-table th.leaderboard-name-head,
.leaderboard-main-table td.leaderboard-name {
  text-align: left !important;
  min-width: 190px !important;
}
.leaderboard-main-table th.leaderboard-badges-head,
.leaderboard-main-table td.leaderboard-badges {
  text-align: center !important;
  min-width: 120px !important;
}
.leaderboard-main-table th.leaderboard-points-head,
.leaderboard-main-table th.leaderboard-num-head,
.leaderboard-main-table td.leaderboard-points,
.leaderboard-main-table td.leaderboard-hub,
.leaderboard-main-table td.leaderboard-exact,
.leaderboard-main-table td[data-label="Kamp"],
.leaderboard-main-table td[data-label="Trebonus"],
.leaderboard-main-table td[data-label="Fulltreffere"] {
  text-align: center !important;
  min-width: 72px !important;
  padding-left: 10px !important;
  padding-right: 10px !important;
  font-variant-numeric: tabular-nums !important;
}
.leaderboard-main-table td.leaderboard-points strong { white-space: nowrap !important; }
.leaderboard-main-table tbody tr.is-gold,
.leaderboard-main-table tbody tr.top-1 { background: rgba(255,240,1,.28) !important; }
.leaderboard-main-table tbody tr.is-silver,
.leaderboard-main-table tbody tr.top-2 { background: rgba(174,184,194,.20) !important; }
.leaderboard-main-table tbody tr.is-bronze,
.leaderboard-main-table tbody tr.top-3 { background: rgba(183,121,58,.18) !important; }
.leaderboard-main-table tbody tr.is-gold > td,
.leaderboard-main-table tbody tr.is-silver > td,
.leaderboard-main-table tbody tr.is-bronze > td,
.leaderboard-main-table tbody tr.top-1 > td,
.leaderboard-main-table tbody tr.top-2 > td,
.leaderboard-main-table tbody tr.top-3 > td,
.leaderboard-main-table tbody tr.is-gold > td.leaderboard-points,
.leaderboard-main-table tbody tr.is-silver > td.leaderboard-points,
.leaderboard-main-table tbody tr.is-bronze > td.leaderboard-points,
.leaderboard-main-table tbody tr.is-gold > td.leaderboard-hub,
.leaderboard-main-table tbody tr.is-silver > td.leaderboard-hub,
.leaderboard-main-table tbody tr.is-bronze > td.leaderboard-hub,
.leaderboard-main-table tbody tr.is-gold > td.leaderboard-exact,
.leaderboard-main-table tbody tr.is-silver > td.leaderboard-exact,
.leaderboard-main-table tbody tr.is-bronze > td.leaderboard-exact,
.leaderboard-main-table tbody tr.is-gold > td[data-label="Kamp"],
.leaderboard-main-table tbody tr.is-silver > td[data-label="Kamp"],
.leaderboard-main-table tbody tr.is-bronze > td[data-label="Kamp"],
.leaderboard-main-table tbody tr.is-gold > td[data-label="Trebonus"],
.leaderboard-main-table tbody tr.is-silver > td[data-label="Trebonus"],
.leaderboard-main-table tbody tr.is-bronze > td[data-label="Trebonus"],
.leaderboard-main-table tbody tr.is-gold > td[data-label="Fulltreffere"],
.leaderboard-main-table tbody tr.is-silver > td[data-label="Fulltreffere"],
.leaderboard-main-table tbody tr.is-bronze > td[data-label="Fulltreffere"] {
  background: transparent !important;
}

.round-leaderboards.leaderboard-subsection-panel {
  background: rgba(246,255,241,.74) !important;
  border-radius: 22px !important;
  padding: 14px !important;
  gap: 14px !important;
}
.round-leaderboard-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(360px, 1fr)) !important;
  align-items: start !important;
  gap: 14px !important;
}
.round-leaderboard-card {
  min-width: 0 !important;
  overflow: hidden !important;
  background: rgba(255,255,255,.78) !important;
  border-radius: 18px !important;
  padding: 12px !important;
}
.round-leaderboard-card .muted.small { margin: 8px 0 10px !important; }
.round-leaderboard-table.leaderboard-main-table {
  min-width: 520px !important;
}
.round-leaderboard-table.leaderboard-main-table th.leaderboard-rank-head,
.round-leaderboard-table.leaderboard-main-table td.leaderboard-rank { width: 56px !important; min-width: 56px !important; }
.round-leaderboard-table.leaderboard-main-table th.leaderboard-type-head,
.round-leaderboard-table.leaderboard-main-table td.leaderboard-type { width: 46px !important; min-width: 46px !important; }
.round-leaderboard-table.leaderboard-main-table th.leaderboard-name-head,
.round-leaderboard-table.leaderboard-main-table td.leaderboard-name { min-width: 170px !important; max-width: none !important; text-align: left !important; }
.round-leaderboard-table.leaderboard-main-table th.leaderboard-points-head,
.round-leaderboard-table.leaderboard-main-table td.leaderboard-points { width: 68px !important; min-width: 68px !important; }
.round-leaderboard-table.leaderboard-main-table th.leaderboard-num-head,
.round-leaderboard-table.leaderboard-main-table td.leaderboard-hub,
.round-leaderboard-table.leaderboard-main-table td.leaderboard-exact { width: 66px !important; min-width: 66px !important; }
.round-leaderboard-table .leaderboard-name strong {
  display: inline-block !important;
  max-width: 210px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  vertical-align: bottom !important;
}

@media (max-width: 820px) {
  .leaderboard-panel-section { padding: 10px !important; border-radius: 20px !important; }
  .leaderboard-section-body { padding: 10px !important; }
  .round-leaderboard-grid { grid-template-columns: 1fr !important; }
  .leaderboard-main-table th.leaderboard-typeplace-head,
  .leaderboard-main-table td.leaderboard-typeplace { width: 54px !important; min-width: 54px !important; }
}

/* v0.1.23k10 roundtable/alignment/copy polish */
:root {
  --u14-table-gold: rgba(255, 240, 1, .26);
  --u14-table-silver: rgba(174, 184, 194, .18);
  --u14-table-bronze: rgba(183, 121, 58, .15);
}
.leaderboard-panel-section {
  display: grid !important;
  gap: 12px !important;
}
.leaderboard-section-body {
  display: grid !important;
  gap: 12px !important;
}
.leaderboard-section-body > .section-title-row {
  margin: 0 !important;
}
.leaderboard-main-wrap,
.round-leaderboard-table-wrap {
  background: rgba(255,255,255,.74) !important;
  border-color: rgba(24,65,39,.12) !important;
}
.leaderboard-main-table thead th {
  opacity: 1 !important;
  text-align: center !important;
}
.leaderboard-main-table th.leaderboard-rank-head,
.leaderboard-main-table td.leaderboard-rank {
  width: 66px !important;
  min-width: 66px !important;
  max-width: 66px !important;
  padding-left: 14px !important;
  padding-right: 8px !important;
  text-align: left !important;
}
.leaderboard-main-table th.leaderboard-type-head,
.leaderboard-main-table td.leaderboard-type {
  width: 52px !important;
  min-width: 52px !important;
  max-width: 52px !important;
  text-align: center !important;
}
.leaderboard-main-table th.leaderboard-typeplace-head,
.leaderboard-main-table td.leaderboard-typeplace {
  width: 68px !important;
  min-width: 68px !important;
  max-width: 68px !important;
  text-align: center !important;
}
.leaderboard-main-table th.leaderboard-name-head,
.leaderboard-main-table td.leaderboard-name {
  text-align: left !important;
}
.leaderboard-main-table th.leaderboard-badges-head,
.leaderboard-main-table td.leaderboard-badges {
  text-align: center !important;
}
.leaderboard-main-table td.leaderboard-points,
.leaderboard-main-table td.leaderboard-hub,
.leaderboard-main-table td.leaderboard-exact,
.leaderboard-main-table td[data-label="Kamp"],
.leaderboard-main-table td[data-label="Trebonus"],
.leaderboard-main-table td[data-label="Fulltreffere"] {
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}
.leaderboard-main-table tbody tr.is-gold > td,
.leaderboard-main-table tbody tr.top-1 > td { background: var(--u14-table-gold) !important; }
.leaderboard-main-table tbody tr.is-silver > td,
.leaderboard-main-table tbody tr.top-2 > td { background: var(--u14-table-silver) !important; }
.leaderboard-main-table tbody tr.is-bronze > td,
.leaderboard-main-table tbody tr.top-3 > td { background: var(--u14-table-bronze) !important; }
.leaderboard-main-table tbody tr.is-gold > td.leaderboard-points,
.leaderboard-main-table tbody tr.is-gold > td.leaderboard-hub,
.leaderboard-main-table tbody tr.is-gold > td.leaderboard-exact,
.leaderboard-main-table tbody tr.is-gold > td[data-label="Kamp"],
.leaderboard-main-table tbody tr.is-gold > td[data-label="Trebonus"],
.leaderboard-main-table tbody tr.is-gold > td[data-label="Fulltreffere"],
.leaderboard-main-table tbody tr.is-silver > td.leaderboard-points,
.leaderboard-main-table tbody tr.is-silver > td.leaderboard-hub,
.leaderboard-main-table tbody tr.is-silver > td.leaderboard-exact,
.leaderboard-main-table tbody tr.is-silver > td[data-label="Kamp"],
.leaderboard-main-table tbody tr.is-silver > td[data-label="Trebonus"],
.leaderboard-main-table tbody tr.is-silver > td[data-label="Fulltreffere"],
.leaderboard-main-table tbody tr.is-bronze > td.leaderboard-points,
.leaderboard-main-table tbody tr.is-bronze > td.leaderboard-hub,
.leaderboard-main-table tbody tr.is-bronze > td.leaderboard-exact,
.leaderboard-main-table tbody tr.is-bronze > td[data-label="Kamp"],
.leaderboard-main-table tbody tr.is-bronze > td[data-label="Trebonus"],
.leaderboard-main-table tbody tr.is-bronze > td[data-label="Fulltreffere"] {
  background: inherit !important;
}
.round-leaderboards.leaderboard-subsection-panel {
  background: rgba(225,246,218,.48) !important;
  border: 1px solid rgba(0,168,80,.12) !important;
  border-radius: 24px !important;
  display: grid !important;
  gap: 12px !important;
  margin-top: 12px !important;
  padding: 12px !important;
}
.round-leaderboards > .section-title-row {
  margin: 0 !important;
}
.round-leaderboard-grid {
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)) !important;
  gap: 12px !important;
}
.round-leaderboard-card.leaderboard-round-card {
  display: grid !important;
  gap: 9px !important;
  padding: 12px !important;
  border: 1px solid rgba(24,65,39,.12) !important;
  background: rgba(255,255,255,.82) !important;
  min-width: 0 !important;
}
.round-leaderboard-head {
  align-items: center !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.round-leaderboard-card .muted.small {
  margin: 0 !important;
}
.round-leaderboard-card .table-wrap.compact.round-leaderboard-table-wrap {
  margin-top: 0 !important;
  border-radius: 16px !important;
  width: 100% !important;
}
.round-leaderboard-table.leaderboard-main-table {
  min-width: 0 !important;
  width: 100% !important;
  table-layout: fixed !important;
}
.round-leaderboard-table.leaderboard-main-table th,
.round-leaderboard-table.leaderboard-main-table td {
  padding: 7px 8px !important;
}
.round-leaderboard-table.leaderboard-main-table th.leaderboard-rank-head,
.round-leaderboard-table.leaderboard-main-table td.leaderboard-rank {
  width: 58px !important;
  min-width: 58px !important;
  max-width: 58px !important;
  padding-left: 10px !important;
}
.round-leaderboard-table.leaderboard-main-table th.leaderboard-type-head,
.round-leaderboard-table.leaderboard-main-table td.leaderboard-type {
  width: 52px !important;
  min-width: 52px !important;
  max-width: 52px !important;
}
.round-leaderboard-table.leaderboard-main-table th.leaderboard-name-head,
.round-leaderboard-table.leaderboard-main-table td.leaderboard-name {
  min-width: 0 !important;
  max-width: none !important;
  text-align: left !important;
}
.round-leaderboard-table.leaderboard-main-table th.leaderboard-points-head,
.round-leaderboard-table.leaderboard-main-table td.leaderboard-points {
  width: 72px !important;
  min-width: 72px !important;
  max-width: 72px !important;
  text-align: center !important;
}
.round-leaderboard-table .leaderboard-name strong {
  display: block !important;
  max-width: none !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.round-leaderboard-table .leaderboard-points strong {
  color: var(--u14-h-green-strong, #00713B) !important;
}
.round-leaderboard-table tbody tr.is-gold > td { background: var(--u14-table-gold) !important; }
.round-leaderboard-table tbody tr.is-silver > td { background: var(--u14-table-silver) !important; }
.round-leaderboard-table tbody tr.is-bronze > td { background: var(--u14-table-bronze) !important; }
@media (min-width: 1040px) {
  .round-leaderboard-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}
@media (max-width: 700px) {
  .round-leaderboard-grid { grid-template-columns: 1fr !important; }
  .round-leaderboard-table.leaderboard-main-table { min-width: 300px !important; }
}
html[data-u14-effective-theme="dark"] .leaderboard-panel-section,
html[data-u14-theme="dark"] .leaderboard-panel-section,
html[data-u14-effective-theme="dark"] .round-leaderboards.leaderboard-subsection-panel,
html[data-u14-theme="dark"] .round-leaderboards.leaderboard-subsection-panel {
  background: rgba(15,23,42,.50) !important;
  border-color: rgba(148,163,184,.18) !important;
}
html[data-u14-effective-theme="dark"] .round-leaderboard-card.leaderboard-round-card,
html[data-u14-theme="dark"] .round-leaderboard-card.leaderboard-round-card,
html[data-u14-effective-theme="dark"] .leaderboard-section-body,
html[data-u14-theme="dark"] .leaderboard-section-body {
  background: rgba(9,17,13,.86) !important;
  border-color: rgba(246,255,247,.12) !important;
}

/* v0.1.23k11 roundtable sum/badge polish */
:root {
  --u14-table-gold: rgba(255, 240, 1, .24);
  --u14-table-silver: rgba(174, 184, 194, .17);
  --u14-table-bronze: rgba(183, 121, 58, .145);
}

/* Main-table alignment: keep headings and cells on the same visual grid. */
.leaderboard-main-table th.leaderboard-badges-head,
.leaderboard-main-table td.leaderboard-badges,
.legacy-leaderboard-table th.leaderboard-badges-head,
.legacy-leaderboard-table td.leaderboard-badges,
.knockout-leaderboard-table th.leaderboard-badges-head,
.knockout-leaderboard-table td.leaderboard-badges {
  text-align: center !important;
  vertical-align: middle !important;
}
.legacy-leaderboard-table th.leaderboard-rank-head,
.knockout-leaderboard-table th.leaderboard-rank-head {
  padding-left: 14px !important;
  text-align: left !important;
}
.legacy-leaderboard-table th.leaderboard-points-head,
.legacy-leaderboard-table th.leaderboard-num-head,
.knockout-leaderboard-table th.leaderboard-points-head,
.knockout-leaderboard-table th.leaderboard-num-head {
  text-align: center !important;
}

/* Round cards should feel like proper table cards, not floating fragments. */
.round-leaderboard-card.leaderboard-round-card {
  border-radius: 20px !important;
  overflow: hidden !important;
  padding: 12px !important;
}
.round-leaderboard-card .table-wrap.compact.round-leaderboard-table-wrap {
  border-radius: 17px !important;
  overflow: hidden !important;
  border: 1px solid rgba(24,65,39,.13) !important;
}
.round-leaderboard-card .table-wrap.compact.round-leaderboard-table-wrap table {
  border-collapse: separate !important;
  border-spacing: 0 !important;
}
.round-leaderboard-card .round-leaderboard-head h4 {
  line-height: 1.15 !important;
}

/* Round tables: use the freed space for names, not for oversized rank/type/score cells. */
.round-leaderboard-table.leaderboard-main-table th.leaderboard-rank-head,
.round-leaderboard-table.leaderboard-main-table td.leaderboard-rank {
  width: 50px !important;
  min-width: 50px !important;
  max-width: 50px !important;
  padding-left: 8px !important;
  padding-right: 4px !important;
  text-align: left !important;
}
.round-leaderboard-table.leaderboard-main-table th.leaderboard-type-head,
.round-leaderboard-table.leaderboard-main-table td.leaderboard-type {
  width: 44px !important;
  min-width: 44px !important;
  max-width: 44px !important;
  padding-left: 4px !important;
  padding-right: 4px !important;
  text-align: center !important;
}
.round-leaderboard-table.leaderboard-main-table th.leaderboard-name-head,
.round-leaderboard-table.leaderboard-main-table td.leaderboard-name {
  text-align: left !important;
  min-width: 0 !important;
  width: auto !important;
  padding-left: 8px !important;
  padding-right: 8px !important;
}
.round-leaderboard-table.leaderboard-main-table th.leaderboard-points-head,
.round-leaderboard-table.leaderboard-main-table td.leaderboard-points {
  width: 54px !important;
  min-width: 54px !important;
  max-width: 54px !important;
  padding-left: 4px !important;
  padding-right: 6px !important;
  text-align: right !important;
}
.round-leaderboard-table .leaderboard-points,
.round-leaderboard-table .leaderboard-points strong,
.round-leaderboard-table td.leaderboard-points,
.round-leaderboard-table td.leaderboard-points strong {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
}
.round-leaderboard-table td.leaderboard-points strong {
  display: inline !important;
  padding: 0 !important;
  margin: 0 !important;
  color: var(--u14-h-green-strong, #00713B) !important;
  font-weight: 850 !important;
}
.round-leaderboard-table td.leaderboard-points span {
  opacity: .88 !important;
  margin-left: 2px !important;
}
.round-leaderboard-table tbody tr.is-gold > td.leaderboard-points,
.round-leaderboard-table tbody tr.is-silver > td.leaderboard-points,
.round-leaderboard-table tbody tr.is-bronze > td.leaderboard-points {
  background: inherit !important;
}

/* Keep three round cards on one row a little longer on desktop, without clipping names. */
@media (min-width: 1120px) {
  .round-leaderboard-grid {
    grid-template-columns: repeat(3, minmax(270px, 1fr)) !important;
  }
  .round-leaderboard-table.leaderboard-main-table th,
  .round-leaderboard-table.leaderboard-main-table td {
    padding-top: 7px !important;
    padding-bottom: 7px !important;
  }
}
@media (max-width: 1119px) and (min-width: 720px) {
  .round-leaderboard-grid {
    grid-template-columns: repeat(2, minmax(300px, 1fr)) !important;
  }
}

/* Backlog-visible hook: help/feedback gets its own WORK later; keep current release visual-only. */

/* v0.1.23k12 final roundtable/header polish */
/* Remove the last remaining score "pill" styling in round tables, including generic themed overrides. */
.round-leaderboard-table.leaderboard-main-table td.leaderboard-points,
.round-leaderboard-table.leaderboard-main-table td.leaderboard-points *,
.round-leaderboard-table.leaderboard-main-table td.leaderboard-points strong,
.round-leaderboard-table.leaderboard-main-table td.leaderboard-points span,
html[data-u14-effective-theme] .round-leaderboard-table.leaderboard-main-table td.leaderboard-points,
html[data-u14-effective-theme] .round-leaderboard-table.leaderboard-main-table td.leaderboard-points *,
html[data-u14-theme] .round-leaderboard-table.leaderboard-main-table td.leaderboard-points,
html[data-u14-theme] .round-leaderboard-table.leaderboard-main-table td.leaderboard-points * {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
}
.round-leaderboard-table.leaderboard-main-table td.leaderboard-points {
  display: table-cell !important;
  color: var(--text) !important;
  font-variant-numeric: tabular-nums !important;
  text-align: right !important;
}
.round-leaderboard-table.leaderboard-main-table td.leaderboard-points strong {
  display: inline !important;
  color: var(--u14-h-green-strong, #00713B) !important;
  font-size: .98rem !important;
  font-weight: 950 !important;
  line-height: inherit !important;
  padding: 0 !important;
}
.round-leaderboard-table.leaderboard-main-table td.leaderboard-points span {
  display: inline !important;
  color: var(--muted) !important;
  font-size: .72rem !important;
  font-weight: 800 !important;
  line-height: inherit !important;
  padding: 0 !important;
}
.round-leaderboard-table.leaderboard-main-table th.leaderboard-points-head {
  text-align: right !important;
  padding-right: 8px !important;
}

/* A little more usable name space between medal/rank and type without making the compact cards feel cramped. */
.round-leaderboard-table.leaderboard-main-table th.leaderboard-rank-head,
.round-leaderboard-table.leaderboard-main-table td.leaderboard-rank {
  width: 47px !important;
  min-width: 47px !important;
  max-width: 47px !important;
  padding-left: 8px !important;
  padding-right: 2px !important;
}
.round-leaderboard-table.leaderboard-main-table th.leaderboard-type-head,
.round-leaderboard-table.leaderboard-main-table td.leaderboard-type {
  width: 40px !important;
  min-width: 40px !important;
  max-width: 40px !important;
}
.round-leaderboard-table.leaderboard-main-table th.leaderboard-name-head,
.round-leaderboard-table.leaderboard-main-table td.leaderboard-name {
  padding-left: 7px !important;
  padding-right: 7px !important;
}
.round-leaderboard-table.leaderboard-main-table th.leaderboard-points-head,
.round-leaderboard-table.leaderboard-main-table td.leaderboard-points {
  width: 48px !important;
  min-width: 48px !important;
  max-width: 48px !important;
}

/* Main table header/cell alignment: keep Merker and numeric columns visually under their titles. */
.leaderboard-main-table th.leaderboard-badges-head,
.leaderboard-main-table td.leaderboard-badges {
  text-align: center !important;
}
.legacy-leaderboard-table td.leaderboard-badges,
.knockout-leaderboard-table td.leaderboard-badges {
  padding-left: 8px !important;
  padding-right: 8px !important;
}
.legacy-leaderboard-table th.leaderboard-badges-head,
.knockout-leaderboard-table th.leaderboard-badges-head {
  padding-left: 8px !important;
  padding-right: 8px !important;
}
.legacy-leaderboard-table th.leaderboard-points-head,
.legacy-leaderboard-table th.leaderboard-num-head,
.knockout-leaderboard-table th.leaderboard-points-head,
.knockout-leaderboard-table th.leaderboard-num-head,
.legacy-leaderboard-table td.leaderboard-points,
.legacy-leaderboard-table td.leaderboard-hub,
.legacy-leaderboard-table td.leaderboard-exact,
.knockout-leaderboard-table td.leaderboard-points,
.knockout-leaderboard-table td[data-label="Kamp"],
.knockout-leaderboard-table td[data-label="Trebonus"],
.knockout-leaderboard-table td[data-label="Fulltreffere"] {
  text-align: center !important;
  font-variant-numeric: tabular-nums !important;
}

/* Keep round-table headers crisp and attached to the table card. */
.round-leaderboard-card.leaderboard-round-card .table-wrap.compact.round-leaderboard-table-wrap {
  background: rgba(255,255,255,.42) !important;
}
html[data-u14-effective-theme="dark"] .round-leaderboard-card.leaderboard-round-card .table-wrap.compact.round-leaderboard-table-wrap,
html[data-u14-theme="dark"] .round-leaderboard-card.leaderboard-round-card .table-wrap.compact.round-leaderboard-table-wrap {
  background: rgba(255,255,255,.025) !important;
}

/* v0.1.23k13 horizontal table rhythm polish
   Keep table styling row-based, not column-based: zebra/medal fills and row
   separators must run continuously across all leaderboard table columns. */
.leaderboard-main-table {
  --u14-row-plain: rgba(255,255,255,.00);
  --u14-row-even: rgba(18, 82, 42, .035);
  --u14-row-border: rgba(24,65,39,.105);
  --u14-row-gold: rgba(255, 240, 1, .25);
  --u14-row-silver: rgba(174, 184, 194, .18);
  --u14-row-bronze: rgba(183, 121, 58, .15);
}
.leaderboard-main-table tbody tr {
  --u14-current-row-bg: var(--u14-row-plain);
}
.leaderboard-main-table tbody tr:nth-child(even) {
  --u14-current-row-bg: var(--u14-row-even);
}
.leaderboard-main-table tbody tr.is-gold {
  --u14-current-row-bg: var(--u14-row-gold);
}
.leaderboard-main-table tbody tr.is-silver {
  --u14-current-row-bg: var(--u14-row-silver);
}
.leaderboard-main-table tbody tr.is-bronze {
  --u14-current-row-bg: var(--u14-row-bronze);
}
.leaderboard-main-table tbody tr > td,
.knockout-leaderboard-table tbody tr > td,
.legacy-leaderboard-table tbody tr > td,
.round-leaderboard-table tbody tr > td {
  background: var(--u14-current-row-bg) !important;
  border-bottom: 1px solid var(--u14-row-border) !important;
  box-shadow: inset 0 -1px 0 rgba(255,255,255,.28) !important;
}
.leaderboard-main-table tbody tr > td.leaderboard-points,
.leaderboard-main-table tbody tr > td.leaderboard-hub,
.leaderboard-main-table tbody tr > td.leaderboard-exact,
.leaderboard-main-table tbody tr > td.leaderboard-badges,
.leaderboard-main-table tbody tr > td[data-label="Kamp"],
.leaderboard-main-table tbody tr > td[data-label="Trebonus"],
.leaderboard-main-table tbody tr > td[data-label="Fulltreffere"],
.leaderboard-main-table tbody tr > td[data-label="Sum"] {
  background: var(--u14-current-row-bg) !important;
}
.leaderboard-main-table tbody tr > td.leaderboard-points *,
.round-leaderboard-table tbody tr > td.leaderboard-points * {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* Round tables: align the Navn header with player names and keep Sum as plain text. */
.round-leaderboard-table.leaderboard-main-table th.leaderboard-name-head {
  text-align: left !important;
  padding-left: 7px !important;
}
.round-leaderboard-table.leaderboard-main-table td.leaderboard-name {
  text-align: left !important;
}
.round-leaderboard-table.leaderboard-main-table th.leaderboard-points-head,
.round-leaderboard-table.leaderboard-main-table td.leaderboard-points {
  text-align: right !important;
}
.round-leaderboard-table.leaderboard-main-table td.leaderboard-points strong,
.round-leaderboard-table.leaderboard-main-table td.leaderboard-points span {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* Main tables: keep Merker and numeric columns on the same visual grid. */
.legacy-leaderboard-table th.leaderboard-badges-head,
.knockout-leaderboard-table th.leaderboard-badges-head,
.legacy-leaderboard-table td.leaderboard-badges,
.knockout-leaderboard-table td.leaderboard-badges {
  text-align: center !important;
  padding-left: 10px !important;
  padding-right: 10px !important;
}
.legacy-leaderboard-table .leaderboard-badges-cell,
.knockout-leaderboard-table .leaderboard-badges-cell {
  justify-content: center !important;
  margin-inline: auto !important;
}
.legacy-leaderboard-table th.leaderboard-name-head,
.knockout-leaderboard-table th.leaderboard-name-head,
.legacy-leaderboard-table td.leaderboard-name,
.knockout-leaderboard-table td.leaderboard-name {
  text-align: left !important;
}
.legacy-leaderboard-table th.leaderboard-points-head,
.legacy-leaderboard-table th.leaderboard-num-head,
.knockout-leaderboard-table th.leaderboard-points-head,
.knockout-leaderboard-table th.leaderboard-num-head,
.legacy-leaderboard-table td.leaderboard-points,
.legacy-leaderboard-table td.leaderboard-hub,
.legacy-leaderboard-table td.leaderboard-exact,
.knockout-leaderboard-table td.leaderboard-points,
.knockout-leaderboard-table td[data-label="Kamp"],
.knockout-leaderboard-table td[data-label="Trebonus"],
.knockout-leaderboard-table td[data-label="Fulltreffere"] {
  text-align: center !important;
}

/* Dark/system dark: same rule, just use quieter row colors. */
html[data-u14-theme="dark"] .leaderboard-main-table,
html[data-u14-effective-theme="dark"] .leaderboard-main-table {
  --u14-row-plain: rgba(255,255,255,.012);
  --u14-row-even: rgba(255,255,255,.045);
  --u14-row-border: rgba(255,255,255,.095);
  --u14-row-gold: rgba(255, 240, 1, .18);
  --u14-row-silver: rgba(174, 184, 194, .12);
  --u14-row-bronze: rgba(183, 121, 58, .12);
}


/* v0.1.23k14c targeted table CSS from K13
   Narrow follow-up from K13 using the confirmed DOM/CSS selectors:
   - keep round-table row rhythm horizontal across all cells, including Sum
   - keep Sum plain-text with tooltip only
   - align compact round headers against their real cells
   - clean legacy/group-stage numeric cells without changing table structure. */

/* Round tables: explicit row variables on the actual compact table. */
.round-leaderboard-card .table-wrap.compact .round-leaderboard-table.leaderboard-main-table tbody tr {
  --u14-current-row-bg: var(--u14-row-plain, rgba(255,255,255,0)) !important;
}
.round-leaderboard-card .table-wrap.compact .round-leaderboard-table.leaderboard-main-table tbody tr:nth-child(even) {
  --u14-current-row-bg: var(--u14-row-even, rgba(18,82,42,.035)) !important;
}
.round-leaderboard-card .table-wrap.compact .round-leaderboard-table.leaderboard-main-table tbody tr.is-gold {
  --u14-current-row-bg: var(--u14-row-gold, rgba(255,240,1,.25)) !important;
}
.round-leaderboard-card .table-wrap.compact .round-leaderboard-table.leaderboard-main-table tbody tr.is-silver {
  --u14-current-row-bg: var(--u14-row-silver, rgba(174,184,194,.18)) !important;
}
.round-leaderboard-card .table-wrap.compact .round-leaderboard-table.leaderboard-main-table tbody tr.is-bronze {
  --u14-current-row-bg: var(--u14-row-bronze, rgba(183,121,58,.15)) !important;
}
.round-leaderboard-card .table-wrap.compact .round-leaderboard-table.leaderboard-main-table tbody tr > td,
html[data-u14-effective-theme] .round-leaderboard-card .table-wrap.compact .round-leaderboard-table.leaderboard-main-table tbody tr > td,
html[data-u14-theme] .round-leaderboard-card .table-wrap.compact .round-leaderboard-table.leaderboard-main-table tbody tr > td {
  background: var(--u14-current-row-bg) !important;
  border-bottom: 1px solid var(--u14-row-border, rgba(24,65,39,.105)) !important;
  box-shadow: inset 0 -1px 0 rgba(255,255,255,.22) !important;
  background-clip: padding-box !important;
}

/* Round table cells/children: remove only chip styling, not the row background itself. */
.round-leaderboard-card .table-wrap.compact .round-leaderboard-table.leaderboard-main-table td.leaderboard-points,
html[data-u14-effective-theme] .round-leaderboard-card .table-wrap.compact .round-leaderboard-table.leaderboard-main-table td.leaderboard-points,
html[data-u14-theme] .round-leaderboard-card .table-wrap.compact .round-leaderboard-table.leaderboard-main-table td.leaderboard-points {
  background: var(--u14-current-row-bg) !important;
  border-radius: 0 !important;
  outline: 0 !important;
  text-align: right !important;
}
.round-leaderboard-card .table-wrap.compact .round-leaderboard-table.leaderboard-main-table td.leaderboard-points *,
.round-leaderboard-card .table-wrap.compact .round-leaderboard-table.leaderboard-main-table td.leaderboard-points strong,
.round-leaderboard-card .table-wrap.compact .round-leaderboard-table.leaderboard-main-table td.leaderboard-points span,
html[data-u14-effective-theme] .round-leaderboard-card .table-wrap.compact .round-leaderboard-table.leaderboard-main-table td.leaderboard-points *,
html[data-u14-theme] .round-leaderboard-card .table-wrap.compact .round-leaderboard-table.leaderboard-main-table td.leaderboard-points * {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
}
.round-leaderboard-card .table-wrap.compact .round-leaderboard-table.leaderboard-main-table td.leaderboard-points strong {
  display: inline !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Round table header/cell alignment: confirmed against K13 screenshots. */
.round-leaderboard-card .table-wrap.compact th:nth-child(3),
.round-leaderboard-card .table-wrap.compact th.leaderboard-name-head {
  text-align: left !important;
  padding-left: 7px !important;
}
.round-leaderboard-card .table-wrap.compact th:nth-child(4),
.round-leaderboard-card .table-wrap.compact th.leaderboard-points-head {
  text-align: right !important;
  padding-right: 7px !important;
}
.round-leaderboard-card .table-wrap.compact td:nth-child(3),
.round-leaderboard-card .table-wrap.compact td.leaderboard-name {
  text-align: left !important;
}
.round-leaderboard-card .table-wrap.compact td:nth-child(4),
.round-leaderboard-card .table-wrap.compact td.leaderboard-points {
  text-align: right !important;
}

/* Legacy/group-stage numeric right side: strip chip/card inheritance from cells and descendants,
   but let the row background and row separators come from the row rhythm rules. */
table.leaderboard-main-table tbody td.leaderboard-points,
table.leaderboard-main-table tbody td.leaderboard-hub,
table.leaderboard-main-table tbody td.leaderboard-exact,
table.leaderboard-main-table tbody td[data-label="Poeng"],
table.leaderboard-main-table tbody td[data-label="HUB"],
table.leaderboard-main-table tbody td[data-label="Resultat"],
table.leaderboard-main-table tbody td[data-label="Eksakt"],
table.leaderboard-main-table tbody td[data-label="Kamp"],
table.leaderboard-main-table tbody td[data-label="Trebonus"],
table.leaderboard-main-table tbody td[data-label="Fulltreffere"],
html[data-u14-effective-theme] table.leaderboard-main-table tbody td.leaderboard-points,
html[data-u14-effective-theme] table.leaderboard-main-table tbody td.leaderboard-hub,
html[data-u14-effective-theme] table.leaderboard-main-table tbody td.leaderboard-exact,
html[data-u14-theme] table.leaderboard-main-table tbody td.leaderboard-points,
html[data-u14-theme] table.leaderboard-main-table tbody td.leaderboard-hub,
html[data-u14-theme] table.leaderboard-main-table tbody td.leaderboard-exact {
  border-radius: 0 !important;
  color: var(--text) !important;
  display: table-cell !important;
  font-variant-numeric: tabular-nums !important;
  min-height: 0 !important;
  min-width: 0 !important;
  padding: 11px 14px !important;
  text-align: center !important;
  white-space: nowrap !important;
}
.legacy-leaderboard-table tbody tr > td.leaderboard-points,
.legacy-leaderboard-table tbody tr > td.leaderboard-hub,
.legacy-leaderboard-table tbody tr > td.leaderboard-exact,
.knockout-leaderboard-table tbody tr > td.leaderboard-points,
.knockout-leaderboard-table tbody tr > td[data-label="Kamp"],
.knockout-leaderboard-table tbody tr > td[data-label="Trebonus"],
.knockout-leaderboard-table tbody tr > td[data-label="Fulltreffere"] {
  background: var(--u14-current-row-bg) !important;
  border-bottom: 1px solid var(--u14-row-border, rgba(24,65,39,.105)) !important;
  box-shadow: inset 0 -1px 0 rgba(255,255,255,.22) !important;
}
.legacy-leaderboard-table tbody td.leaderboard-points *,
.legacy-leaderboard-table tbody td.leaderboard-hub *,
.legacy-leaderboard-table tbody td.leaderboard-exact *,
.knockout-leaderboard-table tbody td.leaderboard-points *,
.knockout-leaderboard-table tbody td[data-label="Kamp"] *,
.knockout-leaderboard-table tbody td[data-label="Trebonus"] *,
.knockout-leaderboard-table tbody td[data-label="Fulltreffere"] * {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
}

/* Numeric headers: align header labels with the cleaned cells, without touching Merker from K13. */
.legacy-leaderboard-table th.leaderboard-points-head,
.legacy-leaderboard-table th.leaderboard-num-head,
.knockout-leaderboard-table th.leaderboard-points-head,
.knockout-leaderboard-table th.leaderboard-num-head {
  text-align: center !important;
  padding-left: 14px !important;
  padding-right: 14px !important;
}
.legacy-leaderboard-table td.leaderboard-points,
.legacy-leaderboard-table td.leaderboard-hub,
.legacy-leaderboard-table td.leaderboard-exact {
  width: 82px !important;
  min-width: 82px !important;
  max-width: 82px !important;
}
/* End v0.1.23k14c targeted table CSS from K13 */


/* U14-PARTICIPATION-PAYMENT-COPY-23R-BEGIN */
.participation-pricing {
  display: grid !important;
  gap: 12px !important;
}
.participation-pricing-head {
  align-items: center !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  justify-content: space-between !important;
}
.participation-pricing-head strong { font-size: 1.02rem !important; }
.participation-pricing-pill {
  background: rgba(0,168,80,.10) !important;
  border: 1px solid rgba(0,168,80,.22) !important;
  border-radius: 999px !important;
  color: #075C35 !important;
  font-size: .72rem !important;
  font-weight: 950 !important;
  padding: 5px 9px !important;
  white-space: nowrap !important;
}
.participation-pricing-grid {
  display: grid !important;
  gap: 8px !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}
.participation-pricing-grid > div {
  background: rgba(255,255,255,.62) !important;
  border: 1px solid rgba(24,65,39,.10) !important;
  border-radius: 14px !important;
  display: grid !important;
  gap: 4px !important;
  padding: 10px 11px !important;
}
.participation-pricing-grid span {
  color: var(--muted) !important;
  font-size: .78rem !important;
  font-weight: 850 !important;
}
.participation-pricing-grid strong {
  color: var(--text) !important;
  font-size: 1.05rem !important;
  font-weight: 950 !important;
}
.participation-vipps { margin-block: 0 !important; }
@media (max-width: 620px) {
  .participation-pricing-grid { grid-template-columns: 1fr !important; }
}
html[data-u14-effective-theme="dark"] .participation-pricing-grid > div,
html[data-u14-theme="dark"] .participation-pricing-grid > div {
  background: rgba(246,255,247,.045) !important;
  border-color: rgba(246,255,247,.11) !important;
}
html[data-u14-effective-theme="dark"] .participation-pricing-pill,
html[data-u14-theme="dark"] .participation-pricing-pill {
  background: rgba(0,168,80,.14) !important;
  border-color: rgba(0,168,80,.28) !important;
  color: #CFFADE !important;
}
/* U14-PARTICIPATION-PAYMENT-COPY-23R-END */

/* U14-REGISTRATION-PAYMENT-PASSWORD-ADMIN-23R2-BEGIN */
.password-policy-hint {
  background: rgba(24,65,39,.045) !important;
  border: 1px solid rgba(24,65,39,.09) !important;
  border-radius: 12px !important;
  margin: -2px 0 4px !important;
  padding: 8px 10px !important;
}
.participation-details {
  border: 0 !important;
  margin-top: 2px !important;
}
.participation-details > summary {
  cursor: pointer !important;
  font-weight: 900 !important;
  padding: 5px 0 !important;
}
.participation-details-body {
  background: rgba(255,255,255,.54) !important;
  border: 1px solid rgba(24,65,39,.105) !important;
  border-radius: 14px !important;
  line-height: 1.55 !important;
  margin-top: 7px !important;
  padding: 12px 13px !important;
}
.admin-payment-info {
  border: 1px solid rgba(24,65,39,.11) !important;
  border-radius: 16px !important;
  margin: 12px 0 14px !important;
  overflow: hidden !important;
}
.admin-payment-info > summary {
  cursor: pointer !important;
  font-weight: 950 !important;
  padding: 12px 14px !important;
}
.admin-payment-info-body {
  border-top: 1px solid rgba(24,65,39,.08) !important;
  padding: 12px !important;
}
.admin-payment-info-body .participation-pricing {
  box-shadow: none !important;
  margin: 0 !important;
}
.admin-participants-toolbar {
  align-items: end !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px 14px !important;
  justify-content: space-between !important;
  margin: 10px 0 12px !important;
}
.admin-participants-toolbar label {
  flex: 1 1 300px !important;
  max-width: 520px !important;
}
.admin-participants-toolbar input[type="search"] {
  margin-top: 4px !important;
}
.admin-participant-name {
  background: transparent !important;
  border: 0 !important;
  color: var(--text) !important;
  cursor: pointer !important;
  font: inherit !important;
  font-weight: 950 !important;
  padding: 0 !important;
  text-align: left !important;
  text-decoration: underline !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 3px !important;
}
.admin-participant-name::before {
  content: "▸";
  display: inline-block !important;
  margin-right: 5px !important;
  transition: transform .15s ease !important;
}
.admin-participant-name[aria-expanded="true"]::before {
  transform: rotate(90deg) !important;
}
.payment-code-inline {
  background: rgba(255,240,1,.30) !important;
  border: 1px solid rgba(156,136,0,.18) !important;
  border-radius: 999px !important;
  display: inline-block !important;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace !important;
  letter-spacing: .035em !important;
  padding: 5px 8px !important;
}
.admin-participant-detail-row > td {
  background: rgba(24,65,39,.025) !important;
  padding: 0 12px 14px !important;
}
.admin-participant-detail-card {
  background: rgba(255,255,255,.66) !important;
  border: 1px solid rgba(24,65,39,.10) !important;
  border-radius: 18px !important;
  box-shadow: 0 10px 22px rgba(24,65,39,.055) !important;
  display: grid !important;
  gap: 12px !important;
  margin-top: 6px !important;
  padding: 14px !important;
}
.admin-participant-detail-grid {
  display: grid !important;
  gap: 10px !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}
@media (max-width: 720px) {
  .admin-participant-detail-grid { grid-template-columns: 1fr !important; }
}
html[data-u14-effective-theme="dark"] .password-policy-hint,
html[data-u14-theme="dark"] .password-policy-hint,
html[data-u14-effective-theme="dark"] .participation-details-body,
html[data-u14-theme="dark"] .participation-details-body,
html[data-u14-effective-theme="dark"] .admin-participant-detail-card,
html[data-u14-theme="dark"] .admin-participant-detail-card {
  background: rgba(246,255,247,.045) !important;
  border-color: rgba(246,255,247,.11) !important;
}
html[data-u14-effective-theme="dark"] .admin-payment-info,
html[data-u14-theme="dark"] .admin-payment-info {
  border-color: rgba(246,255,247,.11) !important;
}
html[data-u14-effective-theme="dark"] .payment-code-inline,
html[data-u14-theme="dark"] .payment-code-inline {
  background: rgba(255,240,1,.13) !important;
  border-color: rgba(255,240,1,.20) !important;
}
/* U14-REGISTRATION-PAYMENT-PASSWORD-ADMIN-23R2-END */

/* U14-PROFILE-REGISTRATION-LAYOUT-23R4-BEGIN */
.auth-card {
  width: min(520px, 100%) !important;
}
.auth-card .participation-pricing {
  margin-bottom: 16px !important;
}
.auth-card .participation-vipps {
  padding: 13px 14px !important;
}
.auth-card .participation-vipps strong {
  font-size: clamp(1.7rem, 6vw, 2.15rem) !important;
}
.inline-emphasis {
  color: var(--text) !important;
  font-weight: 950 !important;
}
.vipps-box small .inline-emphasis,
.vipps-box small strong {
  display: inline !important;
  font-size: inherit !important;
  letter-spacing: inherit !important;
  line-height: inherit !important;
  text-transform: none !important;
}
.profile-dashboard {
  max-width: 900px !important;
}
.profile-dashboard-head {
  align-items: flex-start !important;
  display: flex !important;
  gap: 14px !important;
  justify-content: space-between !important;
  margin-bottom: 14px !important;
}
.profile-tabs {
  background: rgba(24,65,39,.045) !important;
  border: 1px solid rgba(24,65,39,.10) !important;
  border-radius: 18px !important;
  display: grid !important;
  gap: 6px !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  margin: 14px 0 18px !important;
  padding: 6px !important;
}
.profile-tabs button {
  background: transparent !important;
  border: 0 !important;
  border-radius: 13px !important;
  color: var(--muted) !important;
  cursor: pointer !important;
  font-weight: 950 !important;
  padding: 10px 8px !important;
}
.profile-tabs button.active {
  background: #fff !important;
  box-shadow: 0 7px 18px rgba(24,65,39,.09) !important;
  color: var(--text) !important;
}
.profile-tab-panel {
  display: none !important;
}
.profile-tab-panel.active {
  display: grid !important;
  gap: 16px !important;
}
.profile-payment-overview {
  background: linear-gradient(135deg, rgba(255,255,255,.92), rgba(240,255,244,.86)) !important;
}
.profile-payment-grid {
  display: grid !important;
  gap: 12px !important;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr) !important;
  margin: 12px 0 !important;
}
.payment-code-hero,
.payment-vipps-mini {
  border: 1px solid rgba(24,65,39,.11) !important;
  border-radius: 18px !important;
  display: grid !important;
  gap: 5px !important;
  padding: 15px !important;
}
.payment-code-hero {
  background: linear-gradient(135deg, rgba(255,240,1,.26), rgba(0,168,80,.08)) !important;
}
.payment-vipps-mini {
  background: rgba(255,255,255,.66) !important;
}
.payment-code-hero span,
.payment-vipps-mini span {
  color: var(--muted) !important;
  font-size: .78rem !important;
  font-weight: 900 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
}
.payment-code-hero strong {
  color: var(--text) !important;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace !important;
  font-size: clamp(2rem, 6vw, 2.65rem) !important;
  font-weight: 950 !important;
  letter-spacing: .045em !important;
}
.payment-vipps-mini strong {
  color: var(--text) !important;
  font-size: clamp(1.7rem, 5vw, 2.15rem) !important;
  font-weight: 950 !important;
}
.payment-code-hero small,
.payment-vipps-mini small {
  color: var(--muted) !important;
  font-weight: 780 !important;
  line-height: 1.45 !important;
}
.compact-supporter-payment {
  margin-bottom: 0 !important;
}
.participant-profile-card,
.profile-payment-overview,
#mine-grupper {
  margin-top: 0 !important;
}
#mine-grupper .participation-pricing {
  display: none !important;
}
@media (max-width: 760px) {
  .profile-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .profile-payment-grid { grid-template-columns: 1fr !important; }
}
@media (max-width: 520px) {
  .auth-card { width: min(430px, 100%) !important; }
  .profile-tabs { grid-template-columns: 1fr !important; }
  .profile-tabs button { text-align: left !important; }
}
html[data-u14-effective-theme="dark"] .profile-tabs,
html[data-u14-theme="dark"] .profile-tabs,
html[data-u14-effective-theme="dark"] .payment-vipps-mini,
html[data-u14-theme="dark"] .payment-vipps-mini,
html[data-u14-effective-theme="dark"] .payment-code-hero,
html[data-u14-theme="dark"] .payment-code-hero {
  background: rgba(246,255,247,.045) !important;
  border-color: rgba(246,255,247,.11) !important;
}
html[data-u14-effective-theme="dark"] .profile-tabs button.active,
html[data-u14-theme="dark"] .profile-tabs button.active {
  background: rgba(246,255,247,.09) !important;
  color: #F6FFF7 !important;
}
/* U14-PROFILE-REGISTRATION-LAYOUT-23R4-END */


/* U14 23u: clearer how-to-tip help cards and tooltips. */
.tip-help-popover .tip-help-popover-body ul {
  margin: 9px 0 0 !important;
  padding-left: 18px !important;
  color: var(--u14-muted) !important;
}
.tip-help-popover .tip-help-popover-body li {
  margin: 5px 0 !important;
}
.tip-help-popover .tip-help-popover-body li strong {
  display: inline !important;
  margin: 0 !important;
}
.how-to-tip-card {
  border: 1px solid var(--u14-line-strong);
  border-radius: 18px;
  background: color-mix(in srgb, var(--u14-surface) 92%, var(--u14-brand-yellow) 8%);
  box-shadow: var(--u14-shadow-sm);
  margin: 10px 0 14px;
  padding: 12px 14px;
}
.how-to-tip-card > strong {
  color: var(--u14-heading);
  display: block;
  margin-bottom: 6px;
}
.how-to-tip-card ul {
  margin: 0;
  padding-left: 18px;
  color: var(--u14-muted);
}
.how-to-tip-card li {
  margin: 4px 0;
}
.how-to-tip-card li strong {
  color: var(--u14-heading);
}

/* U14 23u1: demp rules/help so voting cards keep focus. */
.input-label-with-help {
  align-items: center !important;
  display: flex !important;
  gap: 6px !important;
  justify-content: flex-start !important;
}
.field-help-popover {
  display: inline-block !important;
  position: relative !important;
  z-index: 8 !important;
}
.field-help-popover > summary {
  align-items: center !important;
  background: color-mix(in srgb, var(--u14-brand-yellow) 30%, var(--u14-surface) 70%) !important;
  border: 1px solid color-mix(in srgb, var(--u14-brand-yellow) 55%, var(--u14-line-strong) 45%) !important;
  border-radius: 999px !important;
  color: var(--u14-heading) !important;
  cursor: pointer !important;
  display: inline-flex !important;
  font-size: 11px !important;
  font-weight: 950 !important;
  height: 19px !important;
  justify-content: center !important;
  line-height: 1 !important;
  list-style: none !important;
  width: 19px !important;
}
.field-help-popover > summary::-webkit-details-marker { display: none !important; }
.field-help-popover > div {
  background: var(--u14-surface) !important;
  border: 1px solid var(--u14-line-strong) !important;
  border-radius: 12px !important;
  box-shadow: var(--u14-shadow-sm) !important;
  color: var(--u14-muted) !important;
  font-size: 12px !important;
  font-weight: 750 !important;
  left: 0 !important;
  line-height: 1.35 !important;
  max-width: min(72vw, 280px) !important;
  padding: 8px 9px !important;
  position: absolute !important;
  top: calc(100% + 6px) !important;
  width: max-content !important;
  z-index: 20 !important;
}
.input-match-card .input-subhint { display: none !important; }
.how-to-tip-card-compact {
  background: color-mix(in srgb, var(--u14-surface) 96%, var(--u14-brand-yellow) 4%) !important;
  border: 1px solid color-mix(in srgb, var(--u14-line-strong) 80%, transparent 20%) !important;
  border-radius: 14px !important;
  box-shadow: none !important;
  margin: 8px 0 10px !important;
  padding: 0 !important;
}
.how-to-tip-card-compact > summary {
  color: var(--u14-heading) !important;
  cursor: pointer !important;
  font-weight: 900 !important;
  list-style: none !important;
  padding: 9px 11px !important;
}
.how-to-tip-card-compact > summary::-webkit-details-marker { display: none !important; }
.how-to-tip-card-compact > summary::after {
  content: ' ?' !important;
  opacity: .72 !important;
}
.how-to-tip-card-compact > div {
  border-top: 1px solid color-mix(in srgb, var(--u14-line-strong) 70%, transparent 30%) !important;
  padding: 0 12px 10px !important;
}
.how-to-tip-card-compact ul { margin-top: 9px !important; }

/* U14 23u2: calm single info control and discreet deadline countdown. */
.input-label-with-help .field-help-popover,
.field-help-popover {
  display: none !important;
}
.input-card-tools {
  align-items: center !important;
  display: flex !important;
  gap: 7px !important;
  justify-content: flex-end !important;
  min-width: max-content !important;
  position: relative !important;
  z-index: 12 !important;
}
.tip-deadline-countdown {
  align-items: center !important;
  background: color-mix(in srgb, var(--u14-surface) 88%, var(--u14-brand-green) 12%) !important;
  border: 1px solid color-mix(in srgb, var(--u14-brand-green) 28%, var(--u14-line-strong) 72%) !important;
  border-radius: 999px !important;
  color: var(--u14-muted) !important;
  display: inline-flex !important;
  font-size: 11px !important;
  font-weight: 850 !important;
  line-height: 1 !important;
  min-height: 24px !important;
  padding: 5px 8px !important;
  white-space: nowrap !important;
}
.card-tip-help {
  margin: 0 !important;
  position: relative !important;
}
.card-tip-help > summary,
.tip-help-popover-global > summary {
  background: color-mix(in srgb, var(--u14-surface) 88%, var(--u14-brand-yellow) 12%) !important;
  border: 1px solid color-mix(in srgb, var(--u14-brand-yellow) 34%, var(--u14-line-strong) 66%) !important;
  color: var(--u14-heading) !important;
  font-family: ui-serif, Georgia, serif !important;
  font-size: 13px !important;
  font-style: italic !important;
  font-weight: 900 !important;
  height: 24px !important;
  opacity: .88 !important;
  width: 24px !important;
}
.card-tip-help > summary:hover,
.tip-help-popover-global > summary:hover {
  opacity: 1 !important;
  transform: translateY(-1px) !important;
}
.card-tip-help .tip-help-popover-body,
.tip-help-popover-global .tip-help-popover-body {
  background: color-mix(in srgb, var(--u14-surface) 96%, white 4%) !important;
  border: 1px solid color-mix(in srgb, var(--u14-line-strong) 76%, transparent 24%) !important;
  border-radius: 16px !important;
  box-shadow: 0 18px 42px rgba(0,0,0,.16) !important;
  font-size: 12.5px !important;
  line-height: 1.45 !important;
  padding: 13px 14px !important;
  width: min(84vw, 350px) !important;
}
.card-tip-help .tip-help-popover-body strong,
.tip-help-popover-global .tip-help-popover-body strong {
  font-size: 13px !important;
  letter-spacing: .01em !important;
  margin-bottom: 7px !important;
}
.card-tip-help .tip-help-popover-body ul,
.tip-help-popover-global .tip-help-popover-body ul {
  margin: 0 !important;
  padding-left: 17px !important;
}
.card-tip-help .tip-help-popover-body li,
.tip-help-popover-global .tip-help-popover-body li {
  margin: 6px 0 !important;
}
.card-tip-help .tip-help-popover-body li strong,
.tip-help-popover-global .tip-help-popover-body li strong {
  display: inline !important;
  font-size: inherit !important;
  margin: 0 !important;
}
.input-match-card .match-card-head {
  gap: 10px !important;
}
@media (max-width: 520px) {
  .input-match-card .match-card-head {
    align-items: flex-start !important;
    grid-template-columns: minmax(0,1fr) auto !important;
  }
  .input-card-tools {
    flex-direction: column-reverse !important;
    gap: 5px !important;
  }
  .tip-deadline-countdown {
    font-size: 10.5px !important;
    padding: 5px 7px !important;
  }
}
html[data-u14-effective-theme="dark"] .tip-deadline-countdown,
html[data-u14-theme="dark"] .tip-deadline-countdown {
  background: rgba(0,168,80,.13) !important;
  border-color: rgba(120,230,160,.22) !important;
  color: rgba(246,255,247,.78) !important;
}
html[data-u14-effective-theme="dark"] .card-tip-help > summary,
html[data-u14-theme="dark"] .card-tip-help > summary,
html[data-u14-effective-theme="dark"] .tip-help-popover-global > summary,
html[data-u14-theme="dark"] .tip-help-popover-global > summary {
  background: rgba(255,240,1,.11) !important;
  border-color: rgba(255,240,1,.26) !important;
  color: #FFF7A8 !important;
}
/* U14 23u2 end */

/* U14-23V dashboard status cards: participant-value polish */
.dashboard-status-row {
  align-items: stretch;
}
.dashboard-stat {
  appearance: none;
  -webkit-appearance: none;
  display: grid !important;
  grid-template-rows: auto auto 1fr;
  justify-items: start;
  align-content: center;
  gap: 3px;
  min-height: 92px !important;
  width: 100%;
  padding: 14px 15px !important;
  text-align: left;
  cursor: pointer;
  border-radius: var(--u14-radius-lg, 18px) !important;
  background: color-mix(in srgb, var(--u14-surface-2, #f6faf3) 94%, transparent) !important;
}
.dashboard-stat:hover,
.dashboard-stat:focus-visible {
  transform: translateY(-1px);
  box-shadow: var(--u14-shadow-soft, 0 10px 24px rgba(20,32,24,.10)) !important;
}
.dashboard-stat strong {
  line-height: 1;
  font-size: clamp(1.55rem, 1.25rem + 1.1vw, 2.25rem) !important;
  letter-spacing: -.05em;
}
.dashboard-stat small {
  color: var(--u14-muted, var(--muted));
  font-weight: 900;
  letter-spacing: -.01em;
}
.dashboard-stat-sub {
  display: block;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--u14-muted, var(--muted));
  font-size: .78rem;
  line-height: 1.2;
}
.dashboard-stat.rank.leader {
  justify-items: center;
  text-align: center;
  background: linear-gradient(135deg, color-mix(in srgb, var(--yellow, #fff001) 36%, white), color-mix(in srgb, var(--u14-surface-2, #f6faf3) 92%, white)) !important;
  border-color: color-mix(in srgb, var(--yellow, #fff001) 60%, var(--u14-line, #dfe8df)) !important;
}
.dashboard-stat.rank.leader strong {
  font-size: clamp(2.05rem, 1.65rem + 1.4vw, 3rem) !important;
  letter-spacing: 0;
}
.dashboard-stat.rank.leader small {
  color: var(--u14-heading, var(--ink));
  font-size: .98rem;
}
.dashboard-stat.missing.warn strong,
.dashboard-stat.deadline strong {
  color: var(--u14-brand-green-700, var(--dark-green)) !important;
}
.dashboard-stat.missing.ok strong,
.dashboard-stat.deadline.done strong {
  color: var(--u14-muted, var(--muted)) !important;
}
.dashboard-stat.match.live {
  border-color: color-mix(in srgb, #f59e0b 50%, var(--u14-line, #dfe8df)) !important;
  background: color-mix(in srgb, #fff7ed 72%, var(--u14-surface-2, #f6faf3)) !important;
}
.dashboard-admin-sync {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  margin-top: 2px;
  padding: 2px 7px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--u14-surface-3, #fff) 86%, transparent);
  border: 1px solid var(--u14-line, #dfe8df);
  color: var(--u14-muted, var(--muted));
  font-size: .68rem;
  font-weight: 800;
  white-space: nowrap;
}
html[data-u14-effective-theme="dark"] .dashboard-stat.rank.leader {
  background: linear-gradient(135deg, rgba(255,240,1,.18), rgba(255,255,255,.045)) !important;
  border-color: rgba(255,240,1,.28) !important;
}
@media (max-width: 800px) {
  .dashboard-status-row {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  }
  .dashboard-stat {
    min-height: 84px !important;
  }
}
@media (max-width: 420px) {
  .dashboard-status-row {
    gap: 8px !important;
  }
  .dashboard-stat {
    padding: 12px !important;
  }
  .dashboard-stat strong {
    font-size: 1.55rem !important;
  }
  .dashboard-stat.rank.leader strong {
    font-size: 2rem !important;
  }
}

/* U14-23V1 premium dashboard status cards and notification polish */
.notification-panel {
  border: 1px solid color-mix(in srgb, var(--u14-line, #dfe8df) 84%, transparent) !important;
  background: linear-gradient(135deg, color-mix(in srgb, var(--u14-surface-2, #f6faf3) 96%, white), color-mix(in srgb, var(--u14-surface, #fff) 98%, white)) !important;
  border-radius: 24px !important;
  box-shadow: 0 18px 45px rgba(23, 52, 33, .08) !important;
  padding: clamp(18px, 2.6vw, 26px) !important;
  margin: 18px 0 24px !important;
}
.notification-panel h2 {
  margin: 0 0 10px !important;
  color: var(--u14-heading, #102216) !important;
  font-size: clamp(1.05rem, .98rem + .35vw, 1.35rem) !important;
  letter-spacing: -.025em !important;
}
.notification-item {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) auto !important;
  align-items: center !important;
  gap: clamp(14px, 2.4vw, 28px) !important;
  padding: clamp(14px, 2vw, 18px) 0 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.notification-item p {
  max-width: 74ch;
  margin: .35rem 0 0 !important;
  color: var(--u14-muted, #516454) !important;
  font-size: clamp(.95rem, .9rem + .2vw, 1.05rem) !important;
  line-height: 1.55 !important;
}
.notification-item .inline-form {
  display: grid !important;
  gap: 10px !important;
  min-width: min(190px, 34vw) !important;
}
.notification-item .inline-form .primary,
.notification-item .inline-form .button {
  width: 100% !important;
  justify-content: center !important;
  border-radius: 15px !important;
  padding: 12px 16px !important;
}
.notification-item .inline-form .button::after {
  content: ' →';
  font-weight: 900;
}
.dashboard-status-row {
  align-items: stretch !important;
  gap: clamp(12px, 1.5vw, 18px) !important;
  margin: 20px 0 22px !important;
}
.dashboard-stat {
  position: relative !important;
  isolation: isolate !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  min-height: clamp(150px, 11.6vw, 178px) !important;
  padding: clamp(18px, 2.1vw, 25px) !important;
  overflow: hidden !important;
  border-radius: 22px !important;
  border: 1px solid color-mix(in srgb, var(--u14-line, #dce9dd) 88%, transparent) !important;
  background: linear-gradient(145deg, rgba(255,255,255,.96), color-mix(in srgb, var(--u14-surface-2, #f6faf3) 84%, white)) !important;
  box-shadow: 0 16px 36px rgba(16, 42, 24, .065) !important;
  color: var(--u14-text, #17301f) !important;
}
.dashboard-stat::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  background: radial-gradient(circle at 18% 8%, rgba(0, 112, 52, .08), transparent 36%), linear-gradient(180deg, rgba(255,255,255,.44), transparent 42%);
  opacity: .8;
}
.dashboard-stat:hover,
.dashboard-stat:focus-visible {
  transform: translateY(-2px) !important;
  box-shadow: 0 22px 44px rgba(16, 42, 24, .11) !important;
}
.dashboard-stat-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 42px;
  margin-bottom: auto;
}
.dashboard-stat-icon {
  display: inline-grid;
  place-items: center;
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--u14-brand-green, #00a850) 9%, white) !important;
  border: 1px solid color-mix(in srgb, var(--u14-brand-green, #00a850) 16%, var(--u14-line, #dfe8df)) !important;
  color: var(--u14-brand-green-800, #006b34) !important;
  font-size: 1.32rem;
  font-weight: 900;
  line-height: 1;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.7);
}
.dashboard-stat-tag {
  display: inline-flex;
  align-items: center;
  max-width: 60%;
  padding: 6px 11px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--u14-surface-3, #fff) 82%, var(--u14-brand-green, #00a850) 7%) !important;
  color: var(--u14-brand-green-800, #006b34) !important;
  font-size: .76rem;
  font-weight: 850;
  white-space: nowrap;
}
.dashboard-stat-label {
  display: block;
  margin-top: 6px;
  color: color-mix(in srgb, var(--u14-heading, #102216) 78%, var(--u14-muted, #64756a)) !important;
  font-size: clamp(.9rem, .86rem + .18vw, 1rem);
  font-weight: 750;
  line-height: 1.15;
}
.dashboard-stat strong {
  display: block !important;
  color: var(--u14-brand-green-800, #00703a) !important;
  font-size: clamp(2rem, 1.5rem + 2.1vw, 3.15rem) !important;
  font-weight: 920 !important;
  letter-spacing: -.075em !important;
  line-height: .98 !important;
  margin: -1px 0 1px !important;
}
.dashboard-stat-sub,
.dashboard-stat-note {
  display: block;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--u14-muted, #64756a) !important;
  font-size: clamp(.78rem, .74rem + .18vw, .88rem) !important;
  font-weight: 650;
  line-height: 1.25;
}
.dashboard-stat-note {
  padding-top: 7px;
  margin-top: 2px;
  border-top: 1px solid color-mix(in srgb, var(--u14-line, #dfe8df) 78%, transparent);
  color: color-mix(in srgb, var(--u14-muted, #64756a) 90%, var(--u14-heading, #102216)) !important;
}
.dashboard-leader-value {
  display: grid;
  gap: 3px;
  justify-items: center;
  align-self: center;
  margin: 2px 0 0;
  color: var(--u14-heading, #102216);
  font-weight: 920;
  line-height: 1;
}
.dashboard-leader-cup {
  display: block;
  font-size: clamp(2.05rem, 1.55rem + 1.8vw, 3rem);
  filter: drop-shadow(0 8px 10px rgba(71, 88, 0, .10));
}
.dashboard-leader-value span:last-child {
  font-size: clamp(1.35rem, 1.08rem + .9vw, 2rem);
  letter-spacing: -.035em;
}
.dashboard-stat.rank.leader {
  text-align: center !important;
  background: linear-gradient(145deg, color-mix(in srgb, var(--yellow, #fff001) 18%, white), color-mix(in srgb, var(--u14-surface-2, #f6faf3) 92%, white)) !important;
  border-color: color-mix(in srgb, var(--yellow, #fff001) 42%, var(--u14-line, #dfe8df)) !important;
}
.dashboard-stat.rank.leader .dashboard-stat-top {
  margin-bottom: 0;
}
.dashboard-stat.rank.leader .dashboard-stat-label {
  display: none;
}
.dashboard-stat.rank.leader .dashboard-stat-sub {
  text-align: center;
}
.dashboard-stat.missing.ok strong,
.dashboard-stat.deadline.done strong {
  color: color-mix(in srgb, var(--u14-muted, #64756a) 76%, var(--u14-brand-green, #00a850)) !important;
}
.dashboard-stat.match strong {
  font-size: clamp(1.02rem, .88rem + .5vw, 1.35rem) !important;
  letter-spacing: -.035em !important;
  line-height: 1.18 !important;
  color: var(--u14-heading, #102216) !important;
}
.dashboard-stat.match.live {
  border-color: color-mix(in srgb, #f59e0b 38%, var(--u14-line, #dfe8df)) !important;
  background: linear-gradient(145deg, color-mix(in srgb, #fff7ed 62%, white), color-mix(in srgb, var(--u14-surface-2, #f6faf3) 88%, white)) !important;
}
.dashboard-admin-sync {
  display: inline-flex !important;
  align-items: center !important;
  align-self: flex-start !important;
  gap: 6px !important;
  max-width: 100% !important;
  margin-top: 6px !important;
  padding: 5px 10px !important;
  border-radius: 999px !important;
  background: color-mix(in srgb, white 72%, var(--u14-surface-2, #f6faf3)) !important;
  border: 1px solid color-mix(in srgb, var(--u14-line, #dfe8df) 84%, transparent) !important;
  color: var(--u14-muted, #64756a) !important;
  font-size: .72rem !important;
  font-weight: 750 !important;
  white-space: nowrap !important;
}
.dashboard-admin-sync span {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--u14-brand-green, #00a850);
}
@media (max-width: 900px) {
  .dashboard-status-row {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  }
}
@media (max-width: 720px) {
  .notification-item {
    grid-template-columns: 1fr !important;
  }
  .notification-item .inline-form {
    min-width: 0 !important;
    width: 100% !important;
  }
}
@media (max-width: 520px) {
  .dashboard-status-row {
    grid-template-columns: 1fr !important;
  }
  .dashboard-stat {
    min-height: 128px !important;
  }
  .dashboard-stat strong {
    font-size: 2.35rem !important;
  }
}
html[data-u14-effective-theme="dark"] .notification-panel,
html[data-u14-theme="dark"] .notification-panel,
html[data-u14-effective-theme="dark"] .dashboard-stat,
html[data-u14-theme="dark"] .dashboard-stat {
  background: linear-gradient(145deg, rgba(255,255,255,.055), rgba(255,255,255,.025)) !important;
  border-color: rgba(230,255,235,.12) !important;
  box-shadow: 0 18px 45px rgba(0,0,0,.22) !important;
}
html[data-u14-effective-theme="dark"] .dashboard-stat-icon,
html[data-u14-theme="dark"] .dashboard-stat-icon,
html[data-u14-effective-theme="dark"] .dashboard-stat-tag,
html[data-u14-theme="dark"] .dashboard-stat-tag {
  background: rgba(0,168,80,.12) !important;
  border-color: rgba(130,230,160,.18) !important;
  color: rgba(235,255,238,.88) !important;
}
html[data-u14-effective-theme="dark"] .dashboard-stat.rank.leader,
html[data-u14-theme="dark"] .dashboard-stat.rank.leader {
  background: linear-gradient(145deg, rgba(255,240,1,.14), rgba(255,255,255,.035)) !important;
  border-color: rgba(255,240,1,.26) !important;
}
/* U14 23v1 end */

/* U14-23V2 compact dashboard status row and priority strip */
.notification-panel {
  padding: clamp(12px, 1.8vw, 18px) !important;
  margin: 12px 0 14px !important;
  border-radius: 18px !important;
  box-shadow: 0 8px 22px rgba(23, 52, 33, .055) !important;
}
.notification-panel h2 {
  margin: 0 0 5px !important;
  font-size: clamp(.98rem, .94rem + .18vw, 1.12rem) !important;
}
.notification-item {
  gap: 10px !important;
  padding: 8px 0 0 !important;
}
.notification-item p {
  margin: .2rem 0 0 !important;
  font-size: .9rem !important;
  line-height: 1.42 !important;
}
.notification-item .inline-form {
  gap: 7px !important;
  min-width: min(158px, 32vw) !important;
}
.notification-item .inline-form .primary,
.notification-item .inline-form .button {
  padding: 8px 12px !important;
  border-radius: 12px !important;
}
.dashboard-status-row {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0,1fr)) !important;
  align-items: stretch !important;
  gap: 8px !important;
  margin: 10px 0 8px !important;
}
.dashboard-stat {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: flex-start !important;
  gap: 2px !important;
  min-height: 68px !important;
  padding: 9px 10px !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  text-align: left !important;
  background: color-mix(in srgb, var(--u14-surface-3, #fff) 94%, var(--u14-surface-2, #f6faf3)) !important;
  border: 1px solid color-mix(in srgb, var(--u14-line, #dfe8df) 86%, transparent) !important;
  box-shadow: 0 5px 14px rgba(16,42,24,.045) !important;
}
.dashboard-stat::before,
.dashboard-stat-top,
.dashboard-stat-tag,
.dashboard-stat-icon {
  display: none !important;
}
.dashboard-stat:hover,
.dashboard-stat:focus-visible {
  transform: translateY(-1px) !important;
  box-shadow: 0 8px 18px rgba(16,42,24,.075) !important;
}
.dashboard-stat-label {
  order: 2 !important;
  display: block !important;
  margin: 0 !important;
  color: color-mix(in srgb, var(--u14-heading, #102216) 70%, var(--u14-muted, #64756a)) !important;
  font-size: .74rem !important;
  font-weight: 780 !important;
  line-height: 1.15 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  max-width: 100% !important;
}
.dashboard-stat > strong,
.dashboard-leader-value {
  order: 1 !important;
}
.dashboard-stat strong {
  display: block !important;
  margin: 0 !important;
  color: var(--u14-brand-green-800, #00703a) !important;
  font-size: clamp(1.08rem, .96rem + .6vw, 1.55rem) !important;
  font-weight: 920 !important;
  letter-spacing: -.04em !important;
  line-height: 1.05 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  max-width: 100% !important;
}
.dashboard-stat-sub,
.dashboard-stat-note,
.dashboard-admin-sync {
  order: 3 !important;
  display: block !important;
  margin: 1px 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--u14-muted, #64756a) !important;
  font-size: .66rem !important;
  font-weight: 650 !important;
  line-height: 1.15 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  max-width: 100% !important;
}
.dashboard-admin-sync span { display: none !important; }
.dashboard-leader-value {
  display: grid !important;
  grid-template-columns: auto 1fr !important;
  align-items: center !important;
  gap: 5px !important;
  justify-items: start !important;
  margin: 0 !important;
  color: var(--u14-heading, #102216) !important;
  line-height: 1 !important;
}
.dashboard-leader-cup {
  display: inline-block !important;
  font-size: 1.18rem !important;
  filter: none !important;
}
.dashboard-leader-value span:last-child {
  font-size: clamp(1rem, .94rem + .35vw, 1.25rem) !important;
  font-weight: 900 !important;
  letter-spacing: -.025em !important;
}
.dashboard-stat.rank.leader {
  justify-content: center !important;
  align-items: flex-start !important;
  text-align: left !important;
  background: color-mix(in srgb, var(--yellow, #fff001) 13%, var(--u14-surface-3, #fff)) !important;
  border-color: color-mix(in srgb, var(--yellow, #fff001) 38%, var(--u14-line, #dfe8df)) !important;
}
.dashboard-stat.rank.leader .dashboard-stat-label {
  display: block !important;
}
.dashboard-stat.match.live {
  background: color-mix(in srgb, #fff7ed 50%, var(--u14-surface-3, #fff)) !important;
  border-color: color-mix(in srgb, #f59e0b 32%, var(--u14-line, #dfe8df)) !important;
}
.tips-priority-strip {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 8px 0 12px;
  padding: 9px 12px;
  border-radius: 14px;
  border: 1px solid color-mix(in srgb, var(--u14-line, #dfe8df) 84%, transparent);
  background: color-mix(in srgb, var(--u14-surface-2, #f6faf3) 88%, white);
  box-shadow: 0 4px 12px rgba(16,42,24,.035);
  color: color-mix(in srgb, var(--u14-heading, #102216) 78%, var(--u14-muted, #64756a));
  font-size: .88rem;
  font-weight: 760;
  line-height: 1.25;
}
.tips-priority-strip::before {
  content: '•';
  color: var(--u14-brand-green, #00a850);
  font-size: 1.1rem;
  line-height: 1;
}
@media (max-width: 760px) {
  .dashboard-status-row {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  }
  .dashboard-stat {
    min-height: 60px !important;
    padding: 8px 9px !important;
  }
}
@media (max-width: 430px) {
  .dashboard-status-row {
    gap: 7px !important;
  }
  .dashboard-stat {
    min-height: 56px !important;
  }
  .dashboard-stat strong {
    font-size: 1.05rem !important;
  }
  .dashboard-stat-label {
    font-size: .69rem !important;
  }
  .dashboard-stat-sub,
  .dashboard-admin-sync {
    font-size: .61rem !important;
  }
  .tips-priority-strip {
    font-size: .8rem !important;
    padding: 8px 10px !important;
  }
}
html[data-u14-effective-theme="dark"] .tips-priority-strip,
html[data-u14-theme="dark"] .tips-priority-strip {
  background: rgba(255,255,255,.055) !important;
  border-color: rgba(230,255,235,.12) !important;
  color: rgba(246,255,247,.84) !important;
}
/* U14 23v2 end */
