/* ===== Design Tokens ===== */
:root {
  --navy: #0A3356;
  --sum-blue: #CCE3F6;
  --sum-pink: #F4C2C2;
  --sum-orange: #F7E3AF;
  --sum-outer: #F2F2F2;
  --date-bg: #CCE3F6;
  --podium-grad: linear-gradient(180deg, rgba(0, 94, 217, 0) 36.22%, rgba(0, 94, 217, 0.44) 100%);
  --tbl-head: #0A3356;
  --tbl-row: #6898BD;
  --tbl-row-alt: #5E8FB5;
  --rank-blue: #00B4F0;
  --lime: #C4D82E;
}

html, body {
  width: 100%;
  height: 100%; 
  background: #FFFFFF;
}

body {
  font-family: 'Montserrat', sans-serif;
  color: var(--navy);
  overflow: hidden;
}

.page {
  max-width: 100%;
  transform-origin: top center;
  will-change: transform;
}

img {
  max-width: 100%;
  height: auto;
}

/* ===== Header ===== */
.header {
  min-height: clamp(44px, 4.5vw, 64px);
}

.logo-img {
  height: clamp(32px, 3.2vw, 52px);
  width: auto;
  object-fit: contain;
}

.main-title {
  font-family: "Bungee", serif;
  font-size: 48px;
  font-weight: 400;
  color: var(--navy);
}

.date-badge {
  display: inline-flex;
  align-items: center;
  gap: clamp(6px, 0.6vw, 10px);
  background: var(--date-bg);
  color: var(--navy);
  padding: clamp(5px, 0.55vw, 8px) clamp(10px, 1.2vw, 16px);
  border-radius: 999px;
  font-size: clamp(10px, 0.95vw, 14px);
  font-weight: 600;
  white-space: nowrap;
}

.cal-circle {
  display: flex;
  align-items: center;
  justify-content: center;
  width: clamp(22px, 2.2vw, 30px);
  height: clamp(22px, 2.2vw, 30px);
  background: var(--navy);
  border-radius: 50%;
  flex-shrink: 0;
}

.cal-icon {
  width: clamp(11px, 1.1vw, 16px);
  height: clamp(11px, 1.1vw, 16px);
}
.icon-img{
  width: 20px;
}

/* ===== Dashboard Body (Figma: trophy top-to-bottom, top inset, podium overlaps) ===== */
.dashboard-body {
  --trophy-w: clamp(130px, 17vw, 240px);
  --top-inset: clamp(145px, 18.5vw, 265px);
  --podium-inset: clamp(90px, 11.5vw, 165px);
  position: relative;
}

.trophy-col {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  z-index: 1;
  pointer-events: none;
}

.trophy-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: bottom left;
}

.dashboard-top {
  position: relative;
  z-index: 5;
  padding-left: var(--top-inset);
  margin-bottom: clamp(2px, 0.4vw, 6px);
}

.dashboard-podium {
  --p2-card-w: clamp(220px, 16vw, 260px);
  position: relative;
  z-index: 2;
  padding-left: var(--podium-inset);
  margin-top: clamp(14px, 1.8vw, 28px);
}

.score-col,
.summary-col {
  display: flex;
  flex-direction: column;
}

.block-title {
  font-family: 'Bungee', sans-serif;
  font-size: 20px;
  font-weight: 400;
  color: #000000;
  text-transform: uppercase;
  margin-bottom: clamp(6px, 0.7vw, 12px);
  line-height: 1;
}

/* Score */
.score-box {
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 9.58%, rgba(0, 0, 0, 0.08) 100%);
  border-radius: clamp(14px, 1.5vw, 22px);
  padding: clamp(10px, 1vw, 14px);
  display: flex;
  flex-direction: column;
  height: 100%;
}

.score-inner {
  background: #FFFFFF;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: clamp(10px, 1vw, 14px);
  padding: clamp(4px, 0.5vw, 8px) clamp(10px, 1vw, 14px);
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-evenly;
}

.score-row {
  font-family: "Bree Serif", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: clamp(4px, 0.5vw, 8px) 0;
}

.season {
  display: flex;
  align-items: center;
  gap: clamp(4px, 0.6vw, 10px);
  color: var(--navy);
  min-width: 0;
}

.s-icon {
  width: clamp(16px, 1.6vw, 24px);
  height: clamp(16px, 1.6vw, 24px);
  flex-shrink: 0;
}

.score-row .val {
  font-family: "Bree", serif;
  font-weight: 700;
}

