/* ============================================================
   GoPokerPro — the student dashboard's "My Courses" list (2026-10-25)
   ------------------------------------------------------------
   Loaded on the LifterLMS account page only (inc/enqueue.php), after the brand tokens. Every rule
   is scoped to .gpp-dash (the list and its empty state, inc/dashboard.php), plus one block for
   LifterLMS's page numbers in the dashboard (nav.llms-pagination, e.g. under My Grades), which
   showed as a bulleted list. Nothing else on the dashboard is touched, so LifterLMS's tabs, the
   founder's custom dashboard CSS and boxes such as gpp-ledger's [gpp_course_credits] keep their
   own look.
   The .llms-student-dashboard prefix outranks the custom CSS's "dashboard a { color }" rule; the
   list resets carry !important because Divi styles content lists through an id (#left-area ul).
   Brand: square, tokens only, Lexend, the /courses CTA family (gold Start/Continue, green Review).
   ============================================================ */

.llms-student-dashboard .gpp-dash,
.llms-student-dashboard .gpp-dash * { box-sizing: border-box; border-radius: 0; }

.llms-student-dashboard ul.gpp-dash-list {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex;
  flex-direction: column;
  gap: 10px;
  font-family: var(--gpp-font);
}
.llms-student-dashboard ul.gpp-dash-list > li.gpp-dash-course {
  list-style: none !important;
  margin: 0 !important;
  padding: 14px 18px 14px 14px !important;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  column-gap: 18px;
  background: var(--gpp-card);
  border: 1px solid var(--gpp-line);
  border-left: 3px solid var(--gpp-orange);
  color: var(--gpp-ink);
}
.llms-student-dashboard .gpp-dash-course.is-done { border-left-color: var(--gpp-green); }
.llms-student-dashboard .gpp-dash-course.is-closed { border-left-color: var(--gpp-lock-border); }
.llms-student-dashboard .gpp-dash-course::before { content: none !important; }

/* The position ring (the same SVG as /courses; its colours are set here because curriculum.css
   only loads on /courses). */
.llms-student-dashboard .gpp-dash .gpp-dash-art { display: block; line-height: 0; }
.llms-student-dashboard .gpp-dash .art { font-family: var(--gpp-font-display); }
.llms-student-dashboard .gpp-dash .art .felt { fill: var(--gpp-soft); stroke: var(--gpp-line); stroke-width: 2.5; }
.llms-student-dashboard .gpp-dash .art .s-hero { fill: var(--gpp-orange); }
.llms-student-dashboard .gpp-dash .art .s-sel { fill: var(--gpp-card); stroke: var(--gpp-orange); stroke-width: 2.5; }
.llms-student-dashboard .gpp-dash .art .s-dim { fill: var(--gpp-card); stroke: rgba(255, 255, 255, 0.25); stroke-width: 2.5; }
.llms-student-dashboard .gpp-dash .art .t-hero { fill: var(--gpp-bg); }
.llms-student-dashboard .gpp-dash .art .t-sel { fill: var(--gpp-orange); }
.llms-student-dashboard .gpp-dash .art .t-dim { fill: var(--gpp-seat-dim); }

.llms-student-dashboard .gpp-dash .gpp-dash-body { min-width: 0; }
.llms-student-dashboard .gpp-dash a.gpp-dash-title {
  display: block;
  color: var(--gpp-white);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.3;
  text-decoration: none;
  overflow-wrap: anywhere;
}
.llms-student-dashboard .gpp-dash a.gpp-dash-title:hover { color: var(--gpp-orange); }
.llms-student-dashboard .gpp-dash .gpp-dash-meta { margin-top: 3px; font-size: 12.5px; color: var(--gpp-dim); }
.llms-student-dashboard .gpp-dash .gpp-dash-note { margin-top: 8px; font-size: 13px; color: var(--gpp-ink-2); }
.llms-student-dashboard .gpp-dash .gpp-dash-prog { display: flex; align-items: center; gap: 10px; margin-top: 10px; max-width: 380px; }
.llms-student-dashboard .gpp-dash .gpp-dash-bar { flex: 1 1 auto; height: 5px; background: rgba(255, 255, 255, 0.09); overflow: hidden; }
.llms-student-dashboard .gpp-dash .gpp-dash-bar > i { display: block; height: 100%; background: var(--gpp-orange); }
.llms-student-dashboard .gpp-dash-course.is-done .gpp-dash-bar > i { background: var(--gpp-green); }
.llms-student-dashboard .gpp-dash .gpp-dash-pct { flex: 0 0 auto; font-size: 11.5px; font-weight: 600; letter-spacing: 0.02em; color: var(--gpp-dim); font-variant-numeric: tabular-nums; }
.llms-student-dashboard .gpp-dash-course.is-done .gpp-dash-pct { color: var(--gpp-green); }

