/* MML v4.20.6.1
   News visual polish + admin Squad player identity/camera alignment.
   Frontend-only. No permissions or persistence logic is changed. */

/* =========================================================
   ADMIN SQUAD: keep photo + name aligned after v4.20.5.12
   ========================================================= */

/* v4.20.5.12 wrapped an existing photo link in a <span> so admins can
   replace an already uploaded image. Older generic .player-identity span
   rules then pushed that wrapper into the name column. Pin it back into
   the dedicated image column. */
.club-table .player-identity > .player-photo-admin-wrap-v420512,
.club-table .expired-contract-row .player-identity > .player-photo-admin-wrap-v420512{
  grid-column:1 !important;
  grid-row:1 !important;
  width:50px !important;
  height:50px !important;
  min-width:50px !important;
  min-height:50px !important;
  max-width:50px !important;
  max-height:50px !important;
  display:block !important;
  position:relative !important;
  align-self:center !important;
  justify-self:start !important;
  margin:0 !important;
  padding:0 !important;
  overflow:visible !important;
}

/* Restore the exact normal Squad image geometry inside the admin wrapper.
   This deliberately keeps the established 50×50 display size. */
.club-table .player-photo-admin-wrap-v420512 > .player-photo-link,
.club-table .player-photo-admin-wrap-v420512 > .player-photo-link:has(> .player-photo){
  width:50px !important;
  height:50px !important;
  min-width:50px !important;
  min-height:50px !important;
  max-width:50px !important;
  max-height:50px !important;
  flex:0 0 50px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  border-radius:4px !important;
  position:relative !important;
}
.club-table .player-photo-admin-wrap-v420512 > .player-photo-link > .player-photo{
  width:50px !important;
  height:50px !important;
  min-width:50px !important;
  min-height:50px !important;
  max-width:50px !important;
  max-height:50px !important;
  object-fit:cover !important;
  object-position:center center !important;
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  border-radius:4px !important;
}

/* Tiny camera badge, attached directly to the bottom-right of the image.
   It remains admin-only because the underlying upload control is only
   rendered for admins by app.js. */
.club-table .player-photo-admin-wrap-v420512 > .player-photo-replace-v420512{
  grid-column:auto !important;
  position:absolute !important;
  right:-2px !important;
  bottom:-2px !important;
  width:13px !important;
  height:13px !important;
  min-width:13px !important;
  min-height:13px !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  cursor:pointer !important;
  z-index:5 !important;
  overflow:visible !important;
}
.club-table .player-photo-admin-wrap-v420512 .player-photo-camera-v4164,
.club-table .player-photo-upload-v4164 .player-photo-camera-v4164{
  grid-column:auto !important;
  position:absolute !important;
  right:0 !important;
  bottom:0 !important;
  width:13px !important;
  height:13px !important;
  min-width:13px !important;
  min-height:13px !important;
  display:grid !important;
  place-items:center !important;
  padding:0 !important;
  margin:0 !important;
  border-radius:50% !important;
  border:1px solid rgba(117,224,150,.72) !important;
  background:#07130d !important;
  box-shadow:0 1px 4px rgba(0,0,0,.55) !important;
  font-size:7px !important;
  line-height:1 !important;
  color:#dffbea !important;
  transform:none !important;
  overflow:hidden !important;
}
.club-table .player-photo-admin-wrap-v420512 > .player-photo-replace-v420512:hover .player-photo-camera-v4164,
.club-table .player-photo-upload-v4164:hover .player-photo-camera-v4164{
  transform:scale(1.08) !important;
  border-color:#66e494 !important;
}

/* Missing-image upload control stays in the image column and uses the
   same small badge. */
.club-table .player-identity > .player-photo-upload-v4164{
  grid-column:1 !important;
  grid-row:1 !important;
  position:relative !important;
  justify-self:start !important;
  align-self:center !important;
  margin:0 !important;
}
.club-table .player-photo-upload-v4164 > .player-photo-camera-v4164{
  right:-1px !important;
  bottom:-1px !important;
}

/* Admin player name: remove generic button/pill styling and let long names
   use the entire text column without pushing later columns around. */
.club-table .player-identity > .squad-admin-name-v4185{
  grid-column:2 !important;
  grid-row:1 !important;
  min-width:0 !important;
  max-width:100% !important;
  width:100% !important;
  display:block !important;
  box-sizing:border-box !important;
  align-self:center !important;
  justify-self:stretch !important;
  appearance:none !important;
  -webkit-appearance:none !important;
  background:transparent !important;
  background-image:none !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  outline:0 !important;
  padding:0 !important;
  margin:0 !important;
  color:inherit !important;
  font:inherit !important;
  font-weight:800 !important;
  line-height:1.15 !important;
  text-align:left !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  cursor:pointer !important;
  text-decoration:underline !important;
  text-decoration-style:dotted !important;
  text-underline-offset:3px !important;
}
.club-table .player-identity > .squad-admin-name-v4185:hover{
  opacity:.86 !important;
  background:transparent !important;
}

/* Keep badges/status text in the text column without disturbing the first row. */
.club-table .player-identity > .expired-contract-label,
.club-table .player-identity > .player-inline-state{
  grid-column:2 !important;
  min-width:0 !important;
}

/* =========================================================
   NEWS: small desktop polish toward the approved mockup
   ========================================================= */

@media (min-width:1450px){
  /* Four competition cards in one row, matching the approved visual. */
  .mml-news-v4206 .mn-result-grid-v4206{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  }
  .mml-news-v4206 .mn-latest-panel-v4206{
    min-width:0;
  }
  .mml-news-v4206 .mn-result-card-v4206{
    min-width:0;
  }
}

/* Slightly denser headline/calendar area and more consistent card rhythm. */
.mml-news-v4206 .mn-headlines-panel-v4206,
.mml-news-v4206 .mn-calendar-panel-v4206{
  min-height:0 !important;
}
.mml-news-v4206 .mn-headline-strip-v4206{
  align-items:stretch;
}
.mml-news-v4206 .mn-result-card-v4206 > header{
  min-height:48px;
  box-sizing:border-box;
}
.mml-news-v4206 .mn-upcoming-row-v4206{
  min-height:45px;
  box-sizing:border-box;
}
.mml-news-v4206 .mn-market-card-v4206{
  min-width:0;
}

/* Preserve the existing responsive layouts below desktop widths. */
@media (max-width:1449px) and (min-width:801px){
  .mml-news-v4206 .mn-result-grid-v4206{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
