/* Sistema de ícones PNG do Runas. Nenhum emoji é usado como ícone de interface. */
.runas-icon-image,
.runas-inline-icon,
.runas-label-icon {
  display: inline-block;
  width: 1em;
  height: 1em;
  flex: 0 0 auto;
  object-fit: contain;
  vertical-align: -0.14em;
}

.runas-inline-icon { margin: 0 .18em; }
.runas-label-icon { margin-right: .28em; }
.runas-icon-xs { width: 12px !important; height: 12px !important; }
.runas-icon-sm { width: 16px !important; height: 16px !important; }
.runas-icon-md { width: 20px !important; height: 20px !important; }
.runas-icon-lg { width: 28px !important; height: 28px !important; }
.runas-icon-xl { width: 34px !important; height: 34px !important; }

.runas-icon-gold {
  filter: invert(70%) sepia(92%) saturate(1417%) hue-rotate(2deg) brightness(97%) contrast(104%);
}
.runas-icon-white { filter: invert(1) grayscale(1) brightness(1.35); }
.runas-icon-black { filter: none; }

.runas-icon-stack {
  position: relative;
  display: inline-flex;
  width: 30px;
  height: 30px;
  align-items: center;
  justify-content: center;
}
.runas-icon-stack > img:first-child { width: 24px; height: 24px; }
.runas-icon-stack > img:last-child {
  position: absolute;
  right: -1px;
  bottom: -1px;
  width: 13px;
  height: 13px;
}

button > .runas-icon-image,
a > .runas-icon-image { pointer-events: none; }

.admin-top-tool > img,
.manage-create-icon-button > img,
.manage-archive-eye > img,
.manage-users-icon-button > img,
.runas-listas-v3-action > img {
  width: 28px;
  height: 28px;
  object-fit: contain;
}
.manage-archive-eye > img { width: 30px; height: 30px; }
.admin-delete-list-button > img { width: 31px; height: 31px; }

.admin-action-icon > img,
.admin-action-icon .runas-icon-stack {
  width: 27px;
  height: 27px;
  object-fit: contain;
}

.admin-modal-close > img,
.create-list-close > img,
.monthly-modal-close > img,
.finance-modal-close > img,
.payment-confirm-close > img,
.team-origin-close > img,
.absence-close > img,
.match-confirm-close > img,
.vote-modal-close > img,
.live-match-close > img {
  width: 22px;
  height: 22px;
  object-fit: contain;
}

.state-icon,
.state-hourglass {
  border: 0 !important;
  border-radius: 0 !important;
  width: 20px !important;
  height: 20px !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  font-size: 0 !important;
}
.state-icon::after { content: none !important; }
.state-icon img,
.state-hourglass img,
.legend-status-icon,
.participant-status-icon img,
.admin-person-status img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.waiting-header-icon img { width: 20px; height: 20px; object-fit: contain; }
.participant-hourglass img { width: 20px; height: 20px; object-fit: contain; }

.participant-tag,
.admin-person-label-chip,
.admin-label-preview > span {
  display: inline-flex;
  align-items: center;
  gap: 3px;
}
.participant-tag .runas-label-icon,
.admin-person-label-chip .runas-label-icon,
.admin-label-preview .runas-label-icon {
  width: 12px;
  height: 12px;
  margin: 0;
}

