.ko-header {
  margin-bottom: 26px;
}

.ko-header.compact {
  margin-bottom: 18px;
}

.ko-progress {
  display: grid;
  grid-template-columns: minmax(220px, 340px) 1fr;
  gap: 18px;
  align-items: center;
  margin-top: 18px;
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 18px;
}

.ko-progress.slim {
  grid-template-columns: minmax(220px, 320px) minmax(220px, 1fr);
  padding: 14px 16px;
}

.ko-progress h2 {
  margin: 4px 0 0;
}

.progress-bar {
  height: 12px;
  background: #e8edf5;
  border-radius: 999px;
  overflow: hidden;
}

.progress-fill {
  height: 100%;
  background: var(--accent);
}

.ko-progress.complete {
  border-color: rgba(53, 168, 105, .30);
  background: #f0fdf4;
}

.ko-progress.complete .progress-fill {
  background: #35a869;
}

.round-complete-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  border: 1px solid rgba(53, 168, 105, .28);
  border-radius: 18px;
  background: linear-gradient(180deg, #f0fdf4, #fff);
  box-shadow: 0 16px 40px rgba(31, 41, 55, .07);
  margin: 0 0 16px;
  padding: 18px;
}

.round-complete-card span,
.round-complete-card strong,
.round-complete-card p {
  display: block;
}

.round-complete-card span {
  color: #166534;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: .10em;
  text-transform: uppercase;
}

.round-complete-card strong {
  color: var(--text);
  font-size: 22px;
  line-height: 1.1;
  margin-top: 5px;
}

.round-complete-card p {
  color: var(--muted);
  font-weight: 750;
  margin: 7px 0 0;
}

.ko-notice {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #fff;
  padding: 14px 16px;
  margin: 0 0 16px;
  box-shadow: 0 16px 40px rgba(31, 41, 55, .07);
}

.ko-notice strong,
.ko-notice span {
  display: block;
}

.ko-notice strong {
  color: var(--text);
  font-size: 16px;
}

.ko-notice span,
.ko-notice em {
  color: var(--muted);
  font-style: normal;
  font-weight: 750;
}

.ko-notice em {
  white-space: nowrap;
}

.ko-notice.success {
  border-color: rgba(53, 168, 105, .28);
  background: #f0fdf4;
}

.ko-notice.warning {
  border-color: #fed7aa;
  background: #fff7ed;
}

.ko-notice.neutral {
  background: #f8fafc;
}

.recent-picks-card {
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #fff;
  padding: 18px;
  margin: 0 0 18px;
  box-shadow: 0 16px 40px rgba(31, 41, 55, .07);
}

.recent-picks-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 14px;
}

.recent-picks-head span,
.recent-pick-row span {
  color: var(--muted);
  display: block;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.recent-picks-head strong {
  color: var(--text);
  display: block;
  font-size: 22px;
  line-height: 1.1;
  margin-top: 4px;
}

.recent-picks-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.receipt-copy-source {
  border: 0;
  height: 1px;
  left: -9999px;
  opacity: 0;
  position: absolute;
  resize: none;
  width: 1px;
}

.recent-picks-list {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}

.recent-pick-row {
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #f8fafc;
  padding: 12px;
  min-width: 0;
}

.recent-pick-row strong,
.recent-pick-row em,
.recent-pick-row small {
  display: block;
}

.recent-pick-row strong {
  color: var(--accent);
  font-size: 16px;
  font-weight: 950;
  margin-top: 7px;
  overflow-wrap: anywhere;
}

.recent-pick-row em {
  color: var(--text);
  font-style: normal;
  font-weight: 950;
  margin-top: 5px;
}

.recent-pick-row small {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.3;
  margin-top: 4px;
}

.player-dashboard {
  display: grid;
  grid-template-columns: repeat(4, minmax(110px, 1fr)) minmax(260px, 1.4fr);
  gap: 10px;
  margin: 14px 0;
}

.dashboard-card,
.dashboard-next {
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
  padding: 13px 14px;
}

.dashboard-card span,
.dashboard-next span {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.dashboard-card strong,
.dashboard-next strong {
  display: block;
  margin-top: 5px;
  color: var(--text);
  font-size: 24px;
  line-height: 1.1;
}

.dashboard-card.highlight strong {
  color: var(--accent);
}

.dashboard-next strong {
  color: var(--accent);
  font-size: 16px;
  line-height: 1.25;
}

.stage-strip {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}

.stage-pill {
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 10px 12px;
  background: #fff;
  min-height: 64px;
}

.stage-pill span,
.stage-pill strong {
  display: block;
}

.stage-pill span {
  color: var(--text);
  font-weight: 900;
}

.stage-pill strong {
  color: var(--muted);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .08em;
  margin-top: 4px;
}

.stage-pill.active {
  border-color: var(--accent);
  background: #fff7e8;
}

.stage-pill.past {
  border-color: rgba(53, 196, 111, .45);
}

.tournament-scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  padding: 12px;
  border: 1px solid #d6d6d6;
  border-radius: 4px;
  background: #fff;
  box-shadow: 0 20px 50px rgba(31, 41, 55, .10);
}

.bracket-note {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 10px;
  color: var(--muted);
  font-weight: 900;
}

.bracket-note span {
  color: var(--text);
}

.bracket-note strong {
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #fff7e8;
  padding: 4px 9px;
  color: var(--accent);
  font-size: 12px;
}

.active-round-shell {
  display: grid;
  justify-content: start;
  gap: 10px;
}

.active-round-note {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--muted);
  font-weight: 900;
}

.active-round-note span {
  color: var(--text);
}

.active-round-note strong {
  display: inline-flex;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #fff7e8;
  padding: 4px 9px;
  color: var(--accent);
  font-size: 12px;
}

.tournament-board {
  display: inline-grid;
  grid-template-columns: 260px 205px 210px 175px 210px;
  gap: 12px;
  min-width: 1110px;
  align-items: stretch;
  background: #fff;
  color: #161a22;
  border: 0;
  border-radius: 0;
  padding: 2px 0 0;
  box-shadow: none;
}

.tournament-board.stage-count-1 {
  grid-template-columns: 260px;
  min-width: 260px;
}

.tournament-board.stage-count-2 {
  grid-template-columns: 260px 205px;
  min-width: 477px;
}

.tournament-board.stage-count-3 {
  grid-template-columns: 260px 205px 210px;
  min-width: 699px;
}

.tournament-board.stage-count-4 {
  grid-template-columns: 260px 205px 210px 175px;
  min-width: 886px;
}

.tournament-board.stage-count-5 {
  grid-template-columns: 260px 205px 210px 175px 210px;
  min-width: 1110px;
}

.tournament-board.active-only {
  display: block;
  width: min(620px, calc(100vw - 44px));
  min-width: 0;
  padding: 14px;
}

.tournament-round {
  display: flex;
  flex-direction: column;
}

.tournament-title {
  border: 2px solid #aaa;
  background: linear-gradient(#fbfbfb, #e8e8e8);
  color: #1d5fd1;
  font-size: 18px;
  font-weight: 800;
  text-align: center;
  padding: 4px 8px;
  margin-bottom: 28px;
  line-height: 1.15;
}

.tournament-round.is-active .tournament-title {
  border-color: #1d5fd1;
  background: #eef4ff;
}

.tournament-matches {
  display: flex;
  flex-direction: column;
  position: relative;
}

.tournament-round.r32 .tournament-matches { gap: 5px; }
.tournament-round.r16 .tournament-matches { gap: 59px; padding-top: 38px; }
.tournament-round.qf .tournament-matches { gap: 187px; padding-top: 134px; }
.tournament-round.sf .tournament-matches { gap: 443px; padding-top: 326px; }
.tournament-round.f .tournament-matches { gap: 0; padding-top: 710px; }

.tournament-board.active-only .tournament-matches {
  gap: 10px;
  padding-top: 0;
}

.tournament-match {
  position: relative;
}

.tournament-board.active-only .tournament-match {
  padding: 0 0 3px;
}

.tournament-round:not(.f) .tournament-match::after {
  content: "";
  position: absolute;
  right: -12px;
  top: 50%;
  width: 12px;
  border-top: 2px solid #333;
}

.tournament-board.active-only .tournament-match::before,
.tournament-board.active-only .tournament-match::after {
  display: none;
}

.tournament-round.r16 .tournament-match::before,
.tournament-round.qf .tournament-match::before,
.tournament-round.sf .tournament-match::before,
.tournament-round.f .tournament-match::before {
  content: "";
  position: absolute;
  left: -12px;
  top: 50%;
  width: 12px;
  border-top: 2px solid #333;
}

.tournament-match-label {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  color: #161a22;
  font-size: 16px;
  line-height: 1.2;
  margin: 0 0 2px;
  white-space: nowrap;
}

.tournament-match-label span {
  color: #161a22;
}

.tournament-match-label strong {
  color: #1d5fd1;
  font-weight: 800;
  overflow: hidden;
  text-overflow: ellipsis;
}

.match-deadline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  border: 1px solid #dbe3ef;
  background: #f8fafc;
  color: #475569;
  font-size: 11px;
  font-weight: 850;
  line-height: 1.15;
  margin: 0 0 4px;
  padding: 3px 5px;
}