/* Start / Continue / Review / Open again / See all courses — the /courses CTA family. */
.llms-student-dashboard .gpp-dash a.gpp-dash-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 132px;
  padding: 10px 16px;
  border: 1px solid var(--gpp-orange);
  background: var(--gpp-orange);
  color: var(--gpp-card);
  font-family: var(--gpp-font);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.1;
  white-space: nowrap;
  text-decoration: none;
  transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}
.llms-student-dashboard .gpp-dash-course.is-done a.gpp-dash-cta { background: transparent; color: var(--gpp-green); border-color: rgba(34, 197, 94, 0.45); }
.llms-student-dashboard .gpp-dash-course.is-closed a.gpp-dash-cta { background: transparent; color: var(--gpp-orange); border-color: rgba(246, 166, 100, 0.55); }
.llms-student-dashboard .gpp-dash a.gpp-dash-cta:hover { background: var(--gpp-white); border-color: var(--gpp-white); color: var(--gpp-card); }
.llms-student-dashboard .gpp-dash a.gpp-dash-cta:focus-visible,
.llms-student-dashboard .gpp-dash a.gpp-dash-title:focus-visible { outline: 2px solid var(--gpp-orange); outline-offset: 2px; }

/* No courses yet. */
.llms-student-dashboard .gpp-dash-empty { font-family: var(--gpp-font); }
.llms-student-dashboard .gpp-dash-empty p { margin: 0 0 14px; padding: 0; font-size: 15px; }

/* LifterLMS's page numbers in the dashboard (My Grades and other paged tabs): a row of square
   boxes, the current page gold, in place of a bulleted list. */
.llms-student-dashboard nav.llms-pagination ul.page-numbers {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  border: 0;
  font-family: var(--gpp-font);
}
.llms-student-dashboard nav.llms-pagination ul.page-numbers li { list-style: none !important; margin: 0 !important; padding: 0 !important; border: 0; }
.llms-student-dashboard nav.llms-pagination ul.page-numbers li::before { content: none !important; }
.llms-student-dashboard nav.llms-pagination .page-numbers a,
.llms-student-dashboard nav.llms-pagination .page-numbers span,
.llms-student-dashboard nav.llms-pagination a.page-numbers,
.llms-student-dashboard nav.llms-pagination span.page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  height: 36px;
  padding: 0 10px;
  border: 1px solid var(--gpp-line);
  border-radius: 0;
  background: transparent;
  color: var(--gpp-ink);
  font-size: 14px;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
}
.llms-student-dashboard nav.llms-pagination span.page-numbers.current { background: var(--gpp-orange); border-color: var(--gpp-orange); color: var(--gpp-card); }
.llms-student-dashboard nav.llms-pagination a.page-numbers:hover { border-color: var(--gpp-orange); color: var(--gpp-orange); }

/* Phones: ring + title on top, the button full width under them. */
@media (max-width: 599px) {
  .llms-student-dashboard ul.gpp-dash-list > li.gpp-dash-course {
    grid-template-columns: auto minmax(0, 1fr);
    row-gap: 12px;
    column-gap: 14px;
    padding: 14px !important;
  }
  .llms-student-dashboard .gpp-dash .gpp-dash-art svg { width: 64px; height: auto; }
  .llms-student-dashboard .gpp-dash-course a.gpp-dash-cta { grid-column: 1 / -1; width: 100%; min-height: 44px; }
  .llms-student-dashboard .gpp-dash .gpp-dash-prog { max-width: none; }
}
