.slip-return {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 2px 8px;
  align-items: center;
  margin: 7px 0 9px;
  padding: 8px 9px;
  border: 1px solid #c5decc;
  border-radius: 5px;
  background: #f2faf4;
}

.slip-return span,
.slip-return small {
  color: var(--muted);
  font-size: 9px;
  font-weight: 800;
}

.slip-return strong {
  color: var(--green);
  font-size: 14px;
  text-align: right;
}

.slip-return small {
  grid-column: 1 / -1;
}

.slip .slip-compact-return {
  grid-column: 2 / 5;
  grid-row: 2;
  justify-self: center;
  margin: 2px 0 0;
  color: var(--green);
  font-size: 9px;
  font-weight: 900;
  text-align: center;
  white-space: nowrap;
}

.shared-panel .slip .player,
.shared-panel .slip .score,
.shared-panel .slip .chevron {
  grid-row: 1;
}

.shared-panel .slip .chevron {
  grid-column: 5;
}

.shared-panel .slip:has(.slip-compact-return) .player,
.shared-panel .slip:has(.slip-compact-return) .chevron {
  grid-row: 1 / 3;
}

.slip .player small:empty {
  display: none;
}

/* Keep every player identity consistent across phone widths. */
.shared-panel .slip .player {
  display: grid;
  justify-items: center;
  align-content: center;
  gap: 2px;
  text-align: center;
}

.shared-panel .slip .player .club-badge {
  margin-right: 0;
}

.shared-panel .slip .player > strong {
  display: -webkit-box;
  width: 100%;
  min-height: 2.2em;
  overflow: hidden;
  line-height: 1.1;
  overflow-wrap: anywhere;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
/* A missed deadline is an outcome, not a pending action. */
.shared-panel .slip-wrap.missed{border-color:#d9837d;background:#fff8f7}
.shared-panel .slip-wrap.missed .slip{background:#fde5e2}
.shared-panel .slip-wrap.missed .player small{color:var(--red)}
.shared-panel .slip-wrap.missed .score{border-color:#e8aaa4;background:#fff2f0;color:var(--red)}

/* Gameweek route: present on Bets only, so the current stage is clear at a glance. */
.week-route{margin:0 0 8px;padding:7px 10px 5px;border:1px solid var(--line);border-radius:8px;background:#fffdf8}
.route{position:relative;display:grid;grid-template-columns:repeat(4,1fr);align-items:start;margin:0}
.route::before{position:absolute;top:8px;right:12.5%;left:12.5%;height:2px;background:#d8ded8;content:""}
.route>div{position:relative;z-index:1;display:grid;justify-items:center;gap:3px;color:#7b857f;font-size:8px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}
.route i{display:block;width:13px;height:13px;border:3px solid #fffdf8;border-radius:50%;background:#cdd5ce;box-shadow:0 0 0 1px #cdd5ce}
.route .complete{color:#397054}
.route .complete i{background:#6eb789;box-shadow:0 0 0 1px #6eb789}
.route .active{color:var(--green)}
.route .active i{width:15px;height:15px;margin-top:-1px;background:var(--green);box-shadow:0 0 0 2px #c9ead4}
.route span{line-height:1;white-space:nowrap}