.match-deadline span,
.match-deadline small {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.match-deadline.upcoming {
  border-color: #f0d8a8;
  background: #fff8ea;
  color: #8a5d12;
}

.match-deadline.expired {
  border-color: #fecdd3;
  background: #fff1f2;
  color: #a31625;
}

.match-deadline.override {
  border-color: #f0c36b;
  background: var(--accent-soft);
  color: #8a5d12;
}

.team-pick-form {
  margin: 0;
}

.bracket-team {
  width: 100%;
  min-height: 31px;
  display: grid;
  grid-template-columns: 28px 1fr;
  align-items: center;
  gap: 6px;
  border: 2px solid #aaa;
  background: #f5f5f5;
  color: #1d5fd1;
  border-radius: 0;
  padding: 2px 5px;
  text-align: left;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.15;
  box-shadow: none;
}

.tournament-board.active-only .bracket-team {
  min-height: 31px;
  font-size: 17px;
  background: #f5f5f5;
}

button.bracket-team {
  cursor: pointer;
}

button.bracket-team:hover,
button.bracket-team:focus {
  border-color: #1d5fd1;
  background: #eaf1ff;
  outline: none;
}

.bracket-team.selected {
  border-color: #1d5fd1;
  background: #dfeaff;
  color: #0b2f75;
}

.bracket-team.winner {
  border-color: #35a869;
  background: #e8f8ee;
  color: #11633b;
}

.bracket-team.readonly {
  color: #1b1f27;
}

.bracket-team.muted {
  color: #333;
  background: #eee;
}

.progress-scroll {
  padding: 14px;
}

.progress-bracket-board .tournament-title {
  margin-bottom: 24px;
}

.progress-match {
  border-radius: 0;
}

.progress-match-label strong {
  color: #475569;
  font-size: 13px;
  max-width: 130px;
}

.progress-match.status-complete .progress-match-label strong {
  color: #166534;
}

.progress-match.status-closed .progress-match-label strong {
  color: #8a5d12;
}

.progress-match.status-open .progress-match-label strong {
  color: #1d5fd1;
}

.progress-bracket-board .progress-team {
  grid-template-columns: 24px minmax(0, 1fr) 48px;
  min-height: 31px;
}

.progress-team.leader {
  background: #eef4ff;
}

.progress-team.winner {
  font-weight: 900;
}

.pick-share {
  justify-self: end;
  min-width: 42px;
  border-left: 2px solid #aaa;
  padding-left: 5px;
  color: #111827;
  font-size: 14px;
  font-weight: 950;
  text-align: right;
}

.progress-team.leader .pick-share {
  color: #1d5fd1;
}

.progress-team.winner .pick-share {
  color: #166534;
}

.hidden-share {
  color: #94a3b8;
}

.official-winner-line,
.trend-hidden-line {
  border: 2px solid #aaa;
  border-top: 0;
  background: #f8fafc;
  color: #475569;
  font-size: 11px;
  font-weight: 900;
  line-height: 1.15;
  padding: 3px 5px;
}

.official-winner-line {
  background: #ecfdf3;
  color: #166534;
}

.tournament-match.empty {
  opacity: .66;
}

.tournament-match.empty .tournament-match-label {
  font-size: 13px;
  margin-bottom: 3px;
}

.tournament-match.empty .bracket-team {
  min-height: 31px;
  padding: 2px 5px;
  border-width: 2px;
  font-size: 16px;
  line-height: 1.1;
  color: #333;
}

.tournament-match.empty .flag {
  font-size: 0;
}

.flag {
  width: 24px;
  text-align: center;
  font-size: 16px;
  line-height: 1;
}

.team-name,
.placeholder {
  min-width: 0;
  overflow-wrap: anywhere;
}

.clear-pick-form {
  margin-top: 4px;
}

.clear-pick {
  width: 100%;
  border: 1px solid #d0d5dd;
  border-radius: 0;
  background: #fff;
  color: #344054;
  padding: 3px 6px;
  font-size: 12px;
  font-weight: 800;
}

.clear-pick:hover {
  border-color: #f5a524;
  color: #111827;
}

.bulk-grid {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 14px;
  align-items: start;
  margin-bottom: 14px;
}

.preset-form {
  margin: 0 0 14px;
}

.stage-control-row {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 14px;
}

.stage-diagnostics {
  margin-top: 14px;
}

.stage-diagnostic {
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
  padding: 14px;
}

.stage-diagnostic.ok {
  border-color: rgba(53, 168, 105, .30);
  background: #f0fdf4;
}

.stage-diagnostic.warn {
  border-color: #f0d8a8;
  background: #fffaf0;
}

.stage-diagnostic.err {
  border-color: #fecdd3;
  background: #fff8f8;
}

.diagnostic-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}

.diagnostic-head span {
  color: var(--text);
  font-weight: 950;
}

.diagnostic-head strong {
  border-radius: 999px;
  background: #f1f5f9;
  color: #475569;
  font-size: 12px;
  font-weight: 950;
  padding: 5px 9px;
  white-space: nowrap;
}

.stage-diagnostic.ok .diagnostic-head strong {
  background: #dcfce7;
  color: #166534;
}

.stage-diagnostic.warn .diagnostic-head strong {
  background: var(--accent-soft);
  color: #8a5d12;
}

.stage-diagnostic.err .diagnostic-head strong {
  background: #ffe4e6;
  color: #9f1239;
}

.diagnostic-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(120px, 1fr));
  gap: 8px;
}

.diagnostic-grid div {
  border: 1px solid rgba(223, 229, 238, .85);
  border-radius: 12px;
  background: rgba(255, 255, 255, .72);
  padding: 10px;
}

.diagnostic-grid span,
.diagnostic-grid strong {
  display: block;
}

.diagnostic-grid span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.diagnostic-grid strong {
  color: var(--text);
  font-size: 20px;
  line-height: 1;
  margin-top: 6px;
}

.diagnostic-list {
  display: grid;
  gap: 6px;
  list-style: none;
  margin: 12px 0 0;
  padding: 0;
}

.diagnostic-list li {
  border-radius: 10px;
  font-weight: 850;
  padding: 8px 10px;
}

.diagnostic-list li.err {
  background: #ffe4e6;
  color: #9f1239;
}

.diagnostic-list li.warn {
  background: var(--accent-soft);
  color: #8a5d12;
}

.diagnostic-ok {
  color: #166534;
  font-weight: 850;
  margin: 12px 0 0;
}

button:disabled {
  cursor: not-allowed;
  opacity: .58;
}

.completion-card {
  overflow: hidden;
}

.completion-kpis {
  display: grid;
  grid-template-columns: repeat(3, minmax(120px, 1fr));
  gap: 10px;
  margin: 14px 0;
}

.completion-kpis div {
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #f8fafc;
  padding: 12px;
}

.completion-kpis span,
.completion-kpis strong {
  display: block;
}

.completion-kpis span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.completion-kpis strong {
  color: var(--accent);
  font-size: 28px;
  line-height: 1;
  margin-top: 6px;
}

.completion-empty {
  margin: 12px 0 0;
}

.reminder-box {
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #fff;
  margin: 14px 0;
  padding: 14px;
}

.reminder-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

.reminder-head strong,
.reminder-head span {
  display: block;
}

.reminder-head strong {
  color: var(--text);
  font-size: 16px;
  line-height: 1.15;
}

.reminder-head span {
  color: var(--muted);
  font-weight: 800;
  margin-top: 4px;
}

.reminder-box textarea {
  min-height: 190px;
  background: #f8fafc;
  line-height: 1.45;
}

.copy-feedback {
  display: block;
  min-height: 20px;
  color: #166534;
  font-weight: 900;
  margin-top: 8px;
}

.copy-feedback.compact {
  margin-top: 0;
  min-height: 0;
}

.copy-source-hidden {
  position: absolute;
  left: -10000px;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.targeted-reminders {
  border-top: 1px solid var(--line);
  margin-top: 16px;
  padding-top: 16px;
}

.targeted-reminder-head,
.targeted-reminder-top,
.targeted-reminder-actions {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.targeted-reminder-head h3 {
  color: var(--text);
  font-size: 22px;
  line-height: 1.1;
  margin: 0;
}

.targeted-reminder-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 12px;
}

.targeted-reminder-card {
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #fff;
  padding: 14px;
}

.targeted-reminder-card.urgent,
.targeted-reminder-card.today,
.targeted-reminder-card.expired {
  border-color: #f0d8a8;
  background: #fffaf0;
}

.targeted-reminder-card strong,
.targeted-reminder-card span,
.targeted-reminder-card small {
  display: block;
}

.targeted-reminder-top strong {
  color: var(--text);
  font-size: 18px;
  line-height: 1.15;
}

.targeted-reminder-top span,
.targeted-reminder-card small {
  color: var(--muted);
  font-weight: 800;
  margin-top: 4px;
}

.urgency-chip {
  border-radius: 999px;
  background: #f1f5f9;
  color: #475569;
  font-size: 12px;
  font-style: normal;
  font-weight: 950;
  padding: 5px 9px;
  white-space: nowrap;
}

.urgency-chip.urgent,
.urgency-chip.today,
.urgency-chip.warning {
  background: var(--accent-soft);
  color: #8a5d12;
}

.urgency-chip.expired {
  background: #ffe4e6;
  color: #9f1239;
}

.urgency-chip.complete {
  background: #dcfce7;
  color: #166534;
}

.targeted-reminder-card ul {
  display: grid;
  gap: 8px;
  list-style: none;
  margin: 12px 0;
  padding: 0;
}

.targeted-reminder-card li {
  border-radius: 12px;
  background: #f8fafc;
  padding: 9px 10px;
}

.targeted-reminder-card li > span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.targeted-reminder-card li > strong {
  color: var(--text);
  font-size: 14px;
  margin-top: 3px;
}

.targeted-copy-button {
  border: 1px solid var(--accent);
  border-radius: 999px;
  background: var(--accent);
  color: #fff;
  cursor: pointer;
  font-size: 13px;
  font-weight: 950;
  padding: 8px 12px;
  white-space: nowrap;
}

.targeted-extra {
  margin: 12px 0 0;
}

.completion-list {
  display: grid;
  gap: 9px;
  margin-top: 12px;
}

.completion-row {
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
  padding: 12px;
}

.completion-row.missing {
  border-color: #fecdd3;
  background: #fff8f8;
}

.completion-row.partial {
  border-color: #f0d8a8;
  background: #fffaf0;
}

.completion-row.complete {
  border-color: rgba(53, 168, 105, .30);
  background: #f0fdf4;
}

.completion-main {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.completion-main strong,
.completion-main span,
.completion-row small {
  display: block;
}

.completion-main strong {
  color: var(--text);
  font-size: 16px;
  line-height: 1.15;
}

.completion-main span,
.completion-row small {
  color: var(--muted);
  font-weight: 800;
  margin-top: 4px;
}

.completion-main em {
  border-radius: 999px;
  background: #f1f5f9;
  color: #475569;
  font-style: normal;
  font-size: 12px;
  font-weight: 950;
  padding: 5px 9px;
  white-space: nowrap;
}

.completion-row.missing .completion-main em {
  background: #ffe4e6;
  color: #9f1239;
}

.completion-row.partial .completion-main em {
  background: var(--accent-soft);
  color: #8a5d12;
}

.completion-row.complete .completion-main em {
  background: #dcfce7;
  color: #166534;
}

.completion-bar {
  height: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: #e8edf5;
  margin-top: 10px;
}

.completion-bar span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--accent);
}

