:root { --learner-ink: #18212f; --learner-muted: #687386; --learner-line: #e8ebf0; --learner-surface: #f7f8fa; }
* { box-sizing: border-box; }
.learner-portal-body { margin: 0; color: var(--learner-ink); background: var(--learner-surface); font-family: var(--font-family, Arial, sans-serif); }
.learner-login { min-height: min(48rem, calc(100vh - 8rem)); display: grid; grid-template-columns: minmax(360px, 46%) 1fr; background: #fff; }
.learner-login__panel { display: flex; flex-direction: column; padding: clamp(1.5rem, 5vw, 4.5rem); }
.learner-login__brand, .learner-sidebar__brand { display: inline-flex; align-items: center; gap: .7rem; color: var(--learner-ink); font-weight: 700; text-decoration: none; }
.learner-login__brand-mark, .learner-sidebar__brand > i { display: grid; place-items: center; width: 2.35rem; height: 2.35rem; border-radius: .75rem; color: #fff; background: var(--primary); }
.learner-login__content { width: min(100%, 27rem); margin: auto; }
.learner-kicker { margin: 0 0 .7rem; color: var(--primary); font-size: .78rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.learner-login h1, .learner-page h1 { margin: 0; letter-spacing: -.035em; font-size: clamp(2rem, 3vw, 2.7rem); }
.learner-login__content > p:not(.learner-kicker) { color: var(--learner-muted); line-height: 1.6; }
.learner-login__form { display: grid; gap: .55rem; margin-top: 2rem; }
.learner-login__form label { margin-top: .65rem; font-size: .9rem; font-weight: 700; }
.learner-login__form input { min-height: 3rem; border: 1px solid var(--learner-line); border-radius: .65rem; padding: .7rem .85rem; font: inherit; }
.learner-login__form input:focus { outline: 3px solid var(--primary-100, #e6def0); border-color: var(--primary); }
.learner-primary-button { display: inline-flex; justify-content: center; align-items: center; gap: .65rem; min-height: 3.1rem; margin-top: 1.2rem; border: 0; border-radius: .65rem; color: #fff; background: var(--primary); cursor: pointer; font: inherit; font-weight: 700; }
.learner-primary-button:hover { filter: brightness(.94); }
.learner-form-error { margin-top: 1.3rem; padding: .8rem 1rem; border-left: 3px solid #c43d4a; border-radius: .35rem; color: #922c37; background: #fff1f2; font-size: .9rem; }
.learner-login__visual { position: relative; display: grid; place-items: center; overflow: hidden; color: #fff; background: linear-gradient(145deg, var(--primary), var(--primary-700, #4e3570)); }
.learner-login__orb { position: absolute; border-radius: 50%; background: rgba(255,255,255,.1); }
.learner-login__orb--one { width: 36rem; height: 36rem; top: -15rem; right: -12rem; }.learner-login__orb--two { width: 25rem; height: 25rem; bottom: -10rem; left: -8rem; }
.learner-login__visual-copy { position: relative; display: grid; gap: 1rem; text-align: center; font-size: clamp(1.5rem, 2.7vw, 2.5rem); font-weight: 700; }.learner-login__visual-copy i { font-size: 3.5rem; }
.learner-shell { min-height: 100vh; display: flex; }.learner-sidebar { position: relative; display: flex; flex: 0 0 19rem; width: 19rem; flex-direction: column; padding: 1.5rem 1rem; color: var(--learner-ink); background: var(--primary-50, #f5f8f2); border-right: 1px solid var(--primary-100, #dce8d5); box-shadow: .45rem 0 1.8rem rgba(24,33,47,.06); transition: flex 0.3s cubic-bezier(0.4, 0, 0.2, 1), width 0.3s cubic-bezier(0.4, 0, 0.2, 1), padding 0.3s cubic-bezier(0.4, 0, 0.2, 1); }.learner-sidebar__brand { display: flex; align-items: center; gap: .7rem; padding: .35rem .65rem 2.5rem; color: #1e293b; font-weight: 800; text-transform: uppercase; letter-spacing: .02em; text-decoration: none; transition: gap 0.3s ease, padding 0.3s ease; }.learner-sidebar__brand-mark { display: grid; flex: 0 0 auto; place-items: center; width: 2.85rem; height: 2.85rem; border-radius: 50%; color: #fff; background: var(--primary); box-shadow: 0 .45rem 1rem color-mix(in srgb, var(--primary) 28%, transparent); }.learner-sidebar__brand span { max-width: 11rem; line-height: 1.3; font-size: .95rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: inline-block; transition: opacity 0.2s ease, width 0.2s ease; }.learner-sidebar__nav { display: grid; gap: .65rem; }.learner-sidebar__nav a { display: flex; align-items: center; gap: .8rem; padding: .9rem 1.2rem; border-radius: 2rem; color: #475569; font-size: .94rem; font-weight: 700; text-decoration: none; transition: background .2s, color .2s, transform .2s, box-shadow .2s, padding 0.3s ease, gap 0.3s ease; }.learner-sidebar__nav a i { width: 1.15rem; color: #475569; text-align: center; }.learner-sidebar__nav a span { display: inline-block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; transition: opacity 0.2s ease, width 0.2s ease; }.learner-sidebar__nav a:hover { background: rgba(0,0,0,.04); transform: translateX(2px); }.learner-sidebar__nav a.is-active { color: #fff !important; background: var(--primary) !important; box-shadow: 0 .6rem 1.3rem color-mix(in srgb, var(--primary) 28%, transparent); }.learner-sidebar__nav a.is-active i { color: #fff !important; }.learner-sidebar__footer { display: flex; flex-direction: column; gap: .8rem; margin-top: auto; padding-top: 1rem; }.learner-sidebar__divider { height: 1px; background: var(--primary-100, #dce8d5); margin: .25rem 1rem; transition: margin 0.3s ease; }.learner-sidebar__profile-link, .learner-sidebar__logout-link { display: flex; align-items: center; gap: .8rem; width: 100%; padding: .9rem 1.2rem; border: 0; border-radius: 2rem; color: #475569; background: transparent; font-size: .94rem; font-weight: 700; text-decoration: none; cursor: pointer; transition: background .2s, color .2s, transform .2s, padding 0.3s ease, gap 0.3s ease; text-align: left; }.learner-sidebar__profile-link:hover, .learner-sidebar__logout-link:hover { background: rgba(0,0,0,.04); transform: translateX(2px); }.learner-sidebar__profile-link i:first-child, .learner-sidebar__logout-link i:first-child { width: 1.15rem; color: #475569; text-align: center; }.learner-sidebar__profile-link span, .learner-sidebar__logout-link span { display: inline-block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; transition: opacity 0.2s ease, width 0.2s ease; }.chevron-icon { margin-left: auto; font-size: .8rem; color: #94a3b8; transition: opacity 0.2s ease; }.learner-sidebar__footer form { margin: 0; }
.learner-sidebar__toggle { position: absolute; top: 1.7rem; right: -0.9rem; width: 1.8rem; height: 1.8rem; border-radius: 50%; border: 1px solid var(--primary-100, #dce8d5); background: #fff; color: var(--primary); display: flex; align-items: center; justify-content: center; cursor: pointer; box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08); transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1); z-index: 100; }
.learner-sidebar__toggle:hover { background: var(--primary); color: #fff; border-color: var(--primary); box-shadow: 0 4px 12px color-mix(in srgb, var(--primary) 30%, transparent); transform: scale(1.05); }
.learner-sidebar.is-collapsed { flex: 0 0 5.5rem; width: 5.5rem; padding: 1.5rem 0.75rem; }
.learner-sidebar.is-collapsed .learner-sidebar__toggle i { transform: rotate(180deg); }
.learner-sidebar.is-collapsed .learner-sidebar__brand { padding-left: 0; padding-right: 0; justify-content: center; gap: 0; }
.learner-sidebar.is-collapsed .learner-sidebar__brand span { opacity: 0; width: 0; }
.learner-sidebar.is-collapsed .learner-sidebar__nav a { justify-content: center; padding: .9rem 0; gap: 0; }
.learner-sidebar.is-collapsed .learner-sidebar__nav a span { opacity: 0; width: 0; }
.learner-sidebar.is-collapsed .learner-sidebar__divider { margin: .25rem 0.25rem; }
.learner-sidebar.is-collapsed .learner-sidebar__profile-link, .learner-sidebar.is-collapsed .learner-sidebar__logout-link { justify-content: center; padding: .9rem 0; gap: 0; }
.learner-sidebar.is-collapsed .learner-sidebar__profile-link span, .learner-sidebar.is-collapsed .learner-sidebar__profile-link .chevron-icon, .learner-sidebar.is-collapsed .learner-sidebar__logout-link span { display: none !important; }
.learner-dashboard__hero .learner-primary-button { margin-top: 1.5rem; padding: 0.8rem 1.5rem; min-height: unset; border-radius: 8px; font-size: 0.95rem; font-weight: 600; box-shadow: 0 4px 12px color-mix(in srgb, var(--primary) 30%, transparent); gap: 0.6rem; }
.learner-dashboard__hero .learner-primary-button i { font-size: 1rem; }
.learner-workspace { flex: 1; min-width: 0; }.learner-workspace__header { display: flex; justify-content: flex-end; align-items: center; min-height: 4.75rem; padding: 0 clamp(1.25rem, 5vw, 4rem); border-bottom: 1px solid var(--learner-line); background: rgba(255,255,255,.85); }.learner-workspace__identity { color: var(--learner-muted); font-size: .9rem; }.learner-menu-button { display: none; margin-right: auto; border: 0; color: var(--learner-ink); background: transparent; font-size: 1.1rem; cursor: pointer; }.learner-page { max-width: 72rem; padding: clamp(2rem, 5vw, 4.5rem); }.learner-empty-state { display: grid; justify-items: start; gap: 1rem; margin-top: 2.5rem; color: var(--learner-muted); }.learner-empty-state__icon { display: grid; place-items: center; width: 3.25rem; height: 3.25rem; border-radius: 1rem; color: var(--primary); background: var(--primary-50, #f6f1fb); font-size: 1.2rem; }.learner-empty-state p { margin: 0; }.learner-course-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr)); gap: 1rem; margin-top: 2rem; }.learner-course-card { display: flex; min-height: 14rem; flex-direction: column; padding: 1.3rem; border: 1px solid var(--learner-line); border-radius: .9rem; background: #fff; transition: border-color .2s, transform .2s, box-shadow .2s; }.learner-course-card:hover { border-color: var(--primary-200, var(--primary)); box-shadow: 0 .75rem 2rem rgba(24,33,47,.07); transform: translateY(-2px); }.learner-course-card__icon { color: var(--primary); font-size: 1.3rem; }.learner-course-card h2 { margin: 1rem 0 .6rem; font-size: 1.08rem; }.learner-course-card p { margin: 0; color: var(--learner-muted); font-size: .9rem; line-height: 1.5; }.learner-course-card__status { margin-top: auto; padding-top: 1.2rem; color: var(--primary); font-size: .8rem; font-weight: 700; }
@media (max-width: 760px) { .learner-login { grid-template-columns: 1fr; }.learner-login__visual { display: none; }.learner-sidebar { position: fixed; z-index: 10; width: min(17rem, 86vw); min-height: 100vh; transform: translateX(-105%); transition: transform .2s ease; box-shadow: .8rem 0 2rem rgba(0,0,0,.08); }.learner-sidebar.is-open { transform: translateX(0); }.learner-menu-button { display: block; }.learner-page { padding: 2rem 1.25rem; }.learner-workspace__header { padding: 0 1.25rem; }.learner-sidebar__toggle { display: none !important; } }
@media (prefers-reduced-motion: reduce) { * { transition-duration: .01ms !important; } }

.learner-course-card { color: inherit; text-decoration: none; }
.learner-back-link { display: inline-flex; align-items: center; gap: .45rem; margin-bottom: 2rem; color: var(--learner-muted); font-size: .9rem; font-weight: 700; text-decoration: none; }
.learner-back-link:hover { color: var(--primary); }
.learner-course-detail__description { max-width: 44rem; margin: 1.25rem 0 0; color: var(--learner-muted); line-height: 1.7; }
.learner-login__actions { display: flex; align-items: center; gap: .75rem; margin-top: 1.2rem; }
.learner-login__actions .learner-primary-button { flex: 1; margin-top: 0; }
.learner-google-icon-button { display: inline-flex; align-items: center; justify-content: center; width: 3.1rem; height: 3.1rem; flex: 0 0 auto; border: 1px solid #d0d5dd; border-radius: .65rem; background: #fff; box-shadow: 0 1px 2px rgba(16,24,40,.05); text-decoration: none; transition: border-color .2s, box-shadow .2s, transform .2s; }
.learner-google-icon-button__icon { width: 1.2rem; height: 1.2rem; flex: 0 0 auto; }
.learner-google-icon-button:hover { border-color: #98a2b3; box-shadow: 0 .45rem 1.25rem rgba(24,33,47,.10); transform: translateY(-1px); }
.learner-google-icon-button:focus-visible { outline: 3px solid color-mix(in srgb, var(--primary) 28%, white); outline-offset: 2px; }
.learner-google-button { display: inline-flex; align-items: center; justify-content: center; gap: .75rem; min-height: 3.1rem; margin-top: .8rem; border: 1px solid #d0d5dd; border-radius: .65rem; color: #344054; background: #fff; box-shadow: 0 1px 2px rgba(16,24,40,.05); font-weight: 700; text-decoration: none; transition: border-color .2s, box-shadow .2s, transform .2s; }
.learner-google-button__icon { width: 1.2rem; height: 1.2rem; flex: 0 0 auto; }
.learner-google-button:hover { border-color: #98a2b3; box-shadow: 0 .45rem 1.25rem rgba(24,33,47,.10); transform: translateY(-1px); color: #1d2939; }
.learner-google-button:focus-visible { outline: 3px solid color-mix(in srgb, var(--primary) 28%, white); outline-offset: 2px; color: #1d2939; }
.learner-portal-content { min-height: 34rem; background: var(--learner-surface); }.learner-site-shell { display: flex; min-height: 100vh; }.learner-site-content { flex: 1; min-width: 0; }.learner-site-menu-button { display: none; }.has-learner-sidebar .learner-sidebar { position: sticky; top: 0; height: 100vh; z-index: 1200; }.has-learner-sidebar .site-header { position: relative; z-index: 2; }
.learner-portal-content .learner-page { animation: learner-page-enter .42s ease both; }.learner-page h1 { color: var(--learner-ink); }.learner-dashboard__hero { position: relative; overflow: hidden; padding: clamp(1.6rem, 4vw, 3rem); border: 1px solid var(--primary-100, #dce8d5); border-radius: 1.25rem; background: linear-gradient(135deg, var(--primary-50, #f5f8f2), #fff 70%); box-shadow: 0 1rem 2.8rem rgba(24,33,47,.06); }.learner-dashboard__hero > *:not(.learner-dashboard__halo) { position: relative; z-index: 1; }.learner-dashboard__halo { position: absolute; width: 18rem; height: 18rem; right: -7rem; bottom: -11rem; border-radius: 50%; background: color-mix(in srgb, var(--primary) 12%, transparent); }.learner-dashboard__welcome { margin: 0 0 .3rem; color: var(--learner-muted); font-size: .95rem; }.learner-dashboard__hero h1 { margin-bottom: .65rem; }.learner-dashboard__hero > p:not(.learner-kicker):not(.learner-dashboard__welcome) { max-width: 38rem; color: var(--learner-muted); line-height: 1.65; }.learner-dashboard__section { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-top: 2.75rem; }.learner-dashboard__section h2 { margin: 0; font-size: 1.35rem; }.learner-dashboard__section .learner-kicker { margin-bottom: .3rem; }.learner-dashboard__section > a { color: var(--primary); font-size: .9rem; font-weight: 800; text-decoration: none; }.learner-course-card, .learner-mode-card, .learner-module, .learner-activity-list article { border-color: var(--primary-100, #dce8d5); box-shadow: 0 .55rem 1.5rem rgba(24,33,47,.035); }.learner-course-card:hover, .learner-mode-card:hover, .learner-module:hover, .learner-activity-list article:hover { border-color: var(--primary); box-shadow: 0 1rem 2rem color-mix(in srgb, var(--primary) 12%, transparent); transform: translateY(-4px); }.learner-mode-card, .learner-activity-list article { position: relative; overflow: hidden; }.learner-mode-card::after, .learner-activity-list article::after { position: absolute; width: 7rem; height: 7rem; right: -3.8rem; top: -3.8rem; border-radius: 50%; background: color-mix(in srgb, var(--primary) 8%, transparent); content: ''; }.learner-chapter-list a { transition: color .18s ease, padding-left .18s ease; }.learner-chapter-list a:hover { padding-left: .45rem; color: var(--primary); }.learner-reader__content { padding: clamp(1.25rem, 3vw, 2.25rem); border: 1px solid var(--primary-100, #dce8d5); border-radius: 1rem; background: #fff; box-shadow: 0 .7rem 2rem rgba(24,33,47,.04); }.learner-reader__block { font-size: 1.02rem; }.learner-answer-form { display: grid; gap: .8rem; margin-top: 2rem; padding: clamp(1.2rem, 3vw, 2rem); border: 1px solid var(--primary-100, #dce8d5); border-radius: 1rem; background: #fff; box-shadow: 0 .7rem 2rem rgba(24,33,47,.04); }.learner-answer-option { display: flex; align-items: flex-start; gap: .8rem; padding: 1rem; border: 1px solid var(--learner-line); border-radius: .75rem; cursor: pointer; transition: border-color .18s, background .18s, transform .18s; }.learner-answer-option:hover { border-color: var(--primary); background: var(--primary-50, #f5f8f2); transform: translateX(3px); }.learner-answer-option input { accent-color: var(--primary); margin-top: .2rem; }.learner-primary-button { border-radius: .75rem; box-shadow: 0 .7rem 1.3rem color-mix(in srgb, var(--primary) 24%, transparent); transition: transform .18s ease, filter .18s ease, box-shadow .18s ease; }.learner-primary-button:hover { box-shadow: 0 .95rem 1.8rem color-mix(in srgb, var(--primary) 32%, transparent); transform: translateY(-2px); }.learner-feedback { margin-top: 1.25rem; padding: 1rem 1.15rem; border-radius: .8rem; font-weight: 700; }.learner-feedback.is-correct { color: #17633a; background: #eaf8ef; }.learner-feedback.is-wrong { color: #912c37; background: #fff1f2; }@keyframes learner-page-enter { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
.has-learner-sidebar .learner-portal-content .learner-page { width: 100%; max-width: none; padding: clamp(2rem, 4vw, 4.5rem); }
/* Previous line 45 overrides removed to not conflict with the new sidebar design */
.learner-page .learner-primary-button, .learner-page a.learner-primary-button { display: inline-flex; justify-content: center; align-items: center; gap: 0.6rem; padding: 0.8rem 1.5rem; min-height: unset; border-radius: 8px; font-size: 0.95rem; font-weight: 600; color: #fff !important; background: var(--primary) !important; border: 0 !important; box-shadow: 0 4px 12px color-mix(in srgb, var(--primary) 20%, transparent); text-decoration: none !important; transition: all 0.2s ease; }.learner-page .learner-primary-button:hover, .learner-page a.learner-primary-button:hover { color: #fff !important; box-shadow: 0 6px 16px color-mix(in srgb, var(--primary) 30%, transparent); transform: translateY(-2px); filter: brightness(0.95); }.learner-secondary-button { display: inline-flex; align-items: center; gap: .55rem; min-height: 2.9rem; padding: .7rem 1rem; border: 1px solid var(--primary); border-radius: .75rem; color: var(--primary) !important; background: #fff !important; cursor: pointer; font: inherit; font-weight: 800; }.learner-secondary-button:hover { color: #fff !important; background: var(--primary) !important; }.learner-exam-finish { margin-top: 1rem; text-align: right; }.learner-answer-hint { margin: 0 0 .75rem; color: #475569 !important; font-size: .9rem; font-weight: 700; }.learner-field-label { display: block; margin-bottom: .45rem; color: #1e293b !important; font-weight: 800; }.learner-text-input, .learner-linking-row select { min-height: 3rem; width: 100%; border: 1px solid #cbd5e1; border-radius: .65rem; color: #1e293b !important; background: #fff !important; padding: .7rem .85rem; font: inherit; }.learner-linking-intro { display: grid; gap: .3rem; margin-bottom: 1rem; color: #1e293b !important; }.learner-linking-intro span { color: #475569 !important; }.learner-linking-grid { display: grid; gap: .75rem; }.learner-linking-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(12rem, 1fr); align-items: center; gap: 1rem; margin: 0; padding: .85rem 1rem; border: 1px solid #dbe3ec; border-radius: .7rem; color: #1e293b !important; background: #fff; }.learner-linking-row > span { font-weight: 700; }.learner-linking-row select { min-height: 2.65rem; }.learner-answer-option span { color: #1e293b !important; }.learner-feedback { color: #17633a !important; }.learner-feedback.is-wrong { color: #912c37 !important; }.learner-page p, .learner-page small { color: #475569; }.learner-page h1, .learner-page h2, .learner-page h3, .learner-page strong { color: #1e293b; }
@media (min-width: 761px) { .has-learner-sidebar .learner-site-shell { width: 100%; overflow: clip; }.has-learner-sidebar .learner-sidebar { left: auto; transform: none !important; }.has-learner-sidebar .learner-site-content { margin-left: 0; } }
.learner-page-lead { max-width: 44rem; margin: .85rem 0 2.25rem; color: var(--learner-muted); font-size: 1.02rem; line-height: 1.65; }.learner-module { padding: 0; overflow: hidden; }.learner-module__heading { display: flex; gap: 1rem; align-items: flex-start; padding: 1.35rem; border-bottom: 1px solid var(--primary-100, #dce8d5); }.learner-module__heading h2 { margin: .1rem 0 .35rem; }.learner-module__heading p { margin: 0; }.learner-module__icon, .learner-activity-card__icon { display: grid; flex: 0 0 auto; place-items: center; width: 2.65rem; height: 2.65rem; border-radius: .85rem; color: var(--primary); background: var(--primary-50, #f5f8f2); }.learner-chapter-list { margin: 0; border: 0; }.learner-chapter { position: relative; display: flex !important; gap: .9rem !important; padding: 1rem 1.35rem !important; border: 0 !important; border-bottom: 1px solid var(--learner-line) !important; background: #fff; }.learner-chapter:last-child { border-bottom: 0 !important; }.learner-chapter:hover { padding-left: 1.35rem !important; background: var(--primary-50, #f5f8f2); }.learner-chapter__state { display: grid; flex: 0 0 auto; place-items: center; width: 2.15rem; height: 2.15rem; border-radius: 50%; color: var(--primary); background: var(--primary-50, #f5f8f2); }.learner-chapter--started .learner-chapter__state { color: #fff; background: var(--primary); }.learner-chapter--completed .learner-chapter__state { color: #17733d; background: #e9f8ee; }.learner-chapter__copy { display: grid; gap: .16rem; min-width: 0; }.learner-chapter__copy strong { color: var(--learner-ink); }.learner-chapter__copy small { color: var(--learner-muted); }.learner-chapter__action { display: inline-flex; align-items: center; gap: .45rem; margin-left: auto; color: var(--primary); font-size: .86rem; font-weight: 800; }.learner-chapter--completed .learner-chapter__action { color: #17733d; }.learner-chapter-next { display: flex; justify-content: flex-end; margin-top: 2rem; }.learner-activity-list { gap: 1.15rem; }.learner-activity-card { display: flex !important; align-items: center; gap: 1rem; min-height: 8.5rem; padding: 1.35rem !important; }.learner-activity-card__copy { min-width: 0; }.learner-activity-card__copy > p { margin: 0 0 .35rem !important; color: var(--primary) !important; font-size: .82rem; font-weight: 800; text-transform: uppercase; }.learner-activity-card__copy h2 { margin: 0 0 .45rem !important; }.learner-activity-card__copy span { display: inline-flex; align-items: center; flex-wrap: wrap; gap: .45rem; color: var(--learner-muted); font-size: .88rem; }.learner-activity-card__copy span b { display: inline-flex; align-items: center; gap: .3rem; margin-left: .4rem; font-weight: 700; }.learner-activity-card .learner-primary-button, .learner-activity-card form { margin: 0 0 0 auto; }.learner-activity-card form { display: flex; }.learner-exam-success { display: flex; align-items: center; gap: .6rem; margin: 0 0 1.5rem; }.learner-reader .learner-chapter-next { padding-top: .5rem; border-top: 1px solid var(--primary-100, #dce8d5); }@media (max-width: 760px) { .learner-activity-card { align-items: flex-start; flex-wrap: wrap; }.learner-activity-card .learner-primary-button, .learner-activity-card form { margin-left: 3.65rem; }.learner-chapter__action { display: none; }.learner-chapter-next { justify-content: stretch; }.learner-chapter-next .learner-primary-button { width: 100%; } }
@media (max-width: 760px) { .has-learner-sidebar .learner-sidebar { position: fixed; height: 100vh; }.learner-site-menu-button { position: fixed; z-index: 1190; display: grid; place-items: center; top: .85rem; left: .85rem; width: 2.75rem; height: 2.75rem; border: 1px solid var(--learner-line); border-radius: .7rem; color: var(--learner-ink); background: #fff; box-shadow: 0 .45rem 1.25rem rgba(24,33,47,.12); }.has-learner-sidebar .top-header, .has-learner-sidebar .site-header { padding-left: 3.65rem; } }
.learner-mode-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); gap: 1rem; margin-top: 2rem; }.learner-mode-card, .learner-module, .learner-activity-list article { display: block; padding: 1.35rem; border: 1px solid var(--learner-line); border-radius: .9rem; background: #fff; color: inherit; }.learner-mode-card { text-decoration: none; transition: transform .2s, box-shadow .2s; }.learner-mode-card:hover { transform: translateY(-2px); box-shadow: 0 .75rem 2rem rgba(24,33,47,.07); }.learner-mode-card > i { color: var(--primary); font-size: 1.3rem; }.learner-mode-card h2, .learner-module h2, .learner-activity-list h2 { margin: .9rem 0 .45rem; font-size: 1.15rem; }.learner-mode-card p, .learner-module > p, .learner-activity-list p { color: var(--learner-muted); line-height: 1.55; }.learner-mode-card span { display: inline-flex; gap: .45rem; margin-top: 1rem; color: var(--primary); font-size: .88rem; font-weight: 700; }.learner-module-list, .learner-activity-list { display: grid; gap: 1rem; margin-top: 2rem; }.learner-chapter-list { display: grid; margin-top: 1rem; border-top: 1px solid var(--learner-line); }.learner-chapter-list a { display: flex; align-items: center; gap: .7rem; padding: .85rem 0; border-bottom: 1px solid var(--learner-line); color: var(--learner-ink); text-decoration: none; }.learner-chapter-list a > i { color: var(--primary); }.learner-chapter-list small { margin-left: auto; color: var(--learner-muted); }.learner-reader { max-width: 58rem; }.learner-reader__content { margin: 2rem 0; }.learner-reader__content h2 { margin: 2.4rem 0 .8rem; font-size: 1.35rem; }.learner-reader__block { color: var(--learner-ink); line-height: 1.7; }.learner-reader__block img, .learner-reader__block iframe { max-width: 100%; }.learner-text-button { margin: 1.25rem 0; padding: 0; border: 0; color: var(--primary); background: transparent; font: inherit; font-weight: 700; cursor: pointer; }.learner-question { max-width: 50rem; }.learner-question h1 { font-size: clamp(1.5rem, 3vw, 2.2rem); line-height: 1.3; }.learner-answer-form { display: grid; gap: .75rem; margin: 2rem 0; }.learner-answer-option { display: flex; gap: .75rem; align-items: flex-start; padding: 1rem; border: 1px solid var(--learner-line); border-radius: .65rem; cursor: pointer; }.learner-answer-option:has(input:checked) { border-color: var(--primary); background: var(--primary-50, #f6f1fb); }.learner-answer-option input { margin-top: .25rem; accent-color: var(--primary); }.learner-answer-form > input { min-height: 3rem; border: 1px solid var(--learner-line); border-radius: .65rem; padding: .7rem .85rem; font: inherit; }.learner-feedback { margin: 1.5rem 0; padding: 1rem; border-radius: .65rem; font-weight: 700; }.learner-feedback.is-correct { color: #1e6c49; background: #edf9f1; }.learner-feedback.is-wrong { color: #922c37; background: #fff1f2; }.learner-result__score { display: grid; gap: .25rem; width: min(100%, 18rem); margin: 2rem 0; padding: 1.5rem; border-radius: .9rem; color: #fff; background: var(--primary); }.learner-result__score strong { font-size: 3rem; }.learner-result__score small { opacity: .8; }
.learner-mode-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-right: auto; margin-left: auto; max-width: 56rem; justify-content: center; }
.learner-mode-grid--count-1 { grid-template-columns: minmax(15rem, 18rem); }
.learner-mode-grid--count-2 { grid-template-columns: repeat(2, minmax(15rem, 18rem)); }
.learner-mode-grid > .learner-mode-card { min-width: 0; }
.learner-profile-page { width: 100%; max-width: none !important; min-height: calc(100vh - 4.75rem); background: #fff; }
.learner-profile-form { display: grid; gap: 1.25rem; margin-top: 2rem; }
.learner-profile-section { width: 100%; padding: clamp(1.2rem, 3vw, 1.8rem); border: 1px solid var(--primary-100, #dce8d5); border-radius: 1rem; background: #fff; box-shadow: 0 .55rem 1.5rem rgba(24,33,47,.035); }
.learner-profile-section__heading { display: flex; align-items: center; gap: .8rem; margin-bottom: 1.35rem; }.learner-profile-section__heading h2 { margin: 0; font-size: 1.2rem; }.learner-profile-section__heading .learner-kicker { margin-bottom: .2rem; font-size: .7rem; }.learner-profile-icon { display: grid; flex: 0 0 auto; place-items: center; width: 2.7rem; height: 2.7rem; border-radius: .85rem; color: var(--primary); background: var(--primary-50, #f5f8f2); }
.learner-profile-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }.learner-profile-grid label { display: grid; gap: .45rem; }.learner-profile-grid label > span { color: var(--learner-ink); font-size: .86rem; font-weight: 800; }.learner-text-input[readonly] { color: var(--learner-muted); background: var(--learner-surface) !important; }.learner-profile-grid--password { grid-template-columns: repeat(3, minmax(0, 1fr)); }.learner-profile-actions { display: flex; justify-content: flex-end; }.learner-profile-actions .learner-primary-button { padding: .8rem 1.35rem; }.learner-profile-access { margin-top: 1.25rem; }.learner-access-list { display: grid; gap: .7rem; }.learner-access-row { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem; border: 1px solid var(--learner-line); border-radius: .75rem; }.learner-access-row div { display: grid; gap: .25rem; }.learner-access-row strong { color: var(--learner-ink); }.learner-access-row small, .learner-access-row > span { color: var(--learner-muted); font-size: .84rem; }.learner-access-row > span { text-align: right; }
.learner-profile-grid label > small, .learner-profile-section__heading small { color: var(--learner-muted); font-size: .78rem; line-height: 1.4; }
@media (max-width: 760px) { .learner-profile-grid, .learner-profile-grid--password { grid-template-columns: 1fr; }.learner-profile-actions { justify-content: stretch; }.learner-profile-actions .learner-primary-button { width: 100%; }.learner-access-row { align-items: flex-start; flex-direction: column; }.learner-access-row > span { text-align: left; } }
@media (max-width: 900px) { .learner-mode-grid, .learner-mode-grid--count-2 { grid-template-columns: repeat(2, minmax(0, 18rem)); max-width: 38rem; } }
@media (max-width: 760px) { .learner-mode-grid { grid-template-columns: 1fr; max-width: 19rem; } }
/* Learner activity surfaces */
.learner-sidebar__badge{margin-left:auto;min-width:1.35rem;height:1.35rem;padding:0 .35rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#eef2ff;color:#67508f;font-size:.7rem;font-weight:800}.learner-sidebar__badge--attention{background:#fef0d4;color:#9b5b00}.learner-data-page{max-width:1120px}.learner-page-lead{max-width:720px;color:#64748b;line-height:1.65}.learner-filter-bar{display:flex;gap:.75rem;align-items:center;margin:1.5rem 0 .75rem}.learner-filter-search{display:flex;align-items:center;gap:.65rem;flex:1;max-width:32rem;padding:.7rem .85rem;border:1px solid #dbe4ec;border-radius:.75rem;background:#fff;color:#94a3b8}.learner-filter-search input{width:100%;border:0;outline:0;color:#334155;background:transparent;font:inherit}.learner-filter-tabs,.learner-detail-tabs{display:flex;gap:.4rem;flex-wrap:wrap;margin:1rem 0 1.5rem;border-bottom:1px solid #e5eaf0}.learner-filter-tabs a,.learner-detail-tabs a{display:inline-flex;align-items:center;gap:.45rem;padding:.7rem .9rem;color:#64748b;text-decoration:none;border-bottom:2px solid transparent;font-weight:700}.learner-filter-tabs a.is-active,.learner-detail-tabs a.is-active{color:#7659a0;border-bottom-color:#886ab5}.learner-detail-tabs a span{display:inline-flex;min-width:1.35rem;height:1.35rem;justify-content:center;align-items:center;border-radius:50%;background:#fef0d4;color:#9b5b00;font-size:.72rem}.learner-session-list,.learner-activity-list,.learner-document-list{display:grid;gap:1rem}.learner-data-card{border:1px solid #e4eaf1;border-radius:1rem;background:#fff;box-shadow:0 8px 24px rgba(31,41,55,.04)}.learner-session-card{display:flex;gap:1rem;padding:1.15rem}.learner-session-card__date{flex:0 0 4.4rem;display:flex;flex-direction:column;justify-content:center;align-items:center;border-radius:.8rem;background:#f4f0fb;color:#7659a0}.learner-session-card__date strong{font-size:1.75rem;line-height:1}.learner-session-card__date span{margin-top:.25rem;font-size:.75rem;text-transform:uppercase}.learner-data-card__body{flex:1}.learner-data-card__heading,.learner-detail-hero{display:flex;gap:1rem;align-items:flex-start;justify-content:space-between}.learner-data-card h2,.learner-detail-hero h1{margin:.15rem 0 .45rem;color:#1f2937}.learner-data-card p{color:#64748b;line-height:1.55}.learner-kicker{margin:0 0 .25rem;color:#886ab5;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.learner-status{display:inline-flex;align-items:center;white-space:nowrap;padding:.35rem .6rem;border-radius:999px;font-size:.76rem;font-weight:800}.learner-status--upcoming,.learner-status--pending{background:#eef2ff;color:#67508f}.learner-status--ongoing{background:#e8f7ef;color:#177245}.learner-status--completed,.learner-status--answered{background:#eef2f4;color:#52616d}.learner-status--cancelled,.learner-status--expired{background:#fff0f0;color:#a33b3b}.learner-meta-row{display:flex;gap:1rem;flex-wrap:wrap;color:#64748b;font-size:.88rem}.learner-meta-row span{display:inline-flex;align-items:center;gap:.4rem}.learner-data-card__actions{margin-top:1rem}.learner-secondary-button,.learner-primary-button{display:inline-flex;align-items:center;gap:.45rem}.learner-filter-bar .learner-secondary-button,.learner-document-row .learner-secondary-button{border:0}.learner-detail-hero{padding:1.25rem 0}.learner-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.learner-summary-grid .learner-data-card{padding:1.2rem}.learner-detail-contact{display:flex;gap:.75rem;align-items:flex-start;margin-top:1rem;padding:1rem;border-radius:.85rem;background:#f6f3fb;color:#67508f}.learner-detail-contact p{margin:.25rem 0 0;color:#64748b}.learner-timeline{display:grid;gap:1rem;margin-top:1.25rem}.learner-timeline>div{display:flex;gap:.75rem;align-items:flex-start}.learner-timeline__dot{width:.75rem;height:.75rem;margin-top:.35rem;border-radius:50%;background:#886ab5;box-shadow:0 0 0 5px #eee8f8}.learner-activity-row,.learner-document-row{display:flex;gap:1rem;align-items:flex-start;padding:1.1rem}.learner-activity-row__icon,.learner-document-row__icon{width:2.6rem;height:2.6rem;display:inline-flex;align-items:center;justify-content:center;flex:0 0 2.6rem;border-radius:.75rem;background:#f4f0fb;color:#7659a0}.learner-activity-row>div,.learner-document-row>div{flex:1}.learner-activity-row h2,.learner-document-row h2{font-size:1rem}.learner-activity-row p,.learner-document-row p{margin:.15rem 0}.learner-questionnaire-row{display:flex;gap:1rem;align-items:center;padding:1.1rem}.learner-questionnaire-row>div:first-of-type{flex:1}.learner-questionnaire-row__action{display:flex;flex-direction:column;align-items:flex-end;gap:.6rem}.learner-document-row{align-items:center}.learner-unavailable{color:#9b5b00;font-size:.84rem}.learner-dashboard__section--attention h2{color:#8e5b00}.learner-dashboard-alert-list{display:grid;gap:.65rem;margin-bottom:1.5rem}.learner-dashboard-alert{display:flex;align-items:center;gap:.75rem;padding:.85rem 1rem;border:1px solid #f3dfb4;border-radius:.8rem;background:#fffaf0;color:#334155;text-decoration:none}.learner-dashboard-alert>span{width:2.15rem;height:2.15rem;display:inline-flex;align-items:center;justify-content:center;border-radius:.65rem;background:#fef0d4;color:#a86b09}.learner-dashboard-alert div{flex:1;display:grid;gap:.15rem}.learner-dashboard-alert small{color:#64748b}.learner-dashboard-session{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.1rem;margin-bottom:1.5rem}.learner-dashboard-session p{margin:.25rem 0 0}.learner-activity-list--dashboard{grid-template-columns:repeat(2,minmax(0,1fr))}.learner-text-link{color:#7659a0;font-weight:700;text-decoration:none}.learner-back-link{display:inline-flex;align-items:center;gap:.45rem;color:#7659a0;text-decoration:none;font-weight:700}@media (max-width:760px){.learner-filter-bar,.learner-detail-hero,.learner-dashboard-session{align-items:stretch;flex-direction:column}.learner-filter-search{max-width:none}.learner-summary-grid,.learner-activity-list--dashboard{grid-template-columns:1fr}.learner-data-card__heading{flex-direction:column}.learner-session-card{align-items:flex-start}.learner-session-card__date{flex-basis:3.7rem}.learner-questionnaire-row,.learner-document-row{align-items:flex-start;flex-wrap:wrap}.learner-questionnaire-row__action{align-items:flex-start;margin-left:3.6rem}.learner-document-row .learner-secondary-button{margin-left:3.6rem}}
/* Learner information architecture and interactions */
.learner-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;margin-bottom:1.5rem}.learner-page-header__metric{display:grid;min-width:7rem;padding:.85rem 1rem;border:1px solid var(--primary-100,#dce8d5);border-radius:.85rem;background:#fff;text-align:center}.learner-page-header__metric strong{color:var(--primary);font-size:1.55rem;line-height:1}.learner-page-header__metric small{margin-top:.3rem;color:var(--learner-muted);font-size:.76rem;font-weight:700}.learner-detail-hero__actions{display:flex;align-items:flex-end;flex-direction:column;gap:.7rem}.learner-detail-hero__actions .learner-secondary-button{margin:0}.learner-tab-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.learner-muted-label{color:var(--learner-muted);font-size:.85rem;font-weight:700}.learner-session-description{margin-top:1rem;padding:1.2rem}.learner-filter-select{display:flex;align-items:center;gap:.55rem;color:var(--learner-muted);font-size:.85rem;font-weight:700}.learner-filter-select select{min-height:2.9rem;padding:.65rem .8rem;border:1px solid #dbe4ec;border-radius:.75rem;color:#334155;background:#fff;font:inherit}.learner-document-row__action,.learner-communication-row__action{display:flex;align-items:flex-end;flex-direction:column;gap:.6rem;max-width:16rem;text-align:right}.learner-document-row__action .learner-unavailable{max-width:15rem}.learner-result-note{display:inline-block;margin-top:.35rem;color:#177245!important;font-weight:800}.learner-filter-empty{margin-top:1.5rem;padding:1rem;color:var(--learner-muted);border:1px dashed #ccd6e1;border-radius:.8rem;background:#fff}.learner-dashboard-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.learner-dashboard-shortcut{display:flex;align-items:center;gap:.75rem;padding:1rem;border:1px solid var(--primary-100,#dce8d5);border-radius:.9rem;color:var(--learner-ink);background:#fff;text-decoration:none;transition:transform .18s,box-shadow .18s}.learner-dashboard-shortcut:hover{transform:translateY(-2px);box-shadow:0 .7rem 1.5rem rgba(24,33,47,.08)}.learner-dashboard-shortcut>span{display:grid;flex:0 0 2.35rem;place-items:center;width:2.35rem;height:2.35rem;border-radius:.7rem;color:var(--primary);background:var(--primary-50,#f5f8f2)}.learner-dashboard-shortcut div{display:grid;gap:.2rem;min-width:0;flex:1}.learner-dashboard-shortcut small{color:var(--learner-muted)}.learner-dashboard-shortcut>i{color:var(--primary);font-size:.85rem}.learner-dialog{width:min(92vw,36rem);padding:1.4rem;border:0;border-radius:1rem;color:var(--learner-ink);background:#fff;box-shadow:0 1.5rem 4rem rgba(15,23,42,.22)}.learner-dialog::backdrop{background:rgba(15,23,42,.45)}.learner-dialog h2{margin-top:0}.learner-dialog__body{white-space:pre-wrap;line-height:1.7;color:#475569}.learner-dialog .learner-secondary-button{margin-top:1rem}.learner-document-row[hidden]{display:none}.learner-communication-row__action small{color:var(--learner-muted);font-weight:700}@media (max-width:900px){.learner-dashboard-shortcuts{grid-template-columns:1fr 1fr}}@media (max-width:760px){.learner-page-header{flex-direction:column}.learner-page-header__metric{align-self:flex-start}.learner-detail-hero__actions{align-items:flex-start}.learner-filter-bar--documents{flex-direction:column}.learner-filter-select{justify-content:space-between}.learner-filter-select select{flex:1}.learner-document-row__action,.learner-communication-row__action{align-items:flex-start;max-width:none;margin-left:3.6rem;text-align:left}.learner-dashboard-shortcuts{grid-template-columns:1fr}}
/* Native message details and session insights */
.learner-session-insights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin:0 0 1.2rem}.learner-session-insights>div{display:flex;align-items:baseline;gap:.45rem;padding:1rem 1.1rem;border:1px solid var(--primary-100,#dce8d5);border-radius:.85rem;background:#fff}.learner-session-insights strong{color:var(--primary);font-size:1.45rem}.learner-session-insights span{color:var(--learner-muted);font-size:.84rem;font-weight:700}.learner-planning-card{padding:1.3rem}.learner-planning-card .learner-tab-heading p{margin:.35rem 0 0}.learner-message-list{gap:.9rem}.learner-message-card{overflow:hidden;padding:0}.learner-message-card .learner-activity-row{padding:1.1rem 1.2rem}.learner-message-card .learner-activity-row:hover{transform:none;box-shadow:none}.learner-message-card__state{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .6rem;border-radius:999px;color:#177245;background:#eaf8ef;font-size:.76rem;font-weight:800;white-space:nowrap}.learner-message-details{border-top:1px solid #edf0f4;background:#fbfcfe}.learner-message-details summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1.2rem;color:#7659a0;cursor:pointer;font-weight:800;list-style:none}.learner-message-details summary::-webkit-details-marker{display:none}.learner-message-details summary i{transition:transform .2s}.learner-message-details[open] summary i{transform:rotate(180deg)}.learner-message-details__body{padding:0 1.2rem 1.2rem}.learner-message-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;margin:0 0 1rem}.learner-message-meta>div{padding:.75rem;border:1px solid #e5eaf0;border-radius:.7rem;background:#fff}.learner-message-meta dt{color:var(--learner-muted);font-size:.72rem;font-weight:800;text-transform:uppercase}.learner-message-meta dd{margin:.25rem 0 0;color:#1e293b;font-weight:700}.learner-message-content{margin:0;padding:1rem;border-left:3px solid var(--primary);border-radius:.2rem .65rem .65rem .2rem;color:#334155!important;background:#fff;line-height:1.75;white-space:pre-wrap}.learner-message-attachments{margin-top:1rem}.learner-message-attachments strong{display:block;margin-bottom:.5rem}.learner-message-attachments>div{display:flex;flex-wrap:wrap;gap:.5rem}.learner-message-attachments span{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .65rem;border:1px solid #e3d9f1;border-radius:999px;color:#7659a0;background:#fff;font-size:.82rem;font-weight:700}.learner-message-details__actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1rem;padding-top:1rem;border-top:1px solid #e5eaf0}.learner-message-details__actions .learner-text-link{display:inline-flex;align-items:center;gap:.35rem}@media (max-width:760px){.learner-session-insights{grid-template-columns:1fr}.learner-message-card .learner-activity-row{align-items:flex-start;flex-wrap:wrap}.learner-message-card__state{margin-left:3.6rem}.learner-message-meta{grid-template-columns:1fr}.learner-message-details__actions{flex-direction:column;gap:.65rem}}
.learner-dashboard-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin:1.35rem 0 1.5rem}.learner-dashboard-overview article{display:flex;align-items:center;gap:.75rem;padding:1rem;border:1px solid var(--primary-100,#dce8d5);border-radius:.9rem;background:#fff}.learner-dashboard-overview article>span{display:grid;flex:0 0 2.5rem;place-items:center;width:2.5rem;height:2.5rem;border-radius:.75rem;color:var(--primary);background:var(--primary-50,#f5f8f2)}.learner-dashboard-overview article.is-attention{border-color:#f3dfb4;background:#fffaf0}.learner-dashboard-overview article.is-attention>span{color:#a86b09;background:#fef0d4}.learner-dashboard-overview div{display:grid;gap:.2rem}.learner-dashboard-overview strong{font-size:1.35rem;line-height:1}.learner-dashboard-overview small{color:var(--learner-muted);font-weight:700}@media (max-width:760px){.learner-dashboard-overview{grid-template-columns:1fr}}
.learner-info-strip{display:flex;align-items:flex-start;gap:.7rem;margin:1rem 0 1.25rem;padding:.85rem 1rem;border:1px solid #dce8d5;border-radius:.8rem;color:#4e6470;background:#f8fbf6}.learner-info-strip>i{margin-top:.2rem;color:var(--primary)}.learner-info-strip p{margin:0;color:#52616d!important;line-height:1.5}.learner-info-strip--attention{border-color:#f3dfb4;background:#fffaf0}.learner-info-strip--attention>i{color:#a86b09}

/* Learner activity surfaces: clear click targets, calm motion and stronger document affordances. */
.learner-filter-bar .learner-filter-search{width:100%;max-width:none;min-width:0;transition:border-color .2s ease,box-shadow .2s ease}.learner-filter-search:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 14%,transparent)}
.learner-session-card{position:relative;align-items:stretch;padding:0;overflow:hidden;color:var(--learner-ink);text-decoration:none;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.learner-session-card:hover,.learner-session-card:focus-visible{color:var(--learner-ink);border-color:color-mix(in srgb,var(--primary) 48%,#e4eaf1);box-shadow:0 1rem 2rem color-mix(in srgb,var(--primary) 13%,transparent);text-decoration:none;transform:translateY(-3px)}.learner-session-card:focus-visible{outline:3px solid color-mix(in srgb,var(--primary) 35%,transparent);outline-offset:3px}.learner-session-card__media{display:block;flex:0 0 clamp(8.5rem,17vw,11rem);width:clamp(8.5rem,17vw,11rem);aspect-ratio:1/1;margin:1rem 0 1rem 1rem;overflow:hidden;border-radius:.8rem;background:var(--primary-50,#f5f8f2)}.learner-session-card__media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease,filter .35s ease}.learner-session-card:hover .learner-session-card__media img{transform:scale(1.045);filter:saturate(1.05)}.learner-session-card .learner-data-card__body{display:flex;min-width:0;flex-direction:column;justify-content:center;padding:1.2rem 1.3rem 1.2rem 1rem}.learner-session-card .learner-data-card__heading{align-items:flex-start}.learner-session-card__title{display:block;margin:.15rem 0 .65rem;color:#1f2937;font-size:1.1rem;line-height:1.35}.learner-session-card__link-hint{display:inline-flex;align-items:center;gap:.45rem;margin-top:1rem;color:#7659a0;font-size:.86rem;font-weight:800}.learner-session-card__link-hint i{transition:transform .2s ease}.learner-session-card:hover .learner-session-card__link-hint i{transform:translateX(4px)}
.learner-document-row--clickable{color:inherit;text-decoration:none;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.learner-document-row--clickable:hover,.learner-document-row--clickable:focus-visible{color:inherit;border-color:color-mix(in srgb,var(--primary) 45%,#e4eaf1);box-shadow:0 .9rem 1.8rem color-mix(in srgb,var(--primary) 12%,transparent);text-decoration:none;transform:translateY(-2px)}.learner-document-row--clickable:focus-visible{outline:3px solid color-mix(in srgb,var(--primary) 32%,transparent);outline-offset:3px}.learner-document-row .learner-activity-row__content{display:grid;gap:.22rem;min-width:0}.learner-document-row .learner-activity-row__content>strong{color:#1e293b;line-height:1.35}.learner-document-row .learner-activity-row__content>span:not(.learner-kicker){color:#64748b;font-size:.88rem;line-height:1.45}.learner-document-source{color:#7659a0!important;font-weight:700}.learner-document-open{display:inline-flex;align-items:center;gap:.4rem;color:#7659a0;font-size:.82rem;font-weight:800}.learner-document-row--clickable .learner-document-row__action{pointer-events:none}
.learner-message-attachments a{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .65rem;border:1px solid #e3d9f1;border-radius:999px;color:#7659a0;background:#fff;font-size:.82rem;font-weight:700;text-decoration:none;transition:background .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease}.learner-message-attachments a:hover,.learner-message-attachments a:focus-visible{border-color:#bda8d8;background:#f8f4fc;box-shadow:0 .35rem .8rem rgba(118,89,160,.12);text-decoration:none;transform:translateY(-1px)}.learner-message-attachments a .fa-arrow-up-right-from-square{font-size:.7rem}.learner-message-attachments a:focus-visible{outline:3px solid color-mix(in srgb,var(--primary) 28%,transparent);outline-offset:2px}

/* Session planning calendar. */
.learner-calendar{margin-top:1.35rem;padding:1rem;border:1px solid #e5eaf0;border-radius:.95rem;background:#fff}.learner-calendar__header{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:.25rem .25rem 1rem}.learner-calendar__header strong{color:#1e293b;font-size:1.15rem}.learner-calendar__header span{color:var(--learner-muted);font-size:.84rem;font-weight:700;text-align:right}.learner-calendar__weekdays,.learner-calendar__grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.45rem}.learner-calendar__weekdays{padding:0 .2rem .45rem;color:#94a3b8;font-size:.72rem;font-weight:800;text-align:center;text-transform:uppercase}.learner-calendar__day{position:relative;display:flex;min-height:4.6rem;flex-direction:column;align-items:flex-start;justify-content:flex-start;padding:.65rem;border:1px solid #edf1f5;border-radius:.7rem;color:#64748b;background:#fff;transition:border-color .18s ease,background .18s ease,transform .18s ease}.learner-calendar__day--empty{visibility:hidden;border-color:transparent;background:transparent}.learner-calendar__day strong{font-size:.95rem;color:#334155}.learner-calendar__day small{margin-top:auto;color:#7659a0;font-size:.66rem;font-weight:800}.learner-calendar__day.is-session-day{border-color:#d9c9eb;background:linear-gradient(145deg,#f7f1fc,#fff);box-shadow:inset 0 0 0 1px rgba(136,106,181,.08)}.learner-calendar__day.is-session-day:hover{border-color:#bda8d8;transform:translateY(-1px)}.learner-calendar__day.is-session-day strong{color:#7659a0}.learner-calendar__day.is-session-start,.learner-calendar__day.is-session-end{background:linear-gradient(145deg,#886ab5,#a58bc8);border-color:#886ab5}.learner-calendar__day.is-session-start strong,.learner-calendar__day.is-session-end strong,.learner-calendar__day.is-session-start small,.learner-calendar__day.is-session-end small{color:#fff}.learner-calendar__legend{display:flex;flex-wrap:wrap;gap:1rem;margin-top:.9rem;color:var(--learner-muted);font-size:.78rem;font-weight:700}.learner-calendar__legend span{display:inline-flex;align-items:center;gap:.45rem}.learner-calendar__legend i{width:.65rem;height:.65rem;border-radius:50%;background:#886ab5}.learner-calendar__legend i.is-muted{background:#d8dee8}
@media (max-width:760px){.learner-session-card__media{flex-basis:6.5rem;width:6.5rem;margin:.8rem 0 .8rem .8rem}.learner-session-card .learner-data-card__body{padding:.9rem}.learner-session-card .learner-data-card__heading{gap:.55rem}.learner-session-card .learner-status{font-size:.68rem}.learner-session-card__title{font-size:1rem}.learner-session-card__link-hint{margin-top:.75rem;font-size:.78rem}.learner-calendar{padding:.65rem}.learner-calendar__weekdays,.learner-calendar__grid{gap:.25rem}.learner-calendar__day{min-height:3.7rem;padding:.45rem}.learner-calendar__day small{font-size:.58rem}.learner-calendar__header{align-items:flex-start;flex-direction:column;gap:.3rem}.learner-calendar__header span{text-align:left}}
@media (prefers-reduced-motion:reduce){.learner-session-card,.learner-session-card__media img,.learner-document-row--clickable,.learner-message-attachments a,.learner-calendar__day{transition:none}}

/* Message cards and PDF actions. */
.learner-message-card[data-message-card]{cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.learner-message-card[data-message-card]:hover{border-color:color-mix(in srgb,var(--primary) 38%,#e4eaf1);box-shadow:0 .95rem 1.8rem color-mix(in srgb,var(--primary) 11%,transparent);transform:translateY(-2px)}.learner-message-card[data-message-card]:focus-visible{outline:3px solid color-mix(in srgb,var(--primary) 32%,transparent);outline-offset:3px}.learner-message-card[data-message-card] .learner-message-details summary{cursor:pointer}.learner-message-letter{overflow:hidden;border:1px solid #e7eaf0;border-radius:.85rem;background:#fff;box-shadow:0 .35rem .9rem rgba(24,33,47,.035)}.learner-message-letter__top{display:flex;align-items:center;gap:.7rem;padding:.85rem 1rem;border-bottom:1px solid #edf0f4;background:linear-gradient(135deg,#faf8fd,#fff)}.learner-message-letter__top>div{display:grid;gap:.15rem}.learner-message-letter__top strong{color:#334155;font-size:.9rem}.learner-message-letter__top small{color:var(--learner-muted);font-size:.76rem}.learner-message-letter__avatar{display:grid;flex:0 0 2.35rem;place-items:center;width:2.35rem;height:2.35rem;border-radius:.7rem;color:#7659a0;background:#f0eafa}.learner-message-letter .learner-message-content{border:0;border-radius:0;padding:1.25rem 1.2rem;color:#334155!important;background:#fff;line-height:1.85;font-size:.95rem}.learner-document-row__action{align-self:stretch;margin-left:auto;justify-content:center;align-items:flex-end;min-width:max-content}.learner-document-row__action .learner-document-open{white-space:nowrap}.learner-document-row--clickable .learner-document-row__action{pointer-events:none}
@media (max-width:760px){.learner-document-row__action{align-self:auto;align-items:flex-start;margin-left:3.6rem;min-width:0}}