/* Summary */
.summary-outer {
  background: var(--sum-outer);
  border-radius: clamp(14px, 1.5vw, 22px);
  padding: clamp(8px, 0.9vw, 14px);
  height: 100%;
  display: flex;
  flex-direction: column;
}

.summary-outer .summary-grid {
  flex: 1;
  height: 100%;
}

.summary-stack {
  display: flex;
  flex-direction: column;
  gap: clamp(6px, 0.75vw, 12px);
  height: 100%;
}

.summary-stack .sum-blue {
  flex: 1;
}

.summary-stack .sum-pink {
  flex: 1.4;
}

.sum-card {
  border-radius: clamp(8px, 0.9vw, 14px);
  padding: clamp(10px, 1vw, 16px);
  font-size: clamp(10px, 0.92vw, 13px);
  line-height: 1.5;
  color: #000000;
}

.sum-row {
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  font-weight: 500;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(6px, 0.8vw, 12px);
  padding: clamp(3px, 0.35vw, 6px) 0;
}

.sum-row span {
  flex: 1;
  min-width: 0;
}

.sum-row b {
  font-weight: 700;
  flex-shrink: 0;
}

.sum-blue  { background: var(--sum-blue); }
.sum-pink  { background: var(--sum-pink); }
.sum-orange { background: var(--sum-orange); }

/* ===== Podium ===== */
.podium {
  align-items: flex-end;
}

.podium > .col-md-4 {
  position: relative;
  z-index: 2;
}

.podium-card {
  position: relative;
  z-index: 2;
  background-color: #ffffff;
  background-image: var(--podium-grad);
  border-radius: clamp(12px, 1.5vw, 22px);
  padding: clamp(12px, 1.3vw, 20px) clamp(10px, 1.2vw, 18px);
  text-align: center;
  box-shadow: 0 3px 14px rgba(10, 51, 86, 0.1);
}

.p-rank1 {
  transform: translateY(clamp(-10px, -1.8vw, -28px));
}

@media (max-width: 991.98px) {
  .dashboard-body {
    min-height: auto;
    padding-top: clamp(170px, 36vw, 260px);
  }

  .trophy-col {
    top: 0;
    bottom: auto;
    height: clamp(160px, 34vw, 240px);
    left: 50%;
    transform: translateX(-50%);
    width: clamp(120px, 32vw, 180px);
  }

  .trophy-img {
    object-position: bottom center;
  }

  .dashboard-top {
    padding-left: 0;
  }

  .dashboard-podium {
    padding-left: 0;
    margin-top: clamp(12px, 1.5vw, 20px);
  }

  .podium > .col-md-4 {
    z-index: auto;
  }
}

@media (max-width: 767.98px) {
  .p-rank1 {
    transform: none;
  }
}

/* ===== Section 2: Podium cards (Figma design) ===== */
.dashboard-podium .podium {
  --bs-gutter-x: 0;
  gap: clamp(10px, 1.2vw, 18px);
  justify-content: flex-start;
  flex-wrap: nowrap;
}

.dashboard-podium .p2-card {
  position: relative;
  z-index: 2;
  width: 100%;
  background: linear-gradient(145deg, #FFFFFF 0%, #EAF3FC 42%, #A4CBF0 100%);
  border-radius: clamp(8px, 0.8vw, 12px) clamp(8px, 0.8vw, 12px) clamp(16px, 1.6vw, 22px) clamp(16px, 1.6vw, 22px);
  padding: clamp(10px, 1vw, 14px) clamp(10px, 1vw, 14px) clamp(12px, 1.1vw, 16px);
  box-shadow: 0 3px 14px rgba(10, 51, 86, 0.1);
  overflow: visible;
}

.dashboard-podium .p2-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: clamp(4px, 0.5vw, 8px);
  margin-bottom: clamp(6px, 0.7vw, 10px);
}

.dashboard-podium .p2-info {
  flex: 1;
  min-width: 0;
  text-align: left;
  padding-top: clamp(2px, 0.3vw, 4px);
}

.dashboard-podium .p2-name {
  font-size: clamp(9px, 0.85vw, 13px);
  font-weight: 800;
  color: #000000;
  text-transform: uppercase;
  line-height: 1.25;
  margin: 0 0 clamp(6px, 0.7vw, 10px);
}

.dashboard-podium .p2-reg-label {
  font-size: clamp(7px, 0.65vw, 10px);
  font-weight: 500;
  color: #333333;
  margin: 0 0 clamp(2px, 0.25vw, 4px);
  line-height: 1.2;
}