.completion-row.missing .completion-bar span {
  background: #e11d48;
}

.completion-row.partial .completion-bar span {
  background: var(--accent);
}

.completion-row.complete .completion-bar span {
  background: #16a34a;
}

.ko-result-share-card {
  border-color: rgba(200, 145, 47, .36);
  background: linear-gradient(180deg, #fffaf0, #fff);
}

.ko-result-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, .82fr);
  gap: 16px;
  align-items: stretch;
  border: 1px solid rgba(200, 145, 47, .26);
  border-radius: 16px;
  background: rgba(255, 255, 255, .72);
  padding: 16px;
}

.ko-result-hero span,
.ko-result-hero strong,
.ko-result-hero p {
  display: block;
}

.ko-result-hero > div > span,
.ko-result-panel > span {
  color: var(--accent);
  font-size: 12px;
  font-weight: 950;
  letter-spacing: .10em;
  text-transform: uppercase;
}

.ko-result-hero > div > strong {
  color: var(--text);
  font-size: clamp(28px, 4vw, 44px);
  line-height: 1;
  margin-top: 7px;
}

.ko-result-hero > div > p {
  color: var(--muted);
  font-weight: 820;
  margin: 10px 0 0;
}

.ko-result-kpis {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.ko-result-kpis div {
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
  padding: 12px;
}

.ko-result-kpis span,
.ko-result-kpis strong {
  display: block;
}

.ko-result-kpis span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.ko-result-kpis strong {
  color: var(--accent);
  font-size: 27px;
  line-height: 1;
  margin-top: 7px;
}

.ko-result-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 12px;
}

.ko-result-panel {
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
  padding: 14px;
}

.ko-result-panel p {
  color: var(--muted);
  font-weight: 820;
  line-height: 1.35;
  margin: 8px 0 0;
}

.result-movers,
.result-top {
  margin-top: 10px;
}

.ko-result-share-card textarea {
  min-height: 190px;
  background: #f8fafc;
  line-height: 1.45;
  margin-top: 12px;
}

.todo-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, .8fr);
  gap: 16px;
  align-items: stretch;
  border: 1px solid rgba(200, 145, 47, .30);
  border-radius: 18px;
  background: linear-gradient(135deg, #fffaf0, #fff);
  box-shadow: 0 18px 46px rgba(15, 23, 42, .07);
  padding: 18px;
}

.todo-hero span,
.todo-hero strong,
.todo-hero p {
  display: block;
}

.todo-hero > div > span {
  color: var(--accent);
  font-size: 12px;
  font-weight: 950;
  letter-spacing: .10em;
  text-transform: uppercase;
}

.todo-hero > div > strong {
  color: var(--text);
  font-size: clamp(28px, 4vw, 44px);
  line-height: 1;
  margin-top: 8px;
}

.todo-hero > div > p {
  color: var(--muted);
  font-weight: 780;
  margin: 10px 0 0;
}

