/* ================================================================
   dashboard.css — my.edaith dashboard (login + completions listing)
   Extends main.css; same palette and sharp-edged buttons.
   ================================================================ */

.dashboard-main {
  width: 100%;
  max-width: 720px;
  margin: 0 auto;
  padding: 2rem 1.25rem 4rem;
  flex: 1;
}

/* ── Login view ──────────────────────────────────────────────── */

.dash-login {
  max-width: 460px;
}

.dash-login__form {
  margin-top: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.dash-login__note {
  margin-top: 1.25rem;
  font-size: 0.85rem;
  color: #555;
}

.dash-login__status {
  margin-top: 1rem;
  font-size: 0.95rem;
}

.dash-login__status--error {
  color: #b00020;
}

/* ── Signed-in header row ────────────────────────────────────── */

.dash-user {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 1rem;
  flex-wrap: wrap;
  margin-bottom: 2rem;
}

.dash-user__email {
  font-size: 0.9rem;
  color: #555;
}

/* ── Listing ─────────────────────────────────────────────────── */

.dash-group {
  margin-bottom: 2.5rem;
}

.dash-group__title {
  font-size: 1.1rem;
  font-weight: 700;
  margin-bottom: 0.75rem;
}

.dash-entry {
  display: block;
  border: 1px solid #e0e0e0;
  background: #fff;
  padding: 1rem 1.25rem;
  margin-bottom: 0.75rem;
  color: inherit;
}

.dash-entry--active:hover {
  border-color: #006d77;
}

/* The results link fills the card body; the pathway link sits below it. */
.dash-entry__main {
  display: block;
  color: inherit;
}

a.dash-entry__main:hover {
  text-decoration: none;
}

.dash-entry__row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 1rem;
  flex-wrap: wrap;
}

.dash-entry__date {
  font-weight: 600;
}

.dash-entry__score {
  color: #006d77;
  font-weight: 700;
}

.dash-entry__status {
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.dash-entry--active .dash-entry__status {
  color: #006d77;
}

.dash-entry--expired {
  background: #f6f6f6;
  color: #777;
}

.dash-entry--expired .dash-entry__score {
  color: #777;
}

.dash-entry__hint {
  font-size: 0.85rem;
  color: #777;
  margin-top: 0.25rem;
}

/* Score movement vs the previous completion of the same profile. */
.dash-entry__delta {
  font-size: 0.8rem;
  font-weight: 700;
  white-space: nowrap;
}

.dash-entry__delta--up { color: #076d77; }
.dash-entry__delta--down { color: #d76427; }
.dash-entry__delta--flat { color: #777; font-weight: 400; }

/* ── Momentum row: pathway link + actions count ──────────────── */

.dash-entry__meta {
  display: flex;
  align-items: baseline;
  gap: 1.25rem;
  flex-wrap: wrap;
  margin-top: 0.65rem;
  padding-top: 0.65rem;
  border-top: 1px solid #eeeee8;
}

.dash-entry__pathway {
  font-size: 0.85rem;
  font-weight: 700;
  color: #076d77;
}

.dash-entry__pathway:hover {
  text-decoration: underline;
}

/* Certificate download, shown once the pathway is complete. */
.dash-entry__certificate {
  font-size: 0.85rem;
  font-weight: 700;
  color: #076d77;
}

.dash-entry__certificate:hover {
  text-decoration: underline;
}

.dash-entry__certificate.is-busy {
  opacity: 0.6;
  pointer-events: none;
}

/* ── Empty state ─────────────────────────────────────────────── */

.dash-empty {
  border: 1px solid #e0e0e0;
  background: #fcfad9;
  padding: 1.25rem;
  font-size: 0.95rem;
}

/* The wrong-email state. Almost everyone who sees this is the right person
   signed in as the wrong address, so it is laid out to be read and acted on,
   not skimmed as a warning notice. */
.dash-empty__title {
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.35;
  color: #0a0a0a;
  margin-bottom: 0.75rem;
}

.dash-empty__text {
  line-height: 1.6;
  color: #2a2a2a;
  margin-bottom: 0.7rem;
  max-width: 62ch;
}

.dash-empty__retry {
  margin-top: 0.5rem;
}

.dash-empty__note {
  margin-top: 1.1rem;
  font-size: 0.85rem;
  line-height: 1.55;
  color: #666;
  max-width: 62ch;
}