.dashboard-podium .p2-stats-row {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: clamp(8px, 1vw, 14px);
  max-width: 100%;
}

.dashboard-podium .p2-reg-num {
  font-size: clamp(20px, 2.2vw, 32px);
  font-weight: 800;
  color: #000000;
  line-height: 1;
  margin: 0;
}

.dashboard-podium .p2-avatar {
  display: block;
  width: clamp(58px, 6.5vw, 96px);
  height: clamp(58px, 6.5vw, 96px);
  object-fit: contain;
  flex-shrink: 0;
  margin-top: clamp(-8px, -1vw, -4px);
}

.dashboard-podium .p2-rank1 .p2-avatar {
  width: clamp(68px, 7.5vw, 110px);
  height: clamp(68px, 7.5vw, 110px);
  margin-top: clamp(-14px, -1.6vw, -8px);
}

.dashboard-podium .p2-score {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  flex-shrink: 0;
  padding-bottom: clamp(2px, 0.25vw, 4px);
}

.dashboard-podium .p2-score-label {
  font-size: clamp(7px, 0.65vw, 10px);
  font-weight: 700;
  color: #888888;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  line-height: 1.2;
}

.dashboard-podium .p2-score-num {
  font-size: clamp(18px, 2vw, 30px);
  font-weight: 800;
  color: #000000;
  line-height: 1;
}

.dashboard-podium .p2-progress-track {
  width: 100%;
  height: clamp(8px, 0.9vw, 12px);
  background: #F0E4C8;
  border-radius: 6px;
  overflow: hidden;
  margin-bottom: clamp(4px, 0.45vw, 6px);
}

.dashboard-podium .p2-progress-fill {
  height: 100%;
  background: linear-gradient(90deg, #F5A623, #E8873D);
  border-radius: 6px;
}

.dashboard-podium .p2-target-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
}

.dashboard-podium .p2-target {
  font-size: clamp(7px, 0.65vw, 10px);
  font-weight: 500;
  color: #555555;
}

.dashboard-podium .p2-pct {
  font-size: clamp(8px, 0.75vw, 11px);
  font-weight: 700;
  color: #333333;
}

.dashboard-podium .p2-rank1 {
  transform: translateY(clamp(-10px, -1.8vw, -28px));
}

@media (max-width: 991.98px) {
  .dashboard-podium .podium {
    flex-wrap: wrap;
    justify-content: center;
  }
}

@media (max-width: 767.98px) {
  .dashboard-podium .p2-rank1 {
    transform: none;
  }
}

.avatar-frame-img {
  display: block;
  width: clamp(70px, 9vw, 150px);
  height: clamp(70px, 9vw, 150px);
  object-fit: contain;
  margin: 0 auto clamp(6px, 0.8vw, 12px);
}

.p-rank1 .avatar-frame-img {
  width: clamp(85px, 10.5vw, 165px);
  height: clamp(85px, 10.5vw, 165px);
}

.p-name {
  font-size: clamp(10px, 1vw, 15px);
  font-weight: 800;
  color: var(--navy);
  margin-bottom: 4px;
}

.p-reg {
  font-size: clamp(9px, 0.8vw, 12px);
  font-weight: 500;
  margin-bottom: clamp(4px, 0.6vw, 8px);
}

.p-score-row {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: clamp(4px, 0.7vw, 10px);
  margin-bottom: clamp(6px, 0.8vw, 10px);
}

.p-score-label {
  font-size: clamp(10px, 0.95vw, 14px);
  font-weight: 700;
  color: var(--navy);
}

.p-score-num {
  font-size: clamp(24px, 3vw, 52px);
  font-weight: 800;
  color: var(--navy);
  line-height: 1;
}

.p-progress-track {
  width: 100%;
  max-width: min(200px, 90%);
  height: clamp(7px, 0.85vw, 12px);
  background: rgba(10, 51, 86, 0.12);
  border-radius: 6px;
  overflow: hidden;
  margin: 0 auto clamp(4px, 0.5vw, 8px);
}

.p-progress-fill {
  height: 100%;
  background: linear-gradient(90deg, #F5A623, #E8873D);
  border-radius: 6px;
}

.p-target-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
  max-width: min(200px, 90%);
  margin: 0 auto;
}

.p-target {
  font-size: clamp(8px, 0.75vw, 11px);
  font-weight: 500;
  color: #5A7A94;
}

.p-pct {
  font-size: clamp(9px, 0.8vw, 12px);
  font-weight: 700;
  color: var(--navy);
}

