/* ── Variables ─────────────────────────────────────── */
:root {
  --color-bg: #0f1122;
  --color-surface: #1a1f3a;
  --color-profile: #4b3fd1;

  --color-work: #e8735a;
  --color-play: #4ec9d4;
  --color-study: #e8507a;
  --color-exercise: #4db87a;
  --color-social: #8b5fd4;
  --color-selfcare: #e8b84b;

  --text-primary: #ffffff;
  --text-muted: rgba(255, 255, 255, 0.45);
  --text-label: rgba(255, 255, 255, 0.6);

  --radius-card: 16px;
  --gap: 16px;

  --font: "Barlow", sans-serif;
}

/* ── Reset ─────────────────────────────────────────── */
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

/* ── Base ──────────────────────────────────────────── */
body {
  background: var(--color-bg);
  font-family: var(--font);
  color: var(--text-primary);
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 32px;
}

/* ── Layout ────────────────────────────────────────── */
.dashboard {
  display: flex;
  gap: var(--gap);
  max-width: 900px;
  width: 100%;
}

.dashboard__sidebar {
  flex: 0 0 200px;
}

.dashboard__grid {
  flex: 1;
  display: flex;
  flex-wrap: wrap;
  gap: var(--gap);
}

.dashboard__grid .card--stat {
  flex: 1 1 calc(33.333% - var(--gap));
}

/* ── Card base ─────────────────────────────────────── */
.card {
  background: var(--color-surface);
  border-radius: var(--radius-card);
  overflow: hidden;
  position: relative;
}

/* ── Profile card ──────────────────────────────────── */
.card--profile {
  background: var(--color-profile);
  display: flex;
  flex-direction: column;
  padding: 24px 20px 28px;
  height: 100%;
}

.profile__avatar {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: #c9a07a;
  overflow: hidden;
  margin-bottom: auto;
  flex-shrink: 0;
}

.profile__avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.profile__label {
  font-size: 13px;
  font-weight: 300;
  color: rgba(255, 255, 255, 0.7);
  margin-top: 24px;
  margin-bottom: 4px;
}

.profile__name {
  font-size: 32px;
  font-weight: 700;
  line-height: 1.1;
  margin-bottom: 28px;
}

.profile__nav {
  display: flex;
  flex-direction: column;
  gap: 8px;
  list-style: none;
}

.profile__nav-item {
  font-size: 15px;
  font-weight: 300;
  color: var(--text-muted);
  cursor: pointer;
}

.profile__nav-item--active {
  font-weight: 700;
  color: var(--text-primary);
}

/* ── Stat card ─────────────────────────────────────── */
.card--stat {
  display: flex;
  flex-direction: column;
  padding: 20px 20px 22px;
  min-height: 160px;
}

.card__accent {
  position: absolute;
  top: 0;
  right: 0;
  width: 90px;
  height: 80px;
  border-radius: 0 var(--radius-card) 0 60px;
  opacity: 0.9;
}

.card__accent-icon {
  position: absolute;
  top: 10px;
  right: 10px;
  font-size: 28px;
  opacity: 0.55;
}

.card__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  z-index: 1;
  margin-bottom: auto;
}

.card__title {
  font-size: 14px;
  font-weight: 700;
  color: var(--text-primary);
}

.card__menu {
  font-size: 18px;
  color: var(--text-muted);
  cursor: pointer;
  letter-spacing: 1px;
}

.card__value {
  font-size: 48px;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 6px;
}

.card__sub {
  font-size: 13px;
  font-weight: 300;
  color: var(--text-muted);
}

/* ── Accent colors per category ────────────────────── */
.card--work .card__accent {
  background: var(--color-work);
}
.card--play .card__accent {
  background: var(--color-play);
}
.card--study .card__accent {
  background: var(--color-study);
}
.card--exercise .card__accent {
  background: var(--color-exercise);
}
.card--social .card__accent {
  background: var(--color-social);
}
.card--selfcare .card__accent {
  background: var(--color-selfcare);
}

/* Estilos cards website Tablet */
@media screen and (max-width: 815px) {
  .dashboard {
    flex-direction: column;
  }
  .card--profile {
    text-align: center;
    align-items: center;
  }
}

/* Estilos cards website Mobile */
@media screen and (max-width: 575px) {
  .dashboard__grid .card--stat {
    flex: unset;
  }
  .card--stat {
    width: 100%;
  }
  .card__value {
    font-weight: lighter;
  }
}

/* Estilos Desktop */
/* .container {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100vh;
  background-color: blueviolet;
  color: #fff;
  font-family: "Pirata One", system-ui;
} */

/* Estilos Tablet */
/* @media screen and (max-width: 960px) {
  .container {
    background-color: orange;
    font-family: "Rubik Glitch", system-ui;
  }
} */

/* Estilos Mobile */
/* @media screen and (max-width: 520px) {
  .container {
    background-color: rgb(0, 157, 255);
    font-family: "Chicle", serif;
  }
} */