<template>
  <q-card class="metric-card" flat>
    <span class="metric-label">
      {{ label }}
    </span>

    <strong class="metric-value">
      {{ value }}
    </strong>

    <span class="metric-caption">
      {{ caption }}
    </span>
  </q-card>
</template>

<script setup>
defineProps({
  label: {
    type: String,
    required: true,
  },
  value: {
    type: String,
    required: true,
  },
  caption: {
    type: String,
    default: "",
  },
});
</script>

<style scoped lang="scss">
.metric-card {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 6px;
  min-height: 106px;
  padding: 16px;
  border: 1px solid #d9e3e7;
  border-top: 3px solid #b7f35a;
  border-radius: 12px;
  background: #f0f3f5;
  vertical-align: middle;
}

.metric-label {
  font-size: 12px;
  font-weight: 600;
  color: #657177;
}

.metric-value {
  font-size: 26px;
  line-height: 1.15;
  color: #1d2327;
}

.metric-caption {
  font-size: 11px;
  color: #7b878c;
}
</style>
