.course-card{border:1px solid var(--color-border);border-radius:var(--brand-radius,.6rem);background:var(--color-surface);padding:1.1rem}.course-card__code{letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent);font-size:.75rem}.course-card__title{margin:.35rem 0 .5rem;font-size:1.05rem}.course-card__summary{color:var(--color-text-secondary);margin:0 0 1rem;font-size:.92rem}.assessment__submit{border-color:var(--color-accent);color:var(--color-accent)}.course-detail__header{margin-bottom:1.25rem}.lesson-item{border:1px solid var(--color-border);border-radius:var(--brand-radius,.5rem);align-items:center;gap:.75rem;padding:.75rem .9rem;display:flex}.lesson-item__position{color:var(--color-text-muted);font-variant-numeric:tabular-nums}.lesson-item__format{text-transform:uppercase;letter-spacing:.06em;color:var(--color-accent);font-size:.72rem}.lesson-item__open{text-align:left;margin-right:auto}.assessment__progress{color:var(--color-text-secondary);margin-bottom:.75rem;font-size:.85rem}.item__body{gap:.5rem;display:grid}.item__option{border:1px solid var(--color-border);border-radius:var(--brand-radius,.5rem);width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;align-items:flex-start;gap:.6rem;padding:.7rem .9rem;display:flex}.item__option[aria-pressed=true]{border-color:var(--color-brand)}.item__option-key{color:var(--color-accent);font-weight:600}.item__free{background:var(--color-surface);width:100%;min-height:7rem;color:inherit;border:1px solid var(--color-border);border-radius:var(--brand-radius,.5rem);font:inherit;padding:.7rem}.item__limit{color:var(--color-text-muted);font-size:.8rem}.assessment__nav{gap:.5rem;margin-top:1.25rem;display:flex}.assessment-outcome{border:1px solid var(--color-border);border-radius:var(--brand-radius,.6rem);padding:1.25rem}.assessment-outcome__score{color:var(--color-accent);font-size:2rem}.progress-list{gap:var(--space-md);margin:0;padding:0;list-style:none;display:grid}.progress-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-md)}.progress-card__name{font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--color-text-primary);margin:0}.progress-card__code{margin-top:var(--space-2xs);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-wide);color:var(--color-text-muted);display:block}.progress-card__value{margin:var(--space-sm) 0 0;font-size:var(--text-3xl);font-weight:var(--weight-semibold);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);color:var(--color-text-primary)}.progress-card__value--unknown{font-size:var(--text-lg);font-weight:var(--weight-regular);color:var(--color-text-secondary)}.progress-card__delta{margin:var(--space-2xs) 0 var(--space-sm);font-size:var(--text-sm);color:var(--color-text-secondary)}.progress-card__glyph{font-size:var(--text-xs)}.progress-card__delta[data-trend=up] .progress-card__glyph{color:var(--color-success)}.progress-card__delta[data-trend=down] .progress-card__glyph{color:var(--color-error)}.progress-card__delta[data-trend=flat] .progress-card__glyph{color:var(--color-text-muted)}.sparkline{max-width:100%;height:auto;display:block;overflow:visible}.sparkline__line{fill:none;stroke:var(--color-text-secondary);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.sparkline__now{fill:var(--color-accent);stroke:var(--color-surface);stroke-width:2px}.progress-card__detail{margin-top:var(--space-sm);font-size:var(--text-sm)}.progress-card__detail summary{cursor:pointer;color:var(--color-text-secondary)}.progress-table{width:100%;margin-top:var(--space-sm);border-collapse:collapse;font-variant-numeric:tabular-nums}.progress-table th,.progress-table td{padding:var(--space-xs) 0;text-align:left;border-bottom:1px solid var(--color-divider)}.progress-table th{font-size:var(--text-xs);font-weight:var(--weight-medium);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-text-muted)}.progress-table td{color:var(--color-text-secondary)}.progress-list__empty{padding:var(--space-2xl) var(--space-md);text-align:center;color:var(--color-text-secondary)}.progress-list__hint{font-size:var(--text-sm);color:var(--color-text-muted)}.lesson-item--optional .lesson-item__open{color:var(--color-text-secondary)}.lesson-item__tag{font-size:var(--text-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-text-muted)}.course-progress{margin:var(--space-md) 0 var(--space-lg)}.progress-bar{background:var(--color-surface-elevated);border-radius:999px;height:.5rem;overflow:hidden}.progress-bar__fill{background:var(--color-accent);height:100%;transition:width .24s ease-out;display:block}.course-progress__label{margin:var(--space-sm) 0 0;font-size:var(--text-sm);color:var(--color-text-secondary);font-variant-numeric:tabular-nums}.course-progress--absent{justify-content:space-between;align-items:center;gap:var(--space-md);padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);flex-wrap:wrap;display:flex}.course-progress--absent p{color:var(--color-text-secondary);margin:0}.course-progress__enroll{border-color:var(--color-accent);color:var(--color-accent);white-space:nowrap}.course-progress__error,.lesson__error{margin:var(--space-sm) 0 0;font-size:var(--text-sm);color:var(--color-error)}.lesson-item__done{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--color-success);white-space:nowrap}.lesson-item--done .lesson-item__open{color:var(--color-text-secondary)}.enablement-group{margin-bottom:var(--space-xl)}.enablement-group h3{margin:0 0 var(--space-sm);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-secondary)}.enablement-list{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.enablement__module{color:var(--color-text-primary);font-weight:600}.enablement__course{font-size:var(--text-sm);color:var(--color-text-secondary)}.enablement__until{font-size:var(--text-sm);color:var(--color-text-secondary);text-align:right}.enablement--open{border-left-color:var(--color-success)}.enablement--expiring{border-left-color:var(--color-warning)}.enablement--expiring .enablement__until{color:var(--color-warning)}.enablement__error{color:var(--color-error)}.lesson-item--locked{opacity:.65}.lesson-item__open--locked{color:var(--color-text-secondary);margin-right:auto;padding:.5rem .9rem}.lesson-item__locked{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--color-warning);white-space:nowrap}.certificates__empty,.certificates__note{margin:0 0 var(--space-md);font-size:var(--text-sm);color:var(--color-text-secondary)}.certificates__list{margin:0 0 var(--space-md);padding:0;list-style:none}.certificate__code{font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:.06em;color:var(--color-accent);font-variant-numeric:tabular-nums;margin:0}.certificate__course{margin:var(--space-xs) 0 0;font-size:var(--text-sm);color:var(--color-text-secondary)}.certificate__scope{margin:var(--space-xs) 0 0;font-weight:600}.certificate__issued,.certificate__validity{margin:var(--space-xs) 0 0;font-size:var(--text-sm);color:var(--color-text-secondary)}.certificate--expired{opacity:.72}.certificate--expired .certificate__validity{color:var(--color-danger,#c0392b);font-weight:600}.certificates__pending{margin:0;padding:0;list-style:none}.certificates__pending li+li{margin-top:var(--space-xs)}.certificates__issue{border:1px solid var(--color-accent);border-radius:var(--brand-radius,.4rem);color:var(--color-accent);cursor:pointer;background:0 0;padding:.5rem .9rem;display:inline-block}.certificates__issue:disabled{opacity:.55;cursor:progress}.certificates__error{margin:var(--space-sm) 0 0;font-size:var(--text-sm);color:var(--color-error)}.certificate__holder,.certificate__provider{margin:var(--space-xs) 0 0;font-size:var(--text-sm);color:var(--color-text-secondary)}.storefront>h2{margin:0 0 1rem}.storefront-list{grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));gap:.9rem;margin:0;padding:0;list-style:none;display:grid}.storefront-card{border:1px solid var(--color-border);border-radius:var(--brand-radius,.6rem);background:var(--color-surface);flex-direction:column;padding:1.1rem;display:flex}.storefront-card__code{letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent);font-size:.75rem}.storefront-card__title{margin:.35rem 0 .5rem;font-size:1.05rem}.storefront-card__summary{color:var(--color-text-secondary);margin:0 0 .6rem;font-size:.92rem}.storefront-card__provider{color:var(--color-text-secondary);margin:0 0 1rem;font-size:.8rem}.storefront-card__enroll{border:1px solid var(--color-brand);border-radius:var(--brand-radius,.4rem);background:var(--color-brand);color:var(--color-surface);align-self:flex-start;margin-top:auto;padding:.45rem .9rem;font-size:.9rem;text-decoration:none}.storefront--empty,.storefront--unavailable{text-align:center;color:var(--color-text-secondary);padding:2rem 1.1rem}