/* ===== Tables ===== */
.tbl-wrap {
  border-radius: clamp(10px, 1vw, 16px);
  overflow-x: hidden;
  overflow-y: auto;
  box-shadow: 0 3px 12px rgba(10, 51, 86, 0.1);
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 255, 255, .55) transparent;
}

.tbl-wrap::-webkit-scrollbar {
  width: 2px;
}

.tbl-wrap::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, .55);
  border-radius: 999px;
}

.lb-table thead th {
  position: sticky;
  top: 0;
  z-index: 2;
  background: var(--tbl-head);
}

.lb-table {
  width: 100%;
  table-layout: auto;
  border-collapse: collapse;
  margin-bottom: 0;
  --bs-table-bg: transparent;
  --bs-table-color: #fff;
}

/* Fixed column widths — prevents stretch on large screens */
.lb-table .col-rank    { width: 8%; }
.lb-table .col-name    { width: 18%; }
.lb-table .col-target  { width: 9%; }
.lb-table .col-progress{ width: 16%; }
.lb-table .col-call    { width: 14%; }
.lb-table .col-reg     { width: 20%; }
.lb-table .col-score   { width: 10%; }

.lb-table thead tr {
  background: var(--tbl-head);
}

.lb-table thead th {
  color: #fff;
  font-weight: 700;
  font-size: clamp(8px, 0.72vw, 11px);
  letter-spacing: 0.2px;
  padding: clamp(8px, 0.8vw, 12px) clamp(4px, 0.5vw, 8px);
  text-align: center;
  vertical-align: middle;
  border: none;
  white-space: nowrap;
}

.lb-table tbody tr {
  background: var(--tbl-row);
}

.lb-table tbody tr:nth-child(even) {
  background: var(--tbl-row-alt);
}

.lb-table tbody td {
  padding: clamp(8px, 0.8vw, 12px) clamp(4px, 0.5vw, 8px);
  text-align: center;
  font-weight: 600;
  font-size: clamp(9px, 0.78vw, 12px);
  color: #fff;
  vertical-align: middle;
  border: none;
}

.lb-table .td-name {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 0;
}

.r-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: clamp(24px, 2.2vw, 32px);
  height: clamp(24px, 2.2vw, 32px);
  background: var(--rank-blue);
  color: #fff;
  font-weight: 800;
  font-size: clamp(11px, 1vw, 14px);
  border-radius: clamp(4px, 0.5vw, 7px);
}

.t-prog {
  display: inline-flex;
  align-items: center;
  gap: clamp(3px, 0.4vw, 6px);
  justify-content: center;
  max-width: 100%;
}

.t-bar {
  width: clamp(36px, 4vw, 58px);
  height: clamp(5px, 0.6vw, 8px);
  background: rgba(8, 40, 64, 0.45);
  border-radius: 4px;
  overflow: hidden;
  flex-shrink: 0;
}