.admin-label-eye img { width: 18px; height: 18px; object-fit: contain; }
.admin-label-lock img { width: 16px; height: 16px; object-fit: contain; }
.admin-label-icon-select {
  display: grid;
  grid-template-columns: repeat(5, minmax(42px, 1fr));
  gap: 7px;
}
.admin-label-icon-choice {
  min-height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(218,157,17,.55);
  background: rgba(0,0,0,.3);
  cursor: pointer;
}
.admin-label-icon-choice img { width: 24px; height: 24px; }
.admin-label-icon-choice.is-selected { outline: 2px solid #dfa010; outline-offset: 1px; }

.finance-type-icon img,
.finance-direction-icon img,
.finance-more img,
.finance-toggle-icon img {
  width: 22px;
  height: 22px;
  object-fit: contain;
}
.finance-direction-icon { display: inline-flex; }
.finance-more,
[data-finance-toggle] { display: inline-flex; align-items: center; justify-content: center; }

.team-position-icon,
.team-player-avatar > img.runas-generic-avatar,
.live-player-avatar > img.runas-generic-avatar,
.voting-generic-avatar.runas-generic-avatar {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.button-chevron,
.runas-css-chevron {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg) translateY(-2px);
}
.completed-set-summary::after {
  content: '' !important;
  display: inline-block;
  width: 7px;
  height: 7px;
  margin-left: 7px;
  border-right: 2px solid #d99b12;
  border-bottom: 2px solid #d99b12;
  transform: rotate(45deg) translateY(-2px);
}

.manage-users-create-plus > img,
.finance-add-button b > img,
.team-origin-tool-plus > img,
.court-empty-plus > img,
.score-action b > img {
  width: 22px;
  height: 22px;
  object-fit: contain;
}

.profile-save-button > img,
.finance-save-button > img,
.monthly-submit-button > img,
.payment-confirm-presence-button > img,
.confirm-origin-button > img,
.confirm-substitution-button > img,
.live-match-save-button > img {
  width: 18px;
  height: 18px;
  margin-right: 7px;
  object-fit: contain;
  vertical-align: -3px;
}

@media (max-width: 760px) {
  .admin-top-tool > img,
  .manage-create-icon-button > img,
  .manage-archive-eye > img { width: 30px; height: 30px; }
}

/* Contraste dos ícones pretos fornecidos sobre superfícies escuras. */
.admin-top-tool-create > img,
.admin-top-tool-archive > img,
.manage-create-icon-button > img,
.manage-archive-eye > img,
.runas-listas-v3-action > img,
.admin-person-add-tag > img,
.admin-drag-handle > img,
.admin-wait-up > img,
.waiting-up > img,
.promoted-arrow > img,
.participant-owner-arrow > img,
.admin-guest-owner-arrow > img,
.runas-list-information-line > i img,
.runas-location-link img,
.team-position-icon,
.shuffle-symbol.runas-icon-image {
  filter: invert(70%) sepia(92%) saturate(1417%) hue-rotate(2deg) brightness(97%) contrast(104%);
}

.admin-delete-list-button > img,
.admin-person-trash > img {
  filter: invert(16%) sepia(99%) saturate(5796%) hue-rotate(355deg) brightness(100%) contrast(117%);
}

.runas-generic-avatar,
.participant-tag .runas-label-icon,
.admin-person-label-chip .runas-label-icon,
.admin-label-preview .runas-label-icon,
.finance-type-icon img.runas-icon-white {
  filter: invert(1) grayscale(1) brightness(1.35);
}

.admin-person-add-tag > img,
.admin-person-trash > img,
.admin-drag-handle > img,
.admin-wait-up > img,
.waiting-up > img,
.promoted-arrow > img,
.participant-owner-arrow > img,
.admin-guest-owner-arrow > img {
  width: 17px;
  height: 17px;
  object-fit: contain;
}

.runas-list-information-line > i img,
.runas-location-link img {
  width: 16px;
  height: 16px;
  object-fit: contain;
}

.live-match-save-game > img,
.vote-save-button > img,
.create-list-save > img {
  width: 19px;
  height: 19px;
  margin-right: 7px;
  object-fit: contain;
  vertical-align: -4px;
}

.live-match-save-game > img {
  filter: invert(70%) sepia(92%) saturate(1417%) hue-rotate(2deg) brightness(97%) contrast(104%);
}

.voting-pending-badge img,
.vote-modal-summary-line i img {
  width: 17px;
  height: 17px;
  object-fit: contain;
  vertical-align: -3px;
}

.court-server-icon {
  width: 13px;
  height: 13px;
  object-fit: contain;
  vertical-align: -2px;
}

.substitution-arrow img {
  width: 18px;
  height: 18px;
  object-fit: contain;
  filter: invert(70%) sepia(92%) saturate(1417%) hue-rotate(2deg) brightness(97%) contrast(104%);
}

.monthly-selected-member b img,
.monthly-member-option b img {
  width: 17px;
  height: 17px;
  object-fit: contain;
}

.manage-users-create-plus > img {
  width: 22px;
  height: 22px;
  object-fit: contain;
}

.finance-type-icon img.runas-icon-white { width: 22px; height: 22px; }