.todo-hero-kpis {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.todo-hero-kpis div {
  border: 1px solid var(--line);
  border-radius: 14px;
  background: rgba(255, 255, 255, .88);
  padding: 13px;
}

.todo-hero-kpis span,
.todo-hero-kpis strong {
  display: block;
}

.todo-hero-kpis span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.todo-hero-kpis strong {
  color: var(--accent);
  font-size: 30px;
  line-height: 1;
  margin-top: 7px;
}

.todo-personal {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border-color: rgba(200, 145, 47, .28);
}

.todo-personal.complete {
  border-color: rgba(53, 168, 105, .30);
  background: #f0fdf4;
}

.todo-personal.missing {
  border-color: #fecdd3;
  background: #fff8f8;
}

.todo-personal.partial {
  background: #fffaf0;
}

.todo-personal span,
.todo-personal strong,
.todo-personal p {
  display: block;
}

.todo-personal span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.todo-personal strong {
  color: var(--text);
  font-size: 24px;
  line-height: 1.1;
  margin-top: 5px;
}

.todo-personal p {
  color: var(--muted);
  font-weight: 800;
  margin: 6px 0 0;
}

.todo-personal-missing {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.todo-missing-chip {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #fff;
  color: var(--text);
  padding: 8px 11px;
  text-decoration: none;
  font-size: 13px;
  font-weight: 850;
}

.todo-missing-chip span {
  border-radius: 999px;
  background: var(--accent-soft);
  color: #8a5d12;
  padding: 2px 7px;
  font-size: 11px;
  font-weight: 950;
  white-space: nowrap;
}

.todo-missing-chip:hover {
  border-color: var(--accent);
  color: var(--accent);
}

.todo-match-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.todo-match-card {
  margin: 0;
}

.todo-match-card.complete {
  border-color: rgba(53, 168, 105, .30);
}

.todo-match-card.missing {
  border-color: #fecdd3;
}

.todo-match-card.partial {
  border-color: rgba(200, 145, 47, .32);
}

.todo-match-head {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: flex-start;
}

.todo-match-head span,
.todo-match-head strong {
  display: block;
}

.todo-match-head > div > span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.todo-match-head > div > strong {
  color: var(--text);
  font-size: 19px;
  line-height: 1.25;
  margin-top: 5px;
}

.todo-match-head em {
  color: var(--muted);
  font-style: normal;
  font-weight: 750;
}

.todo-deadline {
  display: inline-flex;
  width: fit-content;
  border-radius: 999px;
  border: 1px solid #f0d8a8;
  background: #fff8ea;
  color: #8a5d12;
  font-size: 12px;
  font-weight: 950;
  margin-top: 8px;
  padding: 5px 9px;
}

.todo-deadline.expired {
  border-color: #fecdd3;
  background: #fff1f2;
  color: #a31625;
}

.todo-deadline.override {
  border-color: #f0c36b;
  background: var(--accent-soft);
  color: #8a5d12;
}

.todo-match-progress {
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  margin: 16px 0 12px;
}

.todo-match-progress strong,
.todo-match-progress span {
  display: block;
}

.todo-match-progress strong {
  color: var(--accent);
  font-size: 24px;
  line-height: 1;
}

.todo-match-progress span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
  margin-top: 4px;
}

.todo-missing-list {
  border-top: 1px solid var(--line);
  padding-top: 12px;
}

.todo-missing-list span {
  display: block;
  color: var(--red);
  font-size: 12px;
  font-weight: 950;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.todo-missing-list p,
.todo-all-set {
  color: var(--muted);
  font-weight: 800;
  line-height: 1.35;
  margin: 6px 0 0;
}

.todo-all-set {
  color: #166534;
}

.status-pill.complete {
  border-color: rgba(53, 168, 105, .30);
  background: #dcfce7;
  color: #166534;
}

.status-pill.partial {
  border-color: rgba(200, 145, 47, .28);
  background: var(--accent-soft);
  color: #8a5d12;
}

.status-pill.missing {
  border-color: #fecdd3;
  background: #ffe4e6;
  color: #9f1239;
}

.status-pill.idle {
  background: #f1f5f9;
  color: #475569;
}

.scenario-picker-card {
  margin-top: 0;
}

.scenario-picker-form {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) auto;
  gap: 10px;
  align-items: center;
}

.scenario-match-hero {
  border: 1px solid rgba(200, 145, 47, .30);
  border-radius: 18px;
  background: linear-gradient(135deg, #fffaf0, #fff);
  box-shadow: 0 18px 46px rgba(15, 23, 42, .07);
  margin: 18px 0;
  padding: 18px;
}

.scenario-match-hero span,
.scenario-match-hero strong,
.scenario-match-hero p {
  display: block;
}

.scenario-match-hero span {
  color: var(--accent);
  font-size: 12px;
  font-weight: 950;
  letter-spacing: .10em;
  text-transform: uppercase;
}

.scenario-match-hero strong {
  color: var(--text);
  font-size: clamp(24px, 3vw, 36px);
  line-height: 1.05;
  margin-top: 8px;
}

.scenario-match-hero p {
  color: var(--muted);
  font-weight: 800;
  margin: 10px 0 0;
}

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

.scenario-card {
  margin: 0;
}

.scenario-card.podium-alert {
  border-color: rgba(200, 145, 47, .42);
  background: linear-gradient(180deg, #fffaf0, #fff);
}

.scenario-card-head,
.scenario-share,
.scenario-section-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.scenario-card-head span,
.scenario-card-head strong,
.scenario-card-head em,
.scenario-share strong,
.scenario-share span {
  display: block;
}

.scenario-card-head span,
.scenario-section-head strong {
  color: var(--muted);
  font-size: 12px;
  font-weight: 950;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.scenario-card-head strong {
  color: var(--text);
  font-size: 28px;
  line-height: 1.05;
  margin-top: 5px;
}

.scenario-card-head em {
  border-radius: 999px;
  background: #ecfdf3;
  color: #166534;
  font-size: 12px;
  font-style: normal;
  font-weight: 950;
  padding: 6px 9px;
  white-space: nowrap;
}

.scenario-card.podium-alert .scenario-card-head em {
  background: var(--accent-soft);
  color: #8a5d12;
}

.scenario-kpis {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 16px 0;
}

.scenario-kpis div {
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #f8fafc;
  padding: 12px;
}

.scenario-kpis span,
.scenario-kpis strong {
  display: block;
}

.scenario-kpis span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.scenario-kpis strong {
  color: var(--accent);
  font-size: 27px;
  line-height: 1;
  margin-top: 7px;
}

.scenario-section {
  border-top: 1px solid var(--line);
  padding-top: 14px;
  margin-top: 14px;
}

.scenario-section p {
  color: var(--muted);
  font-weight: 800;
  line-height: 1.35;
  margin: 8px 0 0;
}

.scenario-top {
  margin-top: 10px;
}

.scenario-movers {
  margin-top: 10px;
}

.scenario-share {
  border-top: 1px solid var(--line);
  margin-top: 16px;
  padding-top: 14px;
}

.scenario-share strong {
  color: var(--text);
  font-size: 16px;
  line-height: 1.15;
}

.scenario-share span {
  color: var(--muted);
  font-weight: 800;
  margin-top: 4px;
}

.scenario-card textarea {
  min-height: 178px;
  background: #f8fafc;
  line-height: 1.45;
  margin-top: 10px;
}

textarea {
  width: 100%;
  resize: vertical;
  padding: 11px 12px;
  border-radius: 10px;
  border: 1px solid var(--line);
  background: #fff;
  color: var(--text);
  font: inherit;
}

.ko-confirm-card {
  border-color: rgba(200, 145, 47, .38);
  background: linear-gradient(180deg, #fff, #fffaf0);
}

.ko-confirm-card.podium-alert {
  box-shadow: 0 18px 55px rgba(200, 145, 47, .18);
}

.confirm-eyebrow {
  display: inline-flex;
  color: var(--accent);
  font-size: 12px;
  font-weight: 950;
  letter-spacing: .12em;
  margin-bottom: 8px;
  text-transform: uppercase;
}

.badge.warning {
  border-color: #f0c36b;
  background: var(--accent-soft);
  color: #8a5d12;
}

.confirm-warning {
  border: 1px solid #f0c36b;
  border-radius: 14px;
  background: var(--accent-soft);
  color: #8a5d12;
  font-weight: 950;
  margin: 14px 0;
  padding: 12px 14px;
}

.confirm-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 16px 0;
}

.confirm-kpi,
.confirm-panel {
  border: 1px solid #edf1f7;
  border-radius: 14px;
  background: #fff;
  padding: 14px;
}

.confirm-kpi span,
.confirm-panel > span {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-weight: 950;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.confirm-kpi strong {
  display: block;
  color: var(--accent);
  font-size: 30px;
  line-height: 1;
  margin-top: 9px;
}

.confirm-panels {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 12px;
}

.confirm-panel p {
  color: var(--text);
  font-weight: 800;
  line-height: 1.45;
  margin: 10px 0 0;
}

.confirm-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 16px;
}

.admin-ko-grid {
  display: grid;
  gap: 18px;
}

.ko-admin-stage.active {
  border-color: var(--accent);
}

.stage-admin-head,
.admin-match-title,
.admin-actions,
.admin-inline-form {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.advance-form {
  margin: 14px 0;
}

.advance-ready {
  display: inline-flex;
  margin: 14px 0 4px;
  padding: 8px 12px;
  border: 1px solid rgba(53, 196, 111, .35);
  border-radius: 999px;
  background: rgba(53, 196, 111, .10);
}

.admin-match {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  padding: 14px;
  margin-top: 12px;
}

.admin-match-title span {
  color: var(--muted);
  font-size: 13px;
}

.admin-teams {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 12px 0;
  font-weight: 900;
}

.admin-teams span {
  min-width: 0;
  overflow-wrap: anywhere;
}

.deadline-admin-row {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) minmax(260px, 1.1fr);
  gap: 10px;
  align-items: end;
  border: 1px solid #e4e9f2;
  border-radius: 12px;
  background: #f8fafc;
  padding: 10px;
  margin: 10px 0 12px;
}

.deadline-admin-row.upcoming {
  border-color: #f0d8a8;
  background: #fff8ea;
}

.deadline-admin-row.expired {
  border-color: #fecdd3;
  background: #fff1f2;
}

.deadline-admin-row.override {
  border-color: #f0c36b;
  background: var(--accent-soft);
}

.deadline-admin-row span,
.deadline-admin-row small,
.deadline-admin-row strong {
  display: block;
}

.deadline-admin-row span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.deadline-admin-row strong {
  color: var(--text);
  font-size: 17px;
  margin-top: 4px;
}

.deadline-admin-row small {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  margin-top: 3px;
}

.deadline-inline-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
}

.deadline-inline-form input {
  min-width: 0;
}

.impact-preview {
  border: 1px solid #f0d8a8;
  border-radius: 12px;
  background: #fff8ea;
  padding: 10px;
  margin: 10px 0 12px;
}

.impact-title {
  color: var(--accent);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
  margin-bottom: 8px;
  text-transform: uppercase;
}

.impact-row {
  display: grid;
  grid-template-columns: minmax(180px, .9fr) minmax(280px, 1.3fr);
  gap: 8px 12px;
  align-items: start;
  padding: 8px 0;
  border-top: 1px solid #f1e1c4;
}

.impact-title + .impact-row {
  border-top: 0;
  padding-top: 0;
}

.impact-row strong {
  display: block;
  min-width: 0;
  overflow-wrap: anywhere;
}

.impact-row span,
.impact-row small {
  color: var(--muted);
  font-weight: 800;
}

.impact-row small {
  grid-column: 2;
  font-size: 12px;
  line-height: 1.35;
}

.projection-row {
  align-items: stretch;
}

.validation-preview {
  border: 1px solid #e4e9f2;
  border-radius: 12px;
  background: #fff;
  padding: 12px;
}

.validation-preview.podium-alert {
  border-color: #f0c36b;
  background: #fffaf0;
}

.scenario-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}

.scenario-head span {
  color: var(--text);
  font-size: 16px;
  font-weight: 950;
}

.scenario-head strong {
  display: inline-flex;
  border-radius: 999px;
  background: #f1f5f9;
  color: #475569;
  padding: 4px 8px;
  font-size: 12px;
  white-space: nowrap;
}

.validation-preview.podium-alert .scenario-head strong {
  background: var(--accent-soft);
  color: #8a5d12;
}

.impact-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 10px;
}

.impact-stats div {
  border: 1px solid #edf1f7;
  border-radius: 10px;
  background: #f8fafc;
  padding: 9px;
}

.impact-stats strong,
.impact-stats span {
  display: block;
}

.impact-stats strong {
  color: var(--accent);
  font-size: 20px;
  line-height: 1;
}

.impact-stats span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .06em;
  margin-top: 4px;
  text-transform: uppercase;
}

.impact-names {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.35;
  margin: 0 0 10px;
}

.movement-preview-list {
  display: grid;
  gap: 6px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.movement-preview-list li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  border-top: 1px solid #edf1f7;
  padding-top: 6px;
}

.movement-preview-list li:first-child {
  border-top: 0;
  padding-top: 0;
}

.movement-preview-list span {
  color: var(--text);
  font-weight: 900;
}

.movement-preview-list strong {
  border-radius: 999px;
  font-size: 12px;
  font-weight: 950;
  padding: 4px 8px;
  white-space: nowrap;
}

.movement-preview-list strong.up {
  background: #ecfdf3;
  color: #166534;
}

.movement-preview-list strong.down {
  background: #fff1f2;
  color: #b4232e;
}

.movement-preview-list .muted-row {
  color: var(--muted);
  display: block;
  font-size: 12px;
  font-weight: 850;
}

.projection-card {
  border: 1px solid #e4e9f2;
  border-radius: 12px;
  background: #fff;
  padding: 10px;
}

.projection-card.podium-alert {
  border-color: #f0c36b;
  background: #fffaf0;
}

.projection-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 8px;
}

.projection-head span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.projection-head strong {
  display: inline-flex;
  border-radius: 999px;
  background: var(--accent-soft);
  color: #8a5d12;
  padding: 4px 8px;
  font-size: 12px;
  white-space: nowrap;
}

.projection-card p {
  color: #8a5d12;
  font-weight: 850;
  margin: 0 0 8px;
}

