/* Ícones SVG (sprite em /icons.svg) */
.icon {
  display: inline-block;
  width: 1.25rem;
  height: 1.25rem;
  flex-shrink: 0;
  vertical-align: -0.2em;
  stroke: currentColor;
  fill: none;
}

.icon svg {
  display: block;
  width: 100%;
  height: 100%;
}

.icon-sm {
  width: 1rem;
  height: 1rem;
}

.icon-lg {
  width: 1.5rem;
  height: 1.5rem;
}

.icon-xl {
  width: 2rem;
  height: 2rem;
}

.btn-with-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}

.btn-with-icon.icon-only {
  padding: 0.55rem;
}

.card-title-row {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0 0 1rem;
}

.card-title-row h1,
.card-title-row h2 {
  margin: 0;
}

.page-title-row {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-weight: 700;
  font-size: 1.1rem;
}

.meta-label-row {
  display: flex;
  align-items: center;
  gap: 0.35rem;
}

.meta-label.meta-label-row {
  display: inline-flex;
}

.meta-label-row .icon {
  color: #008B98;
  width: 1rem;
  height: 1rem;
}

.card-title-row .icon {
  color: #2C4D5E;
}

.tab {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
}

.tab .icon {
  width: 1.1rem;
  height: 1.1rem;
}

.status-bar .icon {
  width: 1.15rem;
  height: 1.15rem;
  flex-shrink: 0;
}

.modal h2 {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.modal h2 .icon {
  color: #2C4D5E;
}

.rank-medal-wrap {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  vertical-align: middle;
}

.rank-medal-wrap .icon-medal {
  width: 1.35rem;
  height: 1.35rem;
}

.rank-medal-wrap.gold .icon-medal {
  color: #ca8a04;
}

.rank-medal-wrap.silver .icon-medal {
  color: #71717a;
}

.rank-medal-wrap.bronze .icon-medal {
  color: #c2410c;
}

.rank-num {
  font-weight: 700;
  font-size: 0.95rem;
}

.bar-row .rank-cell .icon-medal {
  width: 1.15rem;
  height: 1.15rem;
}

.bar-row .rank-cell .rank-medal-wrap.gold .icon-medal {
  color: #ca8a04;
}

.bar-row .rank-cell .rank-medal-wrap.silver .icon-medal {
  color: #71717a;
}

.bar-row .rank-cell .rank-medal-wrap.bronze .icon-medal {
  color: #c2410c;
}

label.meta-label-row {
  display: flex;
  align-items: center;
  gap: 0.35rem;
}

label.meta-label-row .icon {
  color: #008B98;
  width: 1rem;
  height: 1rem;
}