.t-fill {
  height: 100%;
  background: linear-gradient(90deg, #F5A623, var(--lime));
  border-radius: 4px;
}

.dashboard-podium .p2-progress-fill,
.t-fill {
  transform-origin: left center;
  animation: progress-grow 1.4s cubic-bezier(.22, 1, .36, 1) both;
}

.podium > div:nth-child(2) .p2-progress-fill {
  animation-delay: .15s;
}

.podium > div:nth-child(3) .p2-progress-fill {
  animation-delay: .3s;
}

@keyframes progress-grow {
  from { transform: scaleX(0); }
  to { transform: scaleX(1); }
}

.header {
  animation: page-fade-down .7s ease-out both;
}

.trophy-col {
  animation: trophy-enter .9s .1s cubic-bezier(.22, 1, .36, 1) both;
}

.dashboard-top > .row {
  animation: page-fade-down .7s .15s ease-out both;
}

.podium > div {
  animation: card-enter .7s cubic-bezier(.22, 1, .36, 1) both;
}

.podium > div:nth-child(1) { animation-delay: .25s; }
.podium > div:nth-child(2) { animation-delay: .38s; }
.podium > div:nth-child(3) { animation-delay: .51s; }

.tables-row > div {
  animation: card-enter .7s .62s cubic-bezier(.22, 1, .36, 1) both;
}

.score-box,
.sum-card,
.dashboard-podium .p2-card {
  transition: box-shadow .25s ease, filter .25s ease;
}

.score-box:hover,
.sum-card:hover,
.dashboard-podium .p2-card:hover {
  filter: brightness(1.025);
  box-shadow: 0 8px 22px rgba(10, 51, 86, .16);
}

.lb-table tbody tr {
  transition: filter .2s ease;
}

.lb-table tbody tr:hover {
  filter: brightness(1.08);
}

@keyframes page-fade-down {
  from {
    opacity: 0;
    transform: translateY(-14px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes trophy-enter {
  from {
    opacity: 0;
    translate: -28px 0;
    scale: .94;
  }
  to {
    opacity: 1;
    translate: 0 0;
    scale: 1;
  }
}

@keyframes card-enter {
  from {
    opacity: 0;
    transform: translateY(22px) scale(.97);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@media (prefers-reduced-motion: reduce) {
  .header,
  .trophy-col,
  .dashboard-top > .row,
  .podium > div,
  .tables-row > div,
  .dashboard-podium .p2-progress-fill,
  .t-fill {
    animation: none;
  }
}

.t-prog span {
  font-size: clamp(8px, 0.72vw, 11px);
  font-weight: 700;
  white-space: nowrap;
}

.call-wrap {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  justify-content: center;
  white-space: nowrap;
}

.ph-icon {
  width: clamp(11px, 1vw, 14px);
  height: clamp(11px, 1vw, 14px);
  flex-shrink: 0;
}

.t-score {
  color: var(--lime) !important;
  font-weight: 800 !important;
  font-size: clamp(10px, 0.95vw, 14px) !important;
}

/* ===== Reference-layout calibration (1024 × 728 design) ===== */
@media (min-width: 992px) {
  .page {
    padding: 1.55vw 2.25vw 2.5vw !important;
  }

  .header {
    min-height: 3.9vw;
    margin-bottom: .25vw !important;
  }

  .logo-img {
    width: 10vw; 
    object-fit: contain;
    object-position: left center;
  }

  .main-title {
    font-size: 3.35vw;
    line-height: 1;
    letter-spacing: .02em;
    transform: translateY(-.3vw);
  }

  .date-badge {
    gap: .65vw;
    padding: .48vw 1.18vw .48vw .62vw;
    font-size: .8vw;
    min-height: 3vw;
    transform: translateY(-.3vw);
  }

  .cal-circle {
    width: 2.05vw;
    height: 2.05vw;
  }

  .cal-icon {
    width: 1.05vw;
    height: 1.05vw;
  }

  .dashboard-body {
    --top-inset: 25.45vw;
    --podium-inset: 16.1vw;
    min-height: 45.55vw;
    margin-bottom: 1.15vw !important;
  }

  .trophy-col {
    top: 1.2vw;
    bottom: auto;
    width: 37.5vw;
    height: 68vw;
  }

  .trophy-img {
    width: 100%;
    height: 100%;
    object-position: top left;
  }

  .dashboard-top {
    padding-left: var(--top-inset);
    margin-bottom: 0;
  }

  .dashboard-top > .row {
    display: grid;
    grid-template-columns: 28.4vw 39.1vw;
    gap: .2vw;
    margin: 0;
  }

  .dashboard-top > .row > [class*="col-"] {
    width: auto;
    padding: 0;
  }

  .block-title {
    margin: 0 0 .9vw .85vw;
    font-size: 1.36vw;
    line-height: 1;
  }

  .score-box,
  .summary-outer {
    height: 15.75vw;
    min-height: 15.75vw;
    flex-grow: 0 !important;
  }

  .score-box {
    border-radius: 1.05vw;
    padding: .9vw 1vw;
    justify-content: center;
  }

  .score-row {
    min-height: 3.55vw;
    padding: .22vw 0;
    font-size: 1.55vw;
    line-height: 1;
  }

  .icon-img {
    width: 1.48vw;
    height: 1.78vw;
    object-fit: contain;
  }

  .season {
    gap: .9vw;
  }

  .score-row .val {
    font-family: "Bree Serif", serif;
    font-size: 1.36vw;
  }

  .summary-outer {
    padding: .72vw;
    border-radius: 1vw;
  }

  .summary-outer .summary-grid {
    --bs-gutter-x: .85vw;
    --bs-gutter-y: 0;
  }

  .summary-stack {
    gap: .72vw;
  }

  .sum-card {
    border-radius: .65vw;
    padding: .62vw .8vw;
  }

  .sum-row {
    padding: .22vw 0;
    font-size: 0.9vw;
    line-height: 1.25;
  }

  .sum-row b {
    font-size: 1.15vw;
  }

  .dashboard-podium {
    padding-left: var(--podium-inset);
    margin-top: 9.05vw;
  }

  .dashboard-podium .podium {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 2.15vw;
    margin: 0;
    align-items: end;
  }

  .dashboard-podium .podium > .col-md-4 {
    width: auto;
    padding: 0;
  }

  .dashboard-podium .p2-card {
    height: 17.3vw;
    padding: 3.05vw 1.65vw 1.65vw;
    border-radius: .75vw .75vw 1.05vw 1.05vw;
    background: linear-gradient(145deg, #FFFFFF 0%, #EAF3FC 38%, #8DBDEA 100%);
    box-shadow: none;
  }

  .dashboard-podium .p2-rank1 {
    height: 18.3vw;
    padding-top: 2.05vw;
    transform: translateY(-1vw);
  }

  .dashboard-podium .p2-head {
    display: block;
    margin: 0;
  }

  .dashboard-podium .p2-info {
    padding: 0;
  }

  .dashboard-podium .p2-avatar {
    position: absolute;
    z-index: 3;
    top: -2.35vw;
    right: 2.65vw;
    width: 8.75vw;
    height: 8.75vw;
    margin: 0;
    aspect-ratio: 1;
    border-radius: 50%;
    background: #DDEAF2;
    object-fit: contain;
  }

  .dashboard-podium .p2-rank1 .p2-avatar {
    top: -7.45vw;
    right: 1.7vw;
    width: 13.2vw;
    height: 13.2vw;
    margin: 0;
  }

  .dashboard-podium .p2-name {
    width: 6.5vw;
    margin: 0 0 1.25vw;
    color: #001B2E;
    font-size: 1.8vw;
    line-height: .82;
    letter-spacing: -.045em;
  }

  .dashboard-podium .p2-name small {
    display: block;
    margin-top: .35vw;
    font-size: .78vw;
    line-height: 1;
    letter-spacing: 0;
  }

  .dashboard-podium .p2-reg-label,
  .dashboard-podium .p2-score-label {
    margin: 0 0 .45vw;
    color: var(--navy);
    font-size: .9vw;
    font-weight: 500;
  }

  .dashboard-podium .p2-stats-row {
    align-items: end;
  }

  .dashboard-podium .p2-reg-num,
  .dashboard-podium .p2-score-num {
    color: #020B0F;
    font-size: 3.05vw;
    line-height: .9;
  }

  .dashboard-podium .p2-score {
    align-items: flex-end;
    padding: 0;
  }

  .dashboard-podium .p2-progress-track {
    position: absolute;
    left: 1.65vw;
    right: 1.65vw;
    bottom: 3.55vw;
    width: auto;
    height: .72vw;
    margin: 0;
    background: #F7E2B8;
  }

  .dashboard-podium .p2-progress-fill {
    background: #E99A00;
  }

  .dashboard-podium .p2-target-row {
    position: absolute;
    left: 1.65vw;
    right: 1.65vw;
    bottom: 1.65vw;
    width: auto;
  }

  .dashboard-podium .p2-target,
  .dashboard-podium .p2-pct {
    color: var(--navy);
    font-size: .78vw;
    font-weight: 700;
  }

  .tables-row {
    --bs-gutter-x: 2.15vw;
    --bs-gutter-y: 0;
    margin-left: -1.075vw;
    margin-right: -1.075vw;
  }

  .tbl-wrap {
    height: 14.65vw;
    border-radius: 1.1vw;
    box-shadow: none;
  }

  .lb-table {
    height: auto;
    min-height: 100%;
  }

  .lb-table thead {
    height: 4.05vw;
  }

  .lb-table tbody tr {
    height: 3.53vw;
  }

  .lb-table thead th {
    padding: .55vw .34vw;
    font-size: .66vw;
    line-height: 1.15;
    white-space: normal;
  }

  .lb-table tbody td {
    padding: .45vw .34vw;
    font-size: .78vw;
    line-height: 1;
  }

  .lb-table .td-name {
    text-align: left;
    font-weight: 700;
  }

  .r-badge {
    width: 3.35vw;
    height: 2.75vw;
    border-radius: .28vw;
    font-size: 1.12vw;
  }

  .t-bar {
    width: 4.15vw;
    height: .6vw;
  }

  .t-prog span {
    font-size: .64vw;
  }

  .ph-icon {
    width: .85vw;
    height: .85vw;
  }

  .call-wrap,
  .t-score {
    font-size: 1.1vw !important;
    font-weight: 800;
  }
}