.projection-top {
  display: grid;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.projection-top li {
  display: grid;
  grid-template-columns: minmax(130px, 1fr) auto auto auto;
  gap: 8px;
  align-items: center;
  border-top: 1px solid #edf1f7;
  padding-top: 6px;
}

.projection-top li:first-child {
  border-top: 0;
  padding-top: 0;
}

.projection-top li span {
  color: var(--text);
  font-weight: 900;
}

.projection-top li strong {
  color: var(--accent);
  font-weight: 950;
  white-space: nowrap;
}

.projection-top li em,
.projection-top li small {
  border-radius: 999px;
  background: #ecfdf3;
  color: #166534;
  font-size: 12px;
  font-style: normal;
  font-weight: 900;
  padding: 3px 7px;
  white-space: nowrap;
}

.projection-top li small {
  background: #eef4ff;
  color: #1d5fd1;
}

.projection-top.compact li {
  grid-template-columns: minmax(130px, 1fr) auto auto;
}

.official-result {
  color: var(--green);
  font-weight: 900;
  margin-bottom: 10px;
}

.admin-inline-form {
  align-items: stretch;
}

.admin-inline-form select {
  flex: 1;
}

.admin-actions {
  justify-content: flex-start;
  flex-wrap: wrap;
  margin-top: 8px;
}

.ko-control-center {
  border-color: rgba(200, 145, 47, .34);
  background: linear-gradient(180deg, #fff, #fffdf8);
}

.ko-control-center.danger {
  border-color: #fecdd3;
  background: linear-gradient(180deg, #fff, #fff7f8);
}

.ko-control-center.success {
  border-color: #bbf7d0;
  background: linear-gradient(180deg, #fff, #f8fffb);
}

.control-hero {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: flex-start;
  margin-bottom: 16px;
}

.control-hero span,
.control-meta span,
.control-kpis span,
.control-detail-panel > span {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-weight: 950;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.control-hero h2 {
  margin: 5px 0 6px;
  font-size: clamp(26px, 3vw, 38px);
}

.control-hero p {
  color: var(--muted);
  font-weight: 800;
  margin: 0;
}

.control-meta {
  min-width: 150px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
  padding: 12px;
  text-align: right;
}

.control-meta strong {
  display: block;
  color: var(--accent);
  font-size: 20px;
  font-weight: 950;
}

.control-kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 14px;
}

.control-kpis div {
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
  padding: 13px;
}

.control-kpis strong {
  display: block;
  color: var(--text);
  font-size: 28px;
  line-height: 1;
  margin-top: 8px;
}

.control-kpis .warning strong {
  color: var(--accent);
}

.control-kpis .danger strong {
  color: var(--red);
}

.control-task-list {
  display: grid;
  gap: 8px;
  margin: 12px 0 0;
}

.control-task {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: center;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
  color: var(--text);
  padding: 12px 14px;
  text-decoration: none;
}

.control-task:hover {
  border-color: rgba(200, 145, 47, .55);
  background: #fffaf0;
}

.control-task strong,
.control-task span {
  display: block;
}

.control-task strong {
  font-size: 16px;
  font-weight: 950;
}

.control-task span {
  color: var(--muted);
  font-size: 13px;
  font-weight: 780;
  margin-top: 2px;
}

.control-task em {
  flex: 0 0 auto;
  border-radius: 999px;
  background: #f1f5f9;
  color: #475569;
  font-size: 12px;
  font-style: normal;
  font-weight: 950;
  padding: 6px 9px;
  white-space: nowrap;
}

.control-task.danger {
  border-color: #fecdd3;
}

.control-task.danger em {
  background: #fff1f2;
  color: #a31625;
}

.control-task.warning em {
  background: var(--accent-soft);
  color: #8a5d12;
}

.control-task.success em {
  background: #ecfdf3;
  color: #166534;
}

.control-detail-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}

.control-detail-panel {
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
  padding: 13px;
}

.control-detail-panel ul {
  display: grid;
  gap: 7px;
  list-style: none;
  margin: 10px 0 0;
  padding: 0;
}

.control-detail-panel a {
  display: block;
  border-top: 1px solid var(--line);
  color: inherit;
  padding-top: 7px;
  text-decoration: none;
}

.control-detail-panel li:first-child a {
  border-top: 0;
  padding-top: 0;
}

.control-detail-panel a:hover strong {
  color: var(--accent);
}

.control-detail-panel strong,
.control-detail-panel small {
  display: block;
}

.control-detail-panel strong {
  font-size: 14px;
  font-weight: 950;
}

.control-detail-panel small,
.control-detail-panel p {
  color: var(--muted);
  font-size: 12px;
  font-weight: 780;
  line-height: 1.35;
}

.control-detail-panel p {
  margin: 10px 0 0;
}

.ko-transition-card {
  border-color: rgba(200, 145, 47, .34);
  background: linear-gradient(180deg, #fff, #fffaf0);
}

.ko-transition-card.success {
  border-color: #bbf7d0;
  background: linear-gradient(180deg, #fff, #f8fffb);
}

.ko-transition-card.warning {
  border-color: #fde68a;
}

.ko-transition-card.danger {
  border-color: #fecdd3;
  background: linear-gradient(180deg, #fff, #fff7f8);
}

.transition-head,
.transition-actions,
.panel-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.transition-head {
  margin-bottom: 16px;
}

.transition-eyebrow,
.transition-status span,
.transition-kpis span,
.panel-heading span {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-weight: 950;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.transition-head h2 {
  margin: 5px 0 6px;
  font-size: clamp(26px, 3vw, 38px);
}

.transition-head p {
  color: var(--muted);
  font-weight: 800;
  margin: 0;
}

.transition-status {
  flex: 0 0 210px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #fff;
  padding: 13px;
  text-align: right;
}

.transition-status strong {
  display: block;
  color: var(--text);
  font-size: 18px;
  font-weight: 950;
  margin-top: 5px;
}

.transition-status.success strong {
  color: var(--green);
}

.transition-status.warning strong {
  color: var(--accent);
}

.transition-status.danger strong {
  color: var(--red);
}

.transition-kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 14px 0;
}

.transition-kpis div,
.transition-panel {
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
}

.transition-kpis div {
  padding: 13px;
}

.transition-kpis strong {
  display: block;
  color: var(--text);
  font-size: 28px;
  line-height: 1;
  margin-top: 8px;
}

.transition-kpis .warning strong {
  color: var(--accent);
}

.transition-kpis .danger strong {
  color: var(--red);
}

.transition-checks {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 12px 0 16px;
}

.transition-checks span {
  border-radius: 999px;
  font-size: 12px;
  font-weight: 900;
  padding: 7px 10px;
}

.transition-checks .warning {
  background: var(--accent-soft);
  color: #8a5d12;
}

.transition-checks .danger {
  background: #fff1f2;
  color: #a31625;
}

.transition-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr);
  gap: 12px;
  margin-top: 14px;
}

.transition-panel {
  padding: 14px;
}

.panel-heading {
  align-items: center;
  margin-bottom: 12px;
}

.panel-heading strong {
  color: var(--accent);
  font-weight: 950;
}

.transition-match-list {
  display: grid;
  gap: 8px;
}

.transition-match {
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr) minmax(150px, auto);
  gap: 10px;
  align-items: center;
  border: 1px solid var(--line);
  border-radius: 12px;
  color: inherit;
  padding: 10px 12px;
  text-decoration: none;
}

.transition-match:hover {
  border-color: rgba(200, 145, 47, .55);
  background: #fffaf0;
}

.transition-match strong,
.transition-match span,
.transition-match em {
  min-width: 0;
}

.transition-match strong {
  color: var(--accent);
  font-size: 13px;
  font-weight: 950;
}

.transition-match span {
  font-weight: 900;
}

.transition-match em {
  color: var(--muted);
  font-size: 12px;
  font-style: normal;
  font-weight: 850;
  text-align: right;
}

.transition-match.missing-time em {
  color: #8a5d12;
}

.transition-share-panel textarea {
  min-height: 290px;
  resize: vertical;
}

.transition-actions {
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  margin-top: 14px;
}

.transition-actions button:disabled {
  cursor: not-allowed;
  opacity: .55;
  transform: none;
}

.ko-scenario-radar-card {
  border-color: rgba(200, 145, 47, .28);
  background: linear-gradient(180deg, #fff, #fffdf8);
}

.radar-eyebrow,
.radar-meta span,
.radar-kpis span,
.scenario-radar-head span,
.scenario-radar-team span,
.scenario-radar-stats span {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-weight: 950;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.radar-meta {
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #fff;
  min-width: 150px;
  padding: 13px;
  text-align: right;
}

.radar-meta strong {
  color: var(--accent);
  display: block;
  font-size: 30px;
  font-weight: 950;
  line-height: 1;
}

.radar-kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 16px 0;
}

.radar-kpis div {
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
  padding: 13px;
}

.radar-kpis strong {
  color: var(--text);
  display: block;
  font-size: 24px;
  font-weight: 950;
  line-height: 1.05;
  margin-top: 8px;
}

.scenario-radar-list {
  display: grid;
  gap: 12px;
}

.scenario-radar-item {
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #fff;
  padding: 14px;
}

.scenario-radar-item.hot {
  border-color: #f0c36b;
  background: linear-gradient(180deg, #fff, #fffaf0);
}

.scenario-radar-item.warm {
  border-color: #fde68a;
}

.scenario-radar-item.watch {
  border-color: #dbeafe;
}

.scenario-radar-head,
.scenario-radar-team,
.scenario-radar-actions {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.scenario-radar-head {
  margin-bottom: 12px;
}

.scenario-radar-head strong {
  color: var(--text);
  display: block;
  font-size: 18px;
  font-weight: 950;
  margin-top: 3px;
}

.scenario-radar-head small {
  color: var(--muted);
  display: block;
  font-size: 13px;
  font-weight: 800;
  margin-top: 4px;
}

.scenario-radar-head em,
.scenario-radar-team strong {
  border-radius: 999px;
  background: #f1f5f9;
  color: #475569;
  flex: 0 0 auto;
  font-size: 12px;
  font-style: normal;
  font-weight: 950;
  padding: 6px 9px;
  white-space: nowrap;
}

.scenario-radar-item.hot .scenario-radar-head em,
.scenario-radar-scenario.podium-alert .scenario-radar-team strong {
  background: var(--accent-soft);
  color: #8a5d12;
}

.scenario-radar-item.warm .scenario-radar-head em {
  background: #fff7d6;
  color: #8a5d12;
}

.scenario-radar-item.watch .scenario-radar-head em {
  background: #eff6ff;
  color: #1d4ed8;
}

.scenario-radar-scenarios {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.scenario-radar-scenario {
  border: 1px solid #e4e9f2;
  border-radius: 14px;
  background: #fff;
  padding: 12px;
}

.scenario-radar-scenario.podium-alert {
  border-color: #f0c36b;
  background: #fffaf0;
}

.scenario-radar-team {
  align-items: center;
  margin-bottom: 10px;
}

.scenario-radar-team span {
  color: var(--text);
  letter-spacing: 0;
  text-transform: none;
  font-size: 15px;
}

.scenario-radar-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 10px;
}

.scenario-radar-stats div {
  border: 1px solid #edf1f7;
  border-radius: 10px;
  background: #f8fafc;
  padding: 9px;
}

.scenario-radar-stats strong {
  color: var(--accent);
  display: block;
  font-size: 20px;
  font-weight: 950;
  line-height: 1;
}

.scenario-radar-stats span {
  font-size: 10px;
  margin-top: 4px;
}

.scenario-radar-top {
  display: grid;
  gap: 6px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.scenario-radar-top li {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 8px;
  align-items: center;
  border-top: 1px solid #edf1f7;
  padding-top: 6px;
}

.scenario-radar-top li:first-child {
  border-top: 0;
  padding-top: 0;
}

.scenario-radar-top span {
  color: var(--text);
  font-weight: 900;
}

.scenario-radar-top strong {
  color: var(--accent);
  font-weight: 950;
  white-space: nowrap;
}

.scenario-radar-top em {
  border-radius: 999px;
  background: #ecfdf3;
  color: #166534;
  font-size: 12px;
  font-style: normal;
  font-weight: 900;
  padding: 3px 7px;
  white-space: nowrap;
}

.scenario-radar-actions {
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-start;
  margin-top: 12px;
}

.scenario-radar-actions button {
  border-radius: 999px;
}

.admin-log-card {
  border-color: #ead7af;
}

.admin-log-list {
  display: grid;
  gap: 8px;
}

.admin-log-item {
  display: grid;
  grid-template-columns: 150px 150px minmax(220px, 1fr) auto;
  gap: 10px;
  align-items: start;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
  padding: 10px 12px;
}

.admin-log-item.undone {
  background: #f8fafc;
}

.admin-log-item time {
  color: var(--muted);
  font-weight: 800;
}

.admin-log-item strong {
  color: var(--accent);
}

.admin-log-item span {
  color: var(--text);
  font-weight: 650;
}

.admin-log-actions {
  display: flex;
  justify-content: flex-end;
  min-width: 135px;
}

.admin-log-actions form {
  margin: 0;
}

.undo-btn {
  border: 1px solid #f0d8a8;
  border-radius: 999px;
  background: var(--accent-soft);
  color: #8a5d12;
  cursor: pointer;
  font-size: 12px;
  font-weight: 950;
  padding: 7px 10px;
  white-space: nowrap;
}

.undo-btn:hover {
  border-color: var(--accent);
  color: var(--accent);
}

.undo-done,
.undo-empty {
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
  white-space: nowrap;
}

.prediction-audit-card {
  border-color: rgba(53, 168, 105, .24);
}

.prediction-change-list {
  display: grid;
  gap: 8px;
}

.prediction-change-item {
  display: grid;
  grid-template-columns: 170px minmax(220px, 1fr) 96px minmax(190px, .9fr);
  gap: 10px;
  align-items: center;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
  padding: 10px 12px;
}

.prediction-change-item time {
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
}

.prediction-change-main strong,
.prediction-change-main span {
  display: block;
}

.prediction-change-main strong {
  color: var(--text);
  font-weight: 950;
}

.prediction-change-main span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 780;
  line-height: 1.3;
  margin-top: 2px;
}

.prediction-change-pill {
  justify-self: start;
  border-radius: 999px;
  padding: 6px 10px;
  font-size: 12px;
  font-weight: 950;
}

.prediction-change-pill.created,
.prediction-change-pill.confirmed {
  background: #ecfdf3;
  color: #166534;
}

.prediction-change-pill.updated {
  background: #fff8ea;
  color: #8a5d12;
}

.prediction-change-pill.cleared {
  background: #fff1f2;
  color: #a31625;
}

.prediction-change-flow {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 5px;
  color: var(--text);
  font-size: 13px;
  font-weight: 900;
}

.prediction-change-flow strong {
  color: var(--muted);
}

.public-ko-summary,
.public-stage-kpis {
  display: grid;
  gap: 10px;
}

.public-ko-summary {
  grid-template-columns: repeat(4, minmax(120px, 1fr));
  margin-top: 14px;
}

.public-stage-kpis {
  grid-template-columns: repeat(4, minmax(110px, 1fr));
  margin: 16px 0;
}

.public-ko-summary div,
.public-stage-kpis div {
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
  padding: 13px 14px;
}

.public-stage-kpis div {
  background: #f8fafc;
}

.public-ko-summary span,
.public-ko-summary strong,
.public-stage-kpis span,
.public-stage-kpis strong {
  display: block;
}

.public-ko-summary span,
.public-stage-kpis span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.public-ko-summary strong,
.public-stage-kpis strong {
  color: var(--accent);
  font-size: 26px;
  line-height: 1;
  margin-top: 6px;
}

.public-ko-layout,
.public-ko-matches {
  display: grid;
  gap: 18px;
}

.result-history-card {
  border-color: rgba(200, 145, 47, .24);
  background: linear-gradient(180deg, #fff, #fffaf0);
}

.result-history-head {
  align-items: flex-start;
  gap: 16px;
}

.result-filter-bar {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.result-filter-bar .btn {
  padding: 8px 11px;
}

.result-filter-bar .btn span {
  color: inherit;
  font-size: 12px;
  opacity: .74;
}

.result-history-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 16px;
}

.result-history-item {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #fff;
  padding: 16px;
}

.result-history-top,
.result-history-actions {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.result-history-actions {
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.result-history-top span,
.result-history-meta span {
  display: block;
  color: var(--muted);
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.result-history-top h3 {
  color: var(--text);
  font-size: 25px;
  line-height: 1.08;
  margin: 5px 0 3px;
}

.result-history-top p,
.result-history-scorers {
  color: var(--muted);
  font-weight: 800;
  margin: 0;
}

.result-history-meta {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin: 14px 0;
}

.result-history-meta div {
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #f8fafc;
  padding: 11px;
}

.result-history-meta strong {
  display: block;
  color: var(--accent);
  font-size: 18px;
  line-height: 1.08;
  margin-top: 5px;
}

.result-history-message {
  width: 100%;
  min-height: 175px;
  resize: vertical;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #f8fafc;
  color: var(--text);
  font: inherit;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.45;
  margin-top: 13px;
  padding: 12px;
}

.public-ko-stage {
  margin-top: 0;
}

.public-ko-matches {
  gap: 12px;
}

.public-ko-match {
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #fff;
  padding: 14px;
}

.public-ko-match.status-complete {
  border-color: rgba(53, 168, 105, .30);
  background: #f7fef9;
}

.public-ko-match.status-closed {
  border-color: #bae6fd;
  background: #f0f9ff;
}

.public-ko-match.status-open {
  border-color: #f0d8a8;
  background: #fffaf0;
}

.public-match-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.public-match-head span,
.public-match-head strong {
  display: block;
}

.public-match-head div > span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.public-match-head div > strong {
  color: var(--text);
  font-size: 18px;
  line-height: 1.2;
  margin-top: 5px;
}

.public-match-head em {
  color: var(--muted);
  font-style: normal;
  font-weight: 800;
}

.winner-strip,
.public-hidden-trends,
.public-scorers {
  border: 1px solid var(--line);
  border-radius: 14px;
  background: rgba(255, 255, 255, .72);
  margin-top: 12px;
  padding: 12px;
}

.winner-strip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  background: #ecfdf3;
  border-color: #bbf7d0;
}

.winner-strip span,
.winner-strip strong,
.public-scorers span,
.public-scorers strong,
.public-scorers p {
  display: block;
}

.winner-strip span,
.public-scorers span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.winner-strip strong,
.public-scorers strong {
  color: var(--text);
  font-size: 17px;
  line-height: 1.2;
}

.public-distribution {
  margin-top: 12px;
}

.public-hidden-trends {
  color: #8a5d12;
  font-weight: 900;
}

.public-scorers {
  background: #f8fafc;
}

.public-scorers p {
  color: var(--muted);
  font-weight: 800;
  margin: 8px 0 0;
}

.my-picks-summary {
  display: grid;
  grid-template-columns: repeat(5, minmax(120px, 1fr));
  gap: 10px;
  margin: 14px 0 0;
}

.my-points-summary {
  grid-template-columns: repeat(6, minmax(120px, 1fr));
}

.dashboard-card.positive strong {
  color: #166534;
}

.dashboard-card.pending-card strong {
  color: #075985;
}

.dashboard-card.possible-card strong {
  color: var(--accent);
}

.my-picks-insight,
.next-missing-card {
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 16px 40px rgba(31, 41, 55, .07);
  margin-top: 12px;
  padding: 16px;
}

.my-picks-insight {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.my-picks-insight span,
.my-picks-insight strong,
.my-picks-insight p,
.next-missing-card span,
.next-missing-card strong {
  display: block;
}

.my-picks-insight span,
.next-missing-card span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.my-picks-insight strong,
.next-missing-card strong {
  color: var(--text);
  font-size: 22px;
  line-height: 1.15;
  margin-top: 5px;
}

.my-picks-insight p {
  color: var(--muted);
  font-weight: 800;
  margin: 7px 0 0;
}

.next-missing-card {
  display: grid;
  grid-template-columns: minmax(220px, .8fr) 1fr;
  gap: 14px;
  background: #fffaf0;
  border-color: #f0d8a8;
}

.next-missing-card ul {
  display: grid;
  gap: 6px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.next-missing-card li {
  border-radius: 10px;
  background: rgba(255, 255, 255, .70);
  color: var(--text);
  font-weight: 850;
  padding: 8px 10px;
}

.my-picks-layout {
  display: grid;
  gap: 18px;
}

.my-picks-stage {
  margin-top: 0;
}

.stage-pick-kpis {
  display: grid;
  grid-template-columns: repeat(5, minmax(100px, 1fr)) auto;
  gap: 10px;
  align-items: stretch;
  margin: 16px 0 4px;
}

.stage-pick-kpis div,
.stage-action {
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #f8fafc;
  padding: 11px 12px;
}

.stage-pick-kpis span,
.stage-pick-kpis strong {
  display: block;
}

.stage-pick-kpis span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.stage-pick-kpis strong {
  color: var(--text);
  font-size: 20px;
  line-height: 1;
  margin-top: 6px;
}

.stage-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #8a5d12;
  background: var(--accent-soft);
  font-weight: 950;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
}

.stage-action.done {
  color: #166534;
  background: #ecfdf3;
}

.badge.status-open {
  background: var(--accent-soft);
  border-color: #f0d8a8;
  color: #8a5d12;
}

.badge.status-pending {
  background: #e0f2fe;
  border-color: #bae6fd;
  color: #075985;
}

.badge.status-complete {
  background: #ecfdf3;
  border-color: #bbf7d0;
  color: #166534;
}

.badge.status-locked {
  background: #f1f5f9;
  color: #475569;
}

.my-picks-list {
  display: grid;
  gap: 10px;
  margin-top: 16px;
}

.my-pick-row {
  display: grid;
  grid-template-columns: minmax(220px, 1.3fr) minmax(150px, .8fr) minmax(150px, .8fr) minmax(130px, .7fr) minmax(130px, .7fr) auto;
  gap: 12px;
  align-items: center;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #fff;
  padding: 14px;
}

.my-pick-row.status-correct {
  border-color: #bbf7d0;
  background: #f7fef9;
}

.my-pick-row.status-wrong {
  border-color: #fecdd3;
  background: #fff8f8;
}

.my-pick-row.status-open {
  border-color: #f0d8a8;
  background: #fffaf0;
}

.my-pick-row.status-pending {
  border-color: #bae6fd;
  background: #f0f9ff;
}

.my-pick-row.status-missing,
.my-pick-row.status-locked {
  background: #f8fafc;
}

.my-pick-meta,
.my-pick-choice span,
.my-pick-points span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.my-pick-teams {
  display: grid;
  gap: 4px;
  margin-top: 5px;
  font-weight: 950;
}

.my-pick-choice strong,
.my-pick-points strong {
  display: block;
  margin-top: 4px;
  font-size: 16px;
  min-width: 0;
  overflow-wrap: anywhere;
}

.my-pick-choice small {
  color: var(--muted);
  display: block;
  font-size: 12px;
  font-weight: 800;
  margin-top: 5px;
}

.my-pick-audit.updated {
  color: #8a5d12;
}

.my-pick-audit.cleared {
  color: #a31625;
}

.my-pick-audit.created,
.my-pick-audit.confirmed {
  color: #166534;
}

.my-pick-audit-detail {
  color: var(--muted);
}

.my-pick-points strong {
  color: var(--accent);
}

.my-pick-points strong.earned {
  color: #166534;
}

.my-pick-points strong.lost {
  color: #a31625;
}

.my-pick-points small {
  color: var(--muted);
  display: block;
  font-size: 12px;
  font-weight: 800;
  margin-top: 5px;
}

.my-pick-deadline {
  border-radius: 12px;
  border: 1px solid #f0d8a8;
  background: #fff8ea;
  color: #8a5d12;
  padding: 9px 10px;
}

.my-pick-deadline.expired {
  border-color: #fecdd3;
  background: #fff1f2;
  color: #a31625;
}

.my-pick-deadline.override {
  border-color: #f0c36b;
  background: var(--accent-soft);
  color: #8a5d12;
}

.my-pick-deadline span,
.my-pick-deadline strong {
  display: block;
}

.my-pick-deadline span {
  font-size: 12px;
  font-weight: 950;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.my-pick-deadline strong {
  font-size: 14px;
  margin-top: 4px;
}

.group-choice-summary {
  grid-column: 1 / -1;
  border-top: 1px solid var(--line);
  margin-top: 2px;
  padding-top: 12px;
}

.group-choice-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}

.group-choice-head span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 950;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.group-choice-head strong {
  color: var(--text);
  font-size: 13px;
  font-weight: 900;
}

.group-choice-bars {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.group-choice-team {
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #f8fafc;
  padding: 10px;
}

.group-choice-team.leader {
  border-color: rgba(200, 145, 47, .35);
  background: #fffaf0;
}

.group-choice-line {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 8px;
}

.group-choice-line span,
.group-choice-line strong {
  font-size: 13px;
  font-weight: 950;
}

.group-choice-line span {
  color: var(--text);
  min-width: 0;
  overflow-wrap: anywhere;
}

.group-choice-line strong {
  color: var(--accent);
  white-space: nowrap;
}

.group-choice-track {
  height: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: #e8edf5;
}

.group-choice-fill {
  height: 100%;
  border-radius: inherit;
  background: var(--accent);
}

.status-pill {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 5px 9px;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: 0;
  text-transform: none;
}

.status-pill.correct {
  background: #dcfce7;
  color: #166534;
}

.status-pill.wrong {
  background: #ffe4e6;
  color: #9f1239;
}

.status-pill.pending {
  background: #e0f2fe;
  color: #075985;
}

.status-pill.closed {
  background: #e0f2fe;
  color: #075985;
}

.status-pill.open {
  background: var(--accent-soft);
  color: #8a5d12;
}

.status-pill.missing,
.status-pill.locked {
  background: #f1f5f9;
  color: #475569;
}

.small-btn {
  justify-self: end;
  padding: 8px 12px;
  font-size: 13px;
}


.match-sheet-header {
  margin-bottom: 16px;
}

.match-sheet-hero {
  align-items: stretch;
  background: linear-gradient(135deg, #fffaf0, #fff);
  border: 1px solid rgba(200, 145, 47, .30);
  border-radius: 22px;
  box-shadow: 0 20px 56px rgba(15, 23, 42, .08);
  display: grid;
  gap: 14px;
  grid-template-columns: minmax(0, 1fr) minmax(170px, .7fr) minmax(0, 1fr);
  margin: 0 0 16px;
  padding: 18px;
}

.match-sheet-hero.status-complete {
  background: linear-gradient(135deg, #f0fdf4, #fff);
  border-color: rgba(53, 168, 105, .30);
}

.match-sheet-team,
.match-sheet-vs {
  align-items: center;
  border: 1px solid var(--line);
  border-radius: 18px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 132px;
  padding: 18px;
  text-align: center;
}

.match-sheet-team {
  background: #fff;
}

.match-sheet-team.winner {
  border-color: rgba(53, 168, 105, .35);
  background: #f0fdf4;
}

.match-sheet-team .flag {
  font-size: 38px;
  line-height: 1;
}

.match-sheet-team strong {
  color: var(--text);
  font-size: clamp(22px, 3vw, 34px);
  line-height: 1.05;
  margin-top: 10px;
}

.match-sheet-vs {
  background: #f8fafc;
}

.match-sheet-vs span,
.match-sheet-vs em,
.match-sheet-kpis span,
.match-sheet-deadline span,
.match-sheet-user-pick span,
.match-sheet-scorers span,
.match-sheet-print-footer {
  color: var(--muted);
  font-size: 12px;
  font-weight: 950;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.match-sheet-vs strong {
  color: var(--accent);
  font-size: 26px;
  line-height: 1;
  margin: 8px 0;
}

.match-sheet-vs em {
  border-radius: 999px;
  background: var(--accent-soft);
  color: #8a5d12;
  font-style: normal;
  padding: 7px 10px;
}

.match-sheet-kpis {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-bottom: 16px;
}

.match-sheet-kpis div {
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #fff;
  padding: 14px;
}

.match-sheet-kpis span,
.match-sheet-kpis strong {
  display: block;
}

.match-sheet-kpis strong {
  color: var(--text);
  font-size: 20px;
  line-height: 1.1;
  margin-top: 6px;
}

.match-sheet-deadline,
.match-sheet-user-pick {
  align-items: center;
  border: 1px solid var(--line);
  border-radius: 16px;
  display: flex;
  justify-content: space-between;
  gap: 14px;
  margin: 0 0 16px;
  padding: 14px 16px;
}

.match-sheet-deadline {
  background: #f8fafc;
}

.match-sheet-deadline.upcoming {
  background: #fffaf0;
  border-color: rgba(200, 145, 47, .28);
}

.match-sheet-deadline.expired,
.match-sheet-deadline.override {
  background: #fff1f2;
  border-color: #fecdd3;
}

.match-sheet-deadline strong,
.match-sheet-user-pick strong,
.match-sheet-scorers strong {
  color: var(--text);
  display: block;
  font-size: 18px;
}

.match-sheet-user-pick {
  background: #fff;
}

.match-sheet-user-pick p,
.match-sheet-scorers p,
.match-sheet-distribution-team p {
  color: var(--muted);
  font-weight: 800;
  line-height: 1.35;
  margin: 6px 0 0;
}

.match-sheet-section {
  margin-top: 16px;
}

.match-sheet-distribution,
.match-sheet-scenarios {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.match-sheet-distribution-team,
.scenario-card.mini {
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #f8fafc;
  padding: 14px;
}

.match-sheet-distribution-team.leader {
  border-color: rgba(200, 145, 47, .35);
  background: #fffaf0;
}

.match-sheet-distribution-team.winner {
  border-color: rgba(53, 168, 105, .35);
  background: #f0fdf4;
}

.match-sheet-official {
  border-color: rgba(53, 168, 105, .30);
  background: linear-gradient(180deg, #f0fdf4, #fff);
}

.match-sheet-scorers {
  border-top: 1px solid rgba(53, 168, 105, .22);
  margin-top: 14px;
  padding-top: 14px;
}

.match-sheet-link {
  align-self: flex-start;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--text);
  display: inline-flex;
  font-size: 12px;
  font-weight: 950;
  line-height: 1;
  padding: 7px 10px;
  text-decoration: none;
  white-space: nowrap;
}

.match-sheet-link:hover {
  border-color: rgba(200, 145, 47, .35);
  color: var(--accent);
}

.public-match-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.scenario-match-hero .btn {
  margin-top: 14px;
}

.print-only {
  display: none;
}

@media(max-width: 760px) {
  .ko-progress,
  .player-dashboard,
  .public-ko-summary,
  .public-stage-kpis,
  .result-history-grid,
  .result-history-meta,
  .my-picks-summary,
  .my-points-summary,
  .stage-pick-kpis,
  .ko-result-hero,
  .ko-result-kpis,
  .ko-result-grid,
  .todo-hero,
  .todo-hero-kpis,
  .todo-match-grid,
  .todo-match-progress,
  .control-kpis,
  .control-detail-grid,
  .scenario-picker-form,
  .scenario-grid,
  .scenario-kpis,
  .match-sheet-hero,
  .match-sheet-kpis,
  .match-sheet-distribution,
  .match-sheet-scenarios,
  .stage-strip,
  .admin-teams,
  .admin-inline-form,
  .deadline-admin-row,
  .deadline-inline-form,
  .bulk-grid {
    grid-template-columns: 1fr;
  }

  .impact-row,
  .impact-row small {
    display: block;
  }

  .impact-row span,
  .impact-row small {
    margin-top: 4px;
  }

  .projection-card {
    margin-top: 10px;
  }

  .projection-top li {
    grid-template-columns: 1fr;
    gap: 4px;
  }

  .impact-stats {
    grid-template-columns: 1fr;
  }

  .confirm-grid,
  .confirm-panels {
    grid-template-columns: 1fr;
  }

  .confirm-actions .btn,
  .confirm-actions button,
  .confirm-actions form {
    width: 100%;
  }

  .scenario-head,
  .control-hero,
  .control-task,
  .transition-head,
  .panel-heading,
  .transition-actions,
  .movement-preview-list li {
    align-items: flex-start;
    flex-direction: column;
  }

  .transition-status {
    flex: 0 0 auto;
    text-align: left;
    width: 100%;
  }

  .radar-kpis,
  .scenario-radar-scenarios,
  .scenario-radar-stats {
    grid-template-columns: 1fr;
  }

  .scenario-radar-head,
  .scenario-radar-team,
  .scenario-radar-actions {
    align-items: flex-start;
    flex-direction: column;
  }

  .radar-meta {
    text-align: left;
    width: 100%;
  }

  .scenario-radar-top li {
    grid-template-columns: 1fr;
  }

  .transition-kpis,
  .transition-grid {
    grid-template-columns: 1fr;
  }

  .transition-match {
    grid-template-columns: 1fr;
  }

  .transition-match em {
    text-align: left;
  }

  .control-meta {
    min-width: 0;
    text-align: left;
    width: 100%;
  }

  .control-task em {
    align-self: flex-start;
  }

  .admin-log-item {
    grid-template-columns: 1fr;
    gap: 4px;
  }

  .admin-log-actions {
    justify-content: flex-start;
  }

  .prediction-change-item {
    grid-template-columns: 1fr;
    gap: 6px;
  }

  .prediction-change-pill {
    justify-self: start;
  }

  .diagnostic-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .diagnostic-grid {
    grid-template-columns: 1fr;
  }

  .completion-kpis,
  .targeted-reminder-grid {
    grid-template-columns: 1fr;
  }

  .targeted-reminder-head,
  .targeted-reminder-top,
  .targeted-reminder-actions {
    flex-direction: column;
  }

  .completion-main {
    align-items: flex-start;
    flex-direction: column;
  }

  .reminder-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .reminder-head button {
    width: 100%;
  }

  .public-match-head,
  .winner-strip,
  .result-history-top,
  .result-history-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .my-picks-insight {
    align-items: flex-start;
    flex-direction: column;
  }

  .todo-personal,
  .todo-match-head,
  .scenario-card-head,
  .scenario-share,
  .scenario-section-head,
  .match-sheet-deadline,
  .match-sheet-user-pick,
  .public-match-actions,
  .result-history-actions,
  .result-filter-bar {
    align-items: flex-start;
    flex-direction: column;
  }

  .todo-personal-missing {
    justify-content: flex-start;
  }

  .todo-missing-chip {
    border-radius: 14px;
  }

  .my-picks-insight .btn {
    width: 100%;
    text-align: center;
  }

  .next-missing-card {
    grid-template-columns: 1fr;
  }

  .my-pick-row {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .group-choice-bars {
    grid-template-columns: 1fr;
  }

  .group-choice-head,
  .group-choice-line {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
  }

  .stage-action {
    justify-self: stretch;
  }

  .small-btn {
    justify-self: stretch;
    text-align: center;
  }

  .recent-picks-head,
  .recent-picks-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .recent-picks-actions .btn {
    text-align: center;
    width: 100%;
  }

  .recent-picks-list {
    grid-template-columns: 1fr;
  }

  .ko-notice {
    display: block;
  }

  .round-complete-card {
    display: block;
  }

  .round-complete-card .btn {
    margin-top: 12px;
    width: 100%;
    text-align: center;
  }

  .ko-notice em {
    display: block;
    margin-top: 6px;
    white-space: normal;
  }

  .tournament-board {
    padding: 0;
  }

  .tournament-board.stage-count-1 {
    grid-template-columns: 246px;
    min-width: 246px;
  }

  .tournament-board.stage-count-2 {
    grid-template-columns: 246px 194px;
    min-width: 452px;
  }

  .tournament-board.stage-count-3 {
    grid-template-columns: 246px 194px 194px;
    min-width: 658px;
  }

  .tournament-board.stage-count-4 {
    grid-template-columns: 246px 194px 194px 160px;
    min-width: 830px;
  }

  .tournament-board.stage-count-5 {
    grid-template-columns: 246px 194px 194px 160px 194px;
    min-width: 1036px;
  }

  .tournament-title {
    font-size: 16px;
  }

  .bracket-team {
    min-height: 30px;
    font-size: 16px;
  }

  .stage-admin-head,
  .admin-match-title,
  .admin-actions {
    align-items: flex-start;
    flex-direction: column;
  }
}


@media print {
  body {
    background: #fff !important;
    color: #111827 !important;
  }

  .wrap {
    max-width: none !important;
    padding: 0 !important;
  }

  .no-print,
  .btns,
  button,
  textarea {
    display: none !important;
  }

  .print-only {
    display: block !important;
  }

  .card,
  .match-sheet-hero,
  .match-sheet-kpis div,
  .match-sheet-deadline,
  .match-sheet-distribution-team,
  .scenario-card.mini {
    background: #fff !important;
    box-shadow: none !important;
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .match-sheet-hero,
  .card {
    border-color: #d1d5db !important;
  }

  a {
    color: inherit !important;
    text-decoration: none !important;
  }

  .match-sheet-header {
    margin-bottom: 10px !important;
  }

  .match-sheet-hero {
    grid-template-columns: 1fr .55fr 1fr !important;
    padding: 12px !important;
  }

  .match-sheet-team,
  .match-sheet-vs {
    min-height: 92px !important;
    padding: 10px !important;
  }

  .match-sheet-team .flag {
    font-size: 28px !important;
  }

  .match-sheet-team strong,
  .match-sheet-vs strong {
    font-size: 20px !important;
  }

  .match-sheet-kpis {
    grid-template-columns: repeat(4, 1fr) !important;
  }

  .match-sheet-distribution,
  .match-sheet-scenarios {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  .match-sheet-print-footer {
    border-top: 1px solid #d1d5db;
    margin-top: 16px;
    padding-top: 10px;
  }
}
