/* I Will Pass NCLEX — Phase 6: diagnostic, personal learning path, weekly goals, smart recommendations. */
.diag-score { width: 7rem; height: 7rem; border-radius: 50%; border: 8px solid var(--mist); display: flex; flex-direction: column; align-items: center; justify-content: center; flex: none; }
.diag-score-n { font-family: var(--font-display); font-size: 1.7rem; font-weight: 700; line-height: 1; }
.diag-group { border-top-width: 4px; }
.diag-group.is-strength { border-top-color: var(--ok); }
.diag-group.is-strength h3 .bi { color: var(--ok); }
.diag-group.is-developing { border-top-color: #2F6FDB; }
.diag-group.is-developing h3 .bi { color: #2F6FDB; }
.diag-group.is-weakness { border-top-color: #D9A400; }
.diag-group.is-weakness h3 .bi { color: #B58900; }
.diag-group.is-gap { border-top-color: var(--bad); }
.diag-group.is-gap h3 .bi { color: var(--bad); }

.mypath { list-style: none; padding: 0; margin: 0; }
.mypath-step { position: relative; display: flex; gap: 0.9rem; padding-bottom: 0.9rem; }
.mypath-step::before { content: ""; position: absolute; left: 1.15rem; top: 2.5rem; bottom: 0; width: 2px; background: var(--line); }
.mypath-step:last-child::before { display: none; }
.mypath-step.is-done::before { background: var(--ok); }
.mypath-dot { position: relative; z-index: 1; flex: none; width: 2.4rem; height: 2.4rem; border-radius: 50%; display: grid; place-items: center; background: #fff; border: 2px solid #A9BBC6; color: var(--muted); font-size: 1.05rem; }
.mypath-step.is-done .mypath-dot { background: var(--ok); border-color: var(--ok); color: #fff; }
.mypath-step.is-current .mypath-dot { background: var(--ink); border-color: var(--ink); color: #fff; box-shadow: 0 0 0 4px var(--marker-soft); }
.mypath-card { flex: 1; min-width: 0; background: #fff; border: 1px solid var(--line); border-left: 4px solid var(--ac, var(--line)); border-radius: 12px; padding: 0.85rem 1rem; }
.mypath-step.is-current .mypath-card { border-color: var(--ink); border-left-color: var(--ac, var(--ink)); box-shadow: 0 4px 14px rgba(20, 33, 61, 0.07); }
.mypath-step.is-done .mypath-card { background: var(--paper); }
.mypath-step.is-next .mypath-card { opacity: 0.92; }

.insight { display: flex; gap: 0.7rem; align-items: flex-start; }
.insight > .bi { font-size: 1.25rem; line-height: 1.3; color: var(--teal); flex: none; }
.insight.is-good > .bi { color: var(--ok); }
.insight.is-warn > .bi { color: #B58900; }

.path-next-ico, .goal-ico { flex: none; width: 2.6rem; height: 2.6rem; border-radius: 12px; background: var(--mist); color: var(--teal); display: grid; place-items: center; font-size: 1.25rem; }
.goal-part { display: flex; gap: 0.8rem; align-items: center; }
.goal-mini { display: grid; grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr)); gap: 0.6rem 1.2rem; }
.goal-mini .progress { height: 6px; }
.goal-streak { display: inline-flex; align-items: center; gap: 0.4rem; background: var(--marker-soft); border: 1px solid var(--marker); border-radius: 99px; padding: 0.4rem 0.85rem; font-weight: 700; }
.goal-streak .bi { color: #D9480F; }
