.minds-shell{--minds-bg:#fff;--minds-text:#172033;--minds-muted:#667085;--minds-line:#e8ecf2;--minds-soft:#f7f9fc;--minds-accent:#1f6feb;--minds-radius:22px;max-width:1180px;margin:0 auto;color:var(--minds-text);font-family:inherit}
.minds-shell *{box-sizing:border-box}.minds-hero,.minds-program-hero{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:34px;border:1px solid var(--minds-line);border-radius:28px;background:linear-gradient(135deg,#fff,#f7f9fc)}
.minds-hero h1,.minds-program-hero h1{margin:.15em 0;font-size:clamp(1.8rem,4vw,3rem);line-height:1.1}.minds-hero p,.minds-program-hero p{margin:.4em 0;color:var(--minds-muted)}
.minds-avatar{width:86px;height:86px;border-radius:50%;object-fit:cover}.minds-program-hero img{width:min(320px,38vw);aspect-ratio:16/10;object-fit:cover;border-radius:22px}
.minds-eyebrow,.minds-card-kicker{font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:var(--minds-muted)}
.minds-section{margin-top:28px}.minds-section__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.minds-section__head h2{font-size:1.25rem;margin:0}
.minds-action-grid,.minds-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.minds-card-grid--compact{grid-template-columns:repeat(3,minmax(0,1fr))}
.minds-action-card,.minds-card,.minds-mini-card,.minds-list,.minds-empty{border:1px solid var(--minds-line);background:var(--minds-bg);border-radius:var(--minds-radius)}
.minds-action-card{padding:20px;display:flex;gap:14px;min-height:210px}.minds-action-card__icon{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border-radius:13px;background:var(--minds-soft);font-size:1.15rem;font-weight:800}.minds-action-card h3,.minds-card h3,.minds-mini-card h3{margin:.35em 0 .5em;line-height:1.25}.minds-action-card p,.minds-mini-card p{color:var(--minds-muted)}
.minds-card{overflow:hidden}.minds-card__image{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}.minds-card__body{padding:18px}.minds-mini-card{padding:18px}
.minds-button{display:inline-flex;align-items:center;justify-content:center;margin-top:12px;padding:10px 15px;border-radius:12px;background:var(--minds-accent);color:#fff!important;text-decoration:none!important;font-weight:700}.minds-button--secondary{background:var(--minds-text)}
.minds-progress{height:8px;background:#edf1f6;border-radius:999px;overflow:hidden;margin:12px 0}.minds-progress span{display:block;height:100%;background:var(--minds-accent);border-radius:inherit}
.minds-time{display:block;margin-top:8px;color:var(--minds-muted);font-size:.88rem}.minds-two-col{display:grid;grid-template-columns:1fr 1fr;gap:22px}.minds-list{overflow:hidden}.minds-list__item{padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid var(--minds-line)}.minds-list__item:last-child{border-bottom:0}.minds-list__item p{margin:.3em 0;color:var(--minds-muted)}.minds-list__item--highlight{background:#f5f9ff}.minds-list a:not(.minds-button),.minds-mini-card a{font-weight:700;text-decoration:none}
.minds-status{display:inline-flex;margin-top:8px;padding:4px 8px;border-radius:999px;background:var(--minds-soft);color:var(--minds-muted);font-size:.75rem;font-weight:700}.minds-empty{padding:22px;color:var(--minds-muted)}
.minds-program-nav{position:sticky;top:8px;z-index:5;display:flex;gap:8px;overflow:auto;margin:18px 0;padding:10px;border:1px solid var(--minds-line);border-radius:16px;background:rgba(255,255,255,.96);backdrop-filter:blur(12px)}.minds-program-nav a{white-space:nowrap;padding:8px 11px;border-radius:10px;text-decoration:none;color:var(--minds-text);font-weight:700}.minds-program-nav a:hover{background:var(--minds-soft)}
.minds-highlight{padding:20px;border:1px solid #d8e8ff;border-radius:22px;background:#fbfdff}.minds-notice{padding:18px;border:1px solid #dfe5ec;border-radius:14px;background:#fff}.minds-notice--error{border-color:#f0b8b8;background:#fff8f8}
@media(max-width:960px){.minds-action-grid,.minds-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.minds-card-grid--compact{grid-template-columns:repeat(2,minmax(0,1fr))}.minds-two-col{grid-template-columns:1fr}}
@media(max-width:640px){.minds-shell{padding-inline:10px}.minds-hero,.minds-program-hero{padding:22px;align-items:flex-start}.minds-program-hero img{display:none}.minds-avatar{width:58px;height:58px}.minds-action-grid,.minds-card-grid,.minds-card-grid--compact{grid-template-columns:1fr}.minds-list__item{align-items:flex-start;flex-direction:column}.minds-button{width:100%}}
/* 8.9.9 course access messaging: scoped to Minds cards only. */
.minds-course-status-message{margin:12px 0 4px;padding:11px 12px;border:1px solid var(--minds-line);border-radius:14px;background:var(--minds-soft)}
.minds-course-status-message p{margin:0;color:var(--minds-text);font-size:.92rem;line-height:1.55}
.minds-course-status-message small{display:block;margin-top:6px;color:var(--minds-muted);font-size:.76rem;overflow-wrap:anywhere}
.minds-course-status-message.is-success{border-color:rgba(34,197,94,.28);background:rgba(34,197,94,.06)}
.minds-course-status-message.is-info{border-color:rgba(31,111,235,.24);background:rgba(31,111,235,.05)}
.minds-course-status-message.is-processing{border-color:rgba(247,147,30,.28);background:rgba(247,147,30,.06)}
.minds-course-status-message.is-warning{border-color:rgba(247,147,30,.34);background:rgba(247,147,30,.08)}
.minds-course-status-message.is-danger{border-color:rgba(220,38,38,.28);background:rgba(220,38,38,.05)}
.minds-course-status-message.is-neutral{background:var(--minds-soft)}
.minds-status--success{background:rgba(34,197,94,.12);color:#166534}.minds-status--info{background:rgba(31,111,235,.1);color:#1d4ed8}.minds-status--processing,.minds-status--warning{background:rgba(247,147,30,.12);color:#9a4d00}.minds-status--danger{background:rgba(220,38,38,.1);color:#991b1b}.minds-status--neutral{background:var(--minds-soft);color:var(--minds-muted)}
.minds-dashboard-course.has-course-status .minds-card__body,.minds-learning-card.has-course-status .minds-card__body{display:flex;flex-direction:column;align-items:stretch}

/* 8.9.12 dashboard typography: predictable scale independent from theme body/root font sizing. */
.minds-portal,.minds-shell{--minds-type-body:15px;--minds-type-small:12px;--minds-type-button:14px;--minds-type-card-title:18px;--minds-type-section-title:22px;font-size:var(--minds-type-body);line-height:1.55}
.minds-portal :is(p,li,td,th,label,input,select,textarea),.minds-shell :is(p,li,td,th,label,input,select,textarea){font-size:var(--minds-type-body);line-height:1.55}
.minds-portal :is(small,.minds-time,.minds-eyebrow,.minds-card-kicker,.minds-status),.minds-shell :is(small,.minds-time,.minds-eyebrow,.minds-card-kicker,.minds-status){font-size:var(--minds-type-small);line-height:1.45}
.minds-portal :is(.minds-button,button),.minds-shell :is(.minds-button,button){font-size:var(--minds-type-button);line-height:1.25;font-weight:700}
.minds-portal .minds-card h3,.minds-shell .minds-card h3,.minds-learning-card .minds-card__body>h3{font-size:var(--minds-type-card-title);line-height:1.35;margin:8px 0 10px}
.minds-portal .minds-section__head h2,.minds-shell .minds-section__head h2{font-size:var(--minds-type-section-title);line-height:1.3}
.minds-portal .minds-page-head h1,.minds-shell>.minds-section__head h1{font-size:clamp(26px,3.2vw,34px);line-height:1.2}
.minds-learning-progress-label strong{font-size:14px;line-height:1.35}.minds-learning-card__facts span{font-size:13px;line-height:1.35}.minds-learning-card__facts small{font-size:11px}
@media(max-width:782px){.minds-portal,.minds-shell{--minds-type-body:14px;--minds-type-button:14px;--minds-type-card-title:17px;--minds-type-section-title:20px}.minds-portal .minds-page-head h1,.minds-shell>.minds-section__head h1{font-size:clamp(24px,7vw,30px)}}
@media(max-width:480px){.minds-portal,.minds-shell{--minds-type-body:13.5px;--minds-type-small:11.5px;--minds-type-card-title:16.5px;--minds-type-section-title:19px}.minds-learning-card .minds-card__body{padding:15px}.minds-learning-card__facts span{font-size:12px}.minds-course-status-message p{font-size:13px;line-height:1.5}}


/* Minds Academy 9.0.15 — course instructor identity */
.minds-course-instructor-line{
  display:flex;
  flex-direction:column;
  gap:2px;
  margin:7px 0 9px;
  min-width:0;
}
.minds-course-instructor-line small{
  color:#667085;
  font-size:.72rem;
  line-height:1.3;
}
.minds-course-instructor-line strong{
  color:#344054;
  font-size:.86rem;
  line-height:1.35;
  font-weight:650;
  overflow-wrap:anywhere;
}
[dir="rtl"] .minds-course-instructor-line{text-align:right}
@media(max-width:560px){
  .minds-course-instructor-line strong{font-size:.82rem}
}


/* 9.0.47 analytics integrity — compact learner KPI summary with explicit coverage. */
.minds-dashboard-kpis{margin-top:18px}
.minds-kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.minds-kpi{display:flex;flex-direction:column;gap:4px;min-height:112px;padding:16px;border:1px solid var(--minds-line);border-radius:18px;background:var(--minds-bg)}
.minds-kpi small{color:var(--minds-muted);font-weight:700}
.minds-kpi strong{font-size:1.55rem;line-height:1.15}
.minds-kpi span{color:var(--minds-muted);font-size:.78rem;line-height:1.35}
.minds-dashboard-freshness,.minds-attendance-coverage{margin:9px 2px 0;color:var(--minds-muted)!important;font-size:.8rem}
.minds-dashboard-freshness time{font-weight:650;color:var(--minds-text)}
@media(max-width:960px){.minds-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:640px){.minds-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.minds-kpi{min-height:104px;padding:14px}}
@media(max-width:390px){.minds-kpi-grid{grid-template-columns:1fr 1fr}.minds-kpi strong{font-size:1.35rem}}

/* 9.0.56 student learning-card UX integrity */
.minds-dashboard-course{display:flex;flex-direction:column;min-width:0;overflow:hidden;height:100%}
.minds-dashboard-course__image{aspect-ratio:16/9;overflow:hidden;background:rgba(127,127,127,.06)}
.minds-dashboard-course__image>a{display:block;width:100%;height:100%;color:inherit;text-decoration:none!important}
.minds-dashboard-course__image .minds-card__image{display:block;width:100%;height:100%;object-fit:cover;transition:transform .22s ease,filter .22s ease}
.minds-dashboard-course__image>a:hover .minds-card__image{transform:scale(1.018);filter:saturate(1.03)}
.minds-dashboard-course__image>a:focus-visible{outline:3px solid var(--minds-portal-accent,#1f6feb);outline-offset:-3px}
.minds-dashboard-course .minds-card__body{display:flex;flex:1;flex-direction:column;min-width:0}
.minds-dashboard-course .minds-card__body>h3{overflow-wrap:anywhere}
.minds-dashboard-course__title-link{color:inherit!important;text-decoration:none!important}
.minds-dashboard-course__title-link:hover{text-decoration:underline!important;text-underline-offset:3px}
.minds-dashboard-course__title-link:focus-visible{outline:2px solid var(--minds-portal-accent,#1f6feb);outline-offset:3px;border-radius:4px}
.minds-dashboard-course .minds-button{min-height:44px}
@media(prefers-reduced-motion:reduce){.minds-dashboard-course__image .minds-card__image{transition:none}.minds-dashboard-course__image>a:hover .minds-card__image{transform:none}}


/* 9.0.64 — keep resolved Woo artwork visible on Home > Continue learning.
 * The portal-wide .minds-card__body min-height:100% can consume the full
 * equal-height flex card and shrink .minds-dashboard-course__image to ~0px. */
.minds-portal .minds-dashboard-course.has-artwork>.minds-dashboard-course__image,
.minds-shell .minds-dashboard-course.has-artwork>.minds-dashboard-course__image{
    display:block;
    flex:0 0 auto;
    width:100%;
    min-height:0;
    visibility:visible;
    opacity:1;
}
.minds-portal .minds-dashboard-course>.minds-card__body,
.minds-shell .minds-dashboard-course>.minds-card__body{
    min-height:0;
}
.minds-portal .minds-dashboard-course.has-artwork>.minds-dashboard-course__image>a,
.minds-shell .minds-dashboard-course.has-artwork>.minds-dashboard-course__image>a{
    display:block;
    width:100%;
    height:100%;
}
.minds-portal .minds-dashboard-course.has-artwork>.minds-dashboard-course__image .minds-card__image,
.minds-shell .minds-dashboard-course.has-artwork>.minds-dashboard-course__image .minds-card__image{
    display:block;
    width:100%;
    height:100%;
    max-width:100%;
    aspect-ratio:16/9;
    object-fit:cover;
    visibility:visible;
    opacity:1;
}
/* 9.0.107 Program session lifecycle */
.minds-program-session{gap:16px;align-items:center}.minds-session-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.minds-session-recording-ready{display:block;margin-top:6px;opacity:.76}@media(max-width:720px){.minds-program-session{align-items:flex-start}.minds-session-actions{width:100%;justify-content:flex-start}.minds-session-actions .minds-button{flex:1 1 140px;text-align:center}}

/* 9.0.109 real Program tabs: wrap on desktop, scroll only on small screens. */
.minds-program-nav{flex-wrap:wrap;overflow:visible}.minds-program-nav button{appearance:none;border:0;background:transparent;white-space:nowrap;padding:8px 11px;border-radius:10px;color:var(--minds-text);font:inherit;font-weight:700;cursor:pointer}.minds-program-nav button:hover,.minds-program-nav button.is-active{background:var(--minds-soft);color:var(--minds-accent)}.minds-program [data-minds-program-panel][hidden]{display:none!important}.minds-program [data-minds-program-panel].is-active{animation:mindsProgramPanelIn .16s ease-out}@keyframes mindsProgramPanelIn{from{opacity:.65;transform:translateY(3px)}to{opacity:1;transform:none}}@media(max-width:782px){.minds-program-nav{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}.minds-program-nav button{flex:0 0 auto}}

/* 9.0.110 Program tab label hardening: never split labels letter-by-letter. */
.minds-program-nav{align-items:stretch;gap:8px}
.minds-program-nav button{width:auto;min-width:max-content;max-width:none;white-space:nowrap;word-break:normal;overflow-wrap:normal;hyphens:none;line-height:1.2;text-align:center;display:inline-flex;align-items:center;justify-content:center;padding:10px 14px}
.minds-program-session .minds-time{display:block;margin-top:4px}.minds-program-session .minds-local-timezone{display:block;margin-top:2px;color:var(--minds-muted);font-size:.78rem}.minds-program-session .minds-session-week{display:block;color:var(--minds-muted);margin-bottom:3px}
@media(max-width:782px){.minds-program-nav button{min-width:max-content;padding:9px 12px}}

/* 9.0.113 Program Hub: keep learning in LearnWorlds, communications in Minds Academy. */
.minds-program-hub .minds-program-nav{justify-content:flex-start}
.minds-program-overview-grid{margin-top:8px}.minds-program-next-session{margin-top:18px}.minds-program-hub .minds-section__head p{max-width:780px}.minds-program-hub .minds-program-session{border:1px solid var(--minds-line);border-radius:16px;padding:16px;background:#fff}.minds-program-hub .minds-program-session .minds-button{min-width:180px}.minds-program-hub #minds-program-chat .minds-shell{padding:0;max-width:none}.minds-program-hub #minds-program-community .minds-shell,.minds-program-hub #minds-program-qna .minds-shell{padding:0;max-width:none}@media(max-width:640px){.minds-program-overview-grid{grid-template-columns:1fr}.minds-program-hub .minds-program-session .minds-button{width:100%;min-width:0}}

/* 9.2.0 final modular program polish */
.minds-program-hub .minds-program-nav{display:flex;gap:8px;flex-wrap:wrap;align-items:center;overflow:visible;padding:4px 0 10px}
.minds-program-hub .minds-program-nav button{white-space:nowrap;word-break:normal;overflow-wrap:normal;line-height:1.25;min-height:42px;padding:10px 14px;border-radius:10px}
.minds-program-hub .minds-program-nav button.is-active{font-weight:700}
.minds-module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.minds-module-card{display:flex;flex-direction:column;min-width:0;height:100%;border:1px solid var(--minds-border,#e6e8ec);border-radius:16px;padding:18px;background:var(--minds-surface,#fff)}
.minds-module-card .minds-button{margin-top:auto;align-self:flex-start}
.minds-module-card.is-locked{opacity:.72}
.minds-program-session{gap:16px;align-items:center}
.minds-program-session .minds-session-actions{margin-inline-start:auto;flex:0 0 auto}
@media (max-width:1024px){.minds-module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:680px){.minds-module-grid{grid-template-columns:1fr}.minds-program-hub .minds-program-nav{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin}.minds-program-session{align-items:flex-start;flex-direction:column}.minds-program-session .minds-session-actions{margin-inline-start:0;width:100%}.minds-program-session .minds-button{width:100%;text-align:center}}

/* 9.4.1 Program Hub UX */
.minds-program-tab-count{display:inline-flex;min-width:1.5rem;height:1.5rem;align-items:center;justify-content:center;border-radius:999px;padding:0 .4rem;font-size:.75rem;background:rgba(15,23,42,.08);margin-inline-start:.35rem}
.minds-program-nav button.is-active .minds-program-tab-count{background:rgba(255,255,255,.18)}
.minds-program [role=tabpanel]:focus{outline:none}
@media(max-width:640px){.minds-program-nav{overflow-x:auto;scroll-snap-type:x proximity}.minds-program-nav button{white-space:nowrap;scroll-snap-align:start}}

/* 9.4.2 Program timeline, instructor availability and live destination clarity */
.minds-program-overview-grid .minds-stat span{display:block;margin-top:4px;color:var(--minds-muted);font-size:.75rem;line-height:1.35}
.minds-program-instructor-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.8fr);gap:18px;align-items:stretch;margin-top:18px;padding:18px;border:1px solid var(--minds-line);border-radius:18px;background:#fff}
.minds-program-instructor-profile{display:flex;gap:14px;align-items:center;min-width:0}.minds-program-instructor-profile img{width:72px;height:72px;flex:0 0 72px;border-radius:50%;object-fit:cover}.minds-program-instructor-profile h3{margin:2px 0 4px}.minds-program-instructor-profile p{margin:2px 0;color:var(--minds-muted)}.minds-program-instructor-profile small{font-weight:700;color:var(--minds-muted)}
.minds-program-response-hours{display:flex;flex-direction:column;gap:5px;padding:14px 16px;border-radius:14px;background:var(--minds-soft)}.minds-program-response-hours strong{font-size:.95rem}.minds-program-response-hours span,.minds-program-response-hours small{color:var(--minds-muted);line-height:1.4}.minds-program-response-hours.is-open{box-shadow:inset 3px 0 0 #16a34a}.minds-program-response-hours.is-away{box-shadow:inset 3px 0 0 #d97706}.minds-program-response-hours.is-closed{box-shadow:inset 3px 0 0 #dc2626}
[dir="rtl"] .minds-program-response-hours.is-open,[dir="rtl"] .minds-program-response-hours.is-away,[dir="rtl"] .minds-program-response-hours.is-closed{box-shadow:none;border-inline-start:3px solid currentColor}
.minds-program-session .minds-session-module,.minds-program-session .minds-session-destination{display:block;margin-top:4px;color:var(--minds-muted);font-size:.78rem}.minds-program-session .minds-session-destination{font-weight:650}
@media(max-width:760px){.minds-program-instructor-card{grid-template-columns:1fr}.minds-program-instructor-profile img{width:60px;height:60px;flex-basis:60px}}
/* 9.4.4 attendance summary + session evidence */
.minds-session-attendance{display:inline-flex;margin:5px 0 0;padding:3px 8px;border-radius:999px;font-size:.72rem;font-weight:750;background:color-mix(in srgb,var(--minds-accent,currentColor) 9%,#fff);color:var(--minds-text)}
.minds-session-attendance--absent{background:#fff4e5;color:#8a4b00}.minds-session-attendance--present,.minds-session-attendance--late{background:#ecfdf3;color:#067647}.minds-session-attendance--excused{background:#f2f4f7;color:#475467}.minds-stat--attendance span{line-height:1.4}
