/* Learner surfaces only: learning first, administration secondary. */
.student-shell {
  --learn-ink: #243247;
  --learn-muted: #687487;
  --learn-accent: #305dd4;
  --learn-line: #e0e5ec;
  --learn-soft: #f3f6fb;
  --learn-card: #fffefd;
}
.student-shell .content { max-width: 1240px; margin-inline: auto; }
.student-shell :is(.learning-course, .journey-overview, .journey-course-grid, .journey-evidence) { color: var(--learn-ink); }
.student-shell .journey-section-heading { display:flex; align-items:end; justify-content:space-between; gap:16px; margin:4px 0 20px; }
.student-shell .journey-section-heading h2 { margin:6px 0 0; font-size:25px; letter-spacing:-.035em; line-height:1.2; }
.student-shell .journey-section-heading p { margin:8px 0 0; font-size:14px; color:var(--learn-muted); }
.student-shell .journey-section-heading>a { flex:none; }
.student-shell :is(.journey-course-card, .journey-catalogue-card, .journey-evidence, #dossier-administratif) {
  background:var(--learn-card); border:1px solid var(--learn-line); border-radius:22px; padding:28px; box-shadow:0 6px 24px #24324705;
}
.student-shell .journey-overview { gap:32px; }
.student-shell .journey-next-action { padding:32px; border:1px solid #d8e2f6; border-radius:24px; background:linear-gradient(115deg,#edf3ff,#fcfdff); box-shadow:0 8px 30px #305dd409; }
.student-shell .journey-next-action .eyebrow { color:var(--learn-accent); }
.student-shell .journey-next-action h2 { color:var(--learn-ink); font-size:30px; }
.student-shell .journey-course-grid { margin-bottom:0; gap:20px; }
.student-shell .journey-course-card { gap:16px; }
.student-shell .journey-card-heading>span:last-child { font-size:13px; font-weight:700; padding:6px 10px; background:var(--learn-soft); border-radius:9px; }
.student-shell .journey-course-card :is(h2,h3) { font-size:23px; max-width:32ch; line-height:1.2; letter-spacing:-.025em; margin:0; }
.student-shell .journey-course-card>.button { margin-top:8px; }
.student-shell progress { appearance:none; border:0; border-radius:999px; background:#e3e9f3; overflow:hidden; height:7px; accent-color:var(--learn-accent); }
.student-shell progress::-webkit-progress-bar { background:#e3e9f3; border-radius:999px; }
.student-shell progress::-webkit-progress-value { background:var(--learn-accent); border-radius:999px; }
.student-shell progress::-moz-progress-bar { background:var(--learn-accent); border-radius:999px; }
.student-shell .journey-discover { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:24px 28px; border:1px dashed #cbd4e1; border-radius:18px; background:#ffffff60; }
.student-shell .journey-discover h2 { font-size:20px; margin:0 0 6px; }
.student-shell .journey-discover p { font-size:14px; color:var(--learn-muted); margin:0; }
.student-shell .learning-course-hero.card { display:grid; grid-template-columns:minmax(0,1fr) 230px; gap:28px; padding:34px; margin:0 0 28px; background:linear-gradient(125deg,#243247,#354967); border:1px solid #354967; border-radius:26px; color:#fff; box-shadow:0 12px 35px #24324716; }
.student-shell .learning-course-hero h1 { font-size:clamp(28px,3.5vw,40px); line-height:1.13; letter-spacing:-.04em; margin:10px 0 16px; }
.student-shell .learning-course-hero .eyebrow { color:#c3d2ed; }
.student-shell .learning-course-hero p { color:#d5dfed; font-size:14px; margin:6px 0; line-height:1.6; }
.student-shell .learning-course-hero .learning-course-summary { min-width:0; }
.student-shell .learning-course-metrics { display:flex; flex-direction:column; justify-content:center; padding:24px; border:1px solid #ffffff24; border-radius:18px; background:#ffffff09; gap:12px; }
.student-shell .learning-course-metrics>strong { font-size:42px; letter-spacing:-.05em; line-height:1; }
.student-shell .learning-course-metrics>span { font-size:12px; color:#d5dfed; }
.student-shell .learning-course-metrics progress { width:100%; }
.student-shell .learning-course-action { display:flex; justify-content:space-between; align-items:center; gap:24px; grid-column:1/-1; padding-top:24px; border-top:1px solid #ffffff24; }
.student-shell .learning-course-action .button.primary { background:#fff; color:var(--learn-ink); border-color:#fff; box-shadow:none; flex:none; }
.student-shell .learning-course-action .button { white-space:normal; text-align:center; }
.student-shell .learning-workspace { grid-template-columns:270px minmax(0,1fr); gap:24px; }
.student-shell .learning-module-menu { border:1px solid var(--learn-line); background:var(--learn-card); padding:18px 12px; border-radius:20px; }
.student-shell .learning-module-menu h2 { padding-inline:12px; color:var(--learn-muted); font-size:11px; }
.student-shell .learning-module-tabs [role=tab] { padding:14px 12px; }
.student-shell .learning-module-tabs [aria-selected=true] { background:var(--learn-ink); border-color:var(--learn-ink); }
.student-shell .learning-tab-number { border-color:var(--learn-line); }
.student-shell .learning-tab-copy small { color:var(--learn-muted); }
.student-shell .learning-module-tabs [aria-selected=true] .learning-tab-copy small { color:#d5dfed; opacity:1; }
.student-shell .learning-module.card { margin:0; padding:28px; border:1px solid var(--learn-line); border-radius:22px; background:var(--learn-card); min-width:0; }
.student-shell .learning-module>header { align-items:start; gap:14px; }
.student-shell .learning-module-number { border-radius:12px; background:var(--learn-soft); color:var(--learn-accent); width:44px; height:44px; flex-basis:44px; }
.student-shell .learning-module h2 { font-size:26px; letter-spacing:-.035em; line-height:1.2; }
.student-shell .learning-module>header p { margin:8px 0 0; font-size:13px; color:var(--learn-muted); }
.student-shell .learning-module-state { padding:5px 9px; border-radius:8px; background:var(--learn-soft); font-size:11px; white-space:nowrap; }
.student-shell .learning-course-progress { margin:20px 0 28px; color:var(--learn-muted); font-size:12px; }
.student-shell .learning-activities-heading { display:flex; justify-content:space-between; align-items:center; gap:12px; margin:28px 0 14px; }
.student-shell .learning-activities-heading h3 { margin:0; font-size:16px; letter-spacing:-.02em; }
.student-shell .learning-activities-heading span { font-size:12px; color:var(--learn-muted); }
.student-shell .learning-lesson { padding:0; margin:10px 0; background:#fff; border:1px solid var(--learn-line); border-radius:14px; overflow:visible; }
.student-shell .learning-lesson>summary { padding:18px; gap:12px; list-style:none; }
.student-shell .learning-lesson>summary::-webkit-details-marker { display:none; }
.student-shell .learning-lesson>summary>.learning-activity-icon { display:grid; place-items:center; width:34px; height:34px; flex:none; background:var(--learn-soft); border-radius:10px; color:var(--learn-accent); font-size:15px; }
.student-shell .learning-activity-copy { display:grid; gap:5px; flex:1; min-width:0; }
.student-shell .learning-activity-copy strong { font-size:14px; line-height:1.4; overflow-wrap:anywhere; }
.student-shell .learning-activity-copy small { font-size:11px; color:var(--learn-muted); }
.student-shell .learning-activity-chevron { color:var(--learn-muted); flex:none; }
.student-shell .learning-lesson[open] { border-color:#bdcce9; box-shadow:0 4px 18px #24324705; }
.student-shell .learning-lesson[open] .learning-activity-chevron { transform:rotate(180deg); }
.student-shell .learning-lesson-content, .student-shell .learning-lesson>p { padding:20px; margin:0; border-top:1px solid var(--learn-line); background:#fafbfd; border-radius:0 0 14px 14px; font-size:14px; line-height:1.8; }
.student-shell .learning-lesson-content>p:first-child { margin-top:0; }
.student-shell .learning-lesson-content form { padding-top:18px; border-top:1px solid var(--learn-line); }
.student-shell .learning-module-finance { padding:14px 16px; margin-top:24px; background:var(--learn-soft); border-radius:12px; color:var(--learn-muted); }
.student-shell .learning-module-finance summary { cursor:pointer; line-height:1.5; }
.student-shell .learning-module-pagination { margin-top:24px; padding-top:20px; border-color:var(--learn-line); }
.student-shell .learning-activity-pagination { display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px; margin-top:24px; padding-top:18px; border-top:1px solid var(--learn-line); }
.student-shell .learning-draft-tools { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin:14px 0 22px; }
.student-shell .learning-draft-tools small { color:var(--learn-muted); font-size:11px; flex:1 1 180px; }
.student-shell [data-draft-status][data-state=error] { color:#a23535; }
.student-shell .learning-access-notice { padding:18px; margin:22px 0; background:var(--learn-soft); border:1px solid var(--learn-line); border-radius:12px; font-size:13px; line-height:1.7; }
.student-shell .learning-access-notice p { margin:8px 0 0; color:var(--learn-muted); }
.student-shell .journey-evidence { margin:28px 0 20px; grid-template-columns:minmax(0,1fr) minmax(0,1.2fr); gap:28px; }
.student-shell .journey-evidence p { font-size:13px; line-height:1.7; max-width:44ch; }
.student-shell .journey-evidence dl { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; align-content:start; }
.student-shell .journey-evidence dl>div { display:flex; flex-direction:column; align-items:start; justify-content:start; padding:14px; border:0; background:var(--learn-soft); border-radius:12px; gap:10px; }
.student-shell .journey-evidence dt { font-size:11px; line-height:1.4; color:var(--learn-muted); }
.student-shell .journey-evidence dd { font-size:15px; text-align:left; overflow-wrap:anywhere; }
.student-shell .journey-evidence dl>div:nth-child(n+4) { grid-column:span 1; }
.student-shell #dossier-administratif { padding:22px 28px; margin-bottom:24px; }
.student-shell #dossier-administratif>summary { display:flex; align-items:center; justify-content:space-between; gap:14px; cursor:pointer; list-style:none; }
.student-shell #dossier-administratif>summary::-webkit-details-marker { display:none; }
.student-shell #dossier-administratif>summary::after { content:"＋"; color:var(--learn-muted); }
.student-shell #dossier-administratif[open]>summary::after { content:"−"; }
.student-shell #dossier-administratif>summary strong { font-size:15px; }
.student-shell #dossier-administratif>summary small { display:block; margin-top:6px; font-size:12px; color:var(--learn-muted); }
.student-shell #dossier-administratif[open]>summary { margin-bottom:24px; }
.student-shell :is(.journey-overview,.learning-course,.journey-course-grid) .button.primary { background:var(--learn-ink); border-color:var(--learn-ink); color:#fff; }
.student-shell .learning-course-hero .button.primary { background:#fff; border-color:#fff; color:var(--learn-ink); }
.student-shell :is(.journey-course-card,.journey-catalogue-card) .eyebrow { color:var(--learn-accent); font-size:10px; }
.student-shell :is(.learning-course,.journey-overview,.journey-course-grid,.journey-evidence) .muted { color:var(--learn-muted); }
.student-shell .learning-course-hero .muted { color:#d5dfed; }
.student-shell :is(.student-home,.student-paths-page,.student-documents-page,.student-account-page) .page-head { border:0; padding-bottom:0; }
.student-shell :is(.student-home,.student-paths-page,.student-documents-page,.student-account-page) .page-head h1 { color:var(--learn-ink); font-size:clamp(30px,4vw,42px); }
.student-shell :is(.student-home,.student-paths-page,.student-documents-page,.student-account-page) .page-head p { color:var(--learn-muted); font-size:15px; }
.student-shell :is(.student-home-mini-list,.student-review-invitation,.student-profile-overview,.student-profile-review) { background:var(--learn-card); border:1px solid var(--learn-line); border-radius:20px; }
.student-shell .student-account-page .student-profile-layout>section,
.student-shell .student-profile-secondary>.panel { background:var(--learn-card); border:1px solid var(--learn-line); border-radius:20px; padding:24px; }
.student-shell .student-profile-layout>section>.panel { border:0; background:transparent; padding:0; box-shadow:none; }
.student-shell .student-profile-layout>section>.section-header { margin:0 0 22px; }
.student-shell .student-profile-layout>section>.section-header h2 { font-size:21px; color:var(--learn-ink); }
.student-shell .student-profile-layout input,.student-shell .student-profile-layout select,.student-shell .student-profile-layout textarea { min-width:0; max-width:100%; }
.student-shell .student-profile-secondary .section { border:0; box-shadow:none; }
.student-shell .student-document-folders { gap:12px; margin-bottom:24px; }
.student-shell .student-document-folder { background:var(--learn-card); border:1px solid var(--learn-line); border-radius:14px; padding:18px; }
.student-shell .student-document-folder.active { background:#edf3ff; border-color:#bdcce9; color:var(--learn-ink); }
.student-shell .student-document-row-list { display:grid; gap:12px; }
.student-shell .student-document-row { background:var(--learn-card); border:1px solid var(--learn-line); border-radius:16px; padding:20px; margin:0; }
.student-shell .student-document-row-copy h3 { font-size:16px; line-height:1.4; }
.student-shell .student-document-row-copy p { font-size:12px; color:var(--learn-muted); }
@media(hover:hover) and (pointer:fine) {
  .student-shell :is(.journey-overview,.learning-course,.journey-course-grid) .button.primary:not(:disabled):not([aria-disabled=true]):hover { background:#344866; border-color:#344866; color:#fff; }
  .student-shell .learning-course-hero .button.primary:not(:disabled):not([aria-disabled=true]):hover { background:#edf3ff; border-color:#edf3ff; color:var(--learn-ink); }
  .student-shell .learning-module-tabs [role=tab]:not([aria-selected=true]):hover { background:var(--learn-soft); }
  .student-shell .learning-lesson:not([open])>summary:hover { background:#f7f9fd; border-radius:14px; }
}
@media(max-width:1000px) {
  .student-shell .journey-evidence { grid-template-columns:minmax(0,1fr); }
  .student-shell .learning-course-action { align-items:start; }
}
@media(max-width:800px) {
  .student-shell .learning-workspace { grid-template-columns:minmax(0,1fr); gap:18px; }
  .student-shell .learning-module-menu { padding:16px 10px 4px; }
  .student-shell .learning-module-menu h2 { margin-bottom:10px; }
  .student-shell .learning-module-tabs [role=tab] { flex-basis:220px; width:220px; }
  .student-shell .learning-course-hero.card { grid-template-columns:minmax(0,1fr); padding:24px; gap:22px; border-radius:22px; }
  .student-shell .learning-course-metrics { display:grid; grid-template-columns:auto minmax(0,1fr); gap:8px 16px; padding:18px; }
  .student-shell .learning-course-metrics>strong { grid-column:1; grid-row:1 / span 2; align-self:center; font-size:32px; }
  .student-shell .learning-course-metrics>span { grid-column:2; grid-row:1; }
  .student-shell .learning-course-metrics>progress { grid-column:2; grid-row:2; }
  .student-shell .learning-course-metrics>p { grid-column:1/-1; }
  .student-shell .learning-course-action { flex-direction:column; gap:16px; }
  .student-shell .learning-course-action .button { width:100%; }
  .student-shell .learning-module.card { padding:22px; }
  .student-shell .learning-module>header { display:grid; grid-template-columns:44px minmax(0,1fr); }
  .student-shell .learning-module-state { grid-column:2; justify-self:start; margin:0; }
}
@media(max-width:480px) {
  .student-shell .learning-course-hero h1 { font-size:29px; }
  .student-shell .learning-module.card { padding:18px; }
  .student-shell .learning-module h2 { font-size:23px; }
  .student-shell .learning-lesson>summary { padding:14px 12px; gap:10px; }
  .student-shell .learning-lesson-content,.student-shell .learning-lesson>p { padding:16px; }
  .student-shell .learning-module-pagination .button { flex:1; }
  .student-shell .journey-evidence dl { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .student-shell .journey-evidence dl>div:last-child { grid-column:1/-1; }
  .student-shell :is(.journey-course-card,.journey-catalogue-card,.journey-evidence,#dossier-administratif) { padding:22px; border-radius:18px; }
  .student-shell .journey-next-action { padding:24px; }
  .student-shell .journey-next-action h2 { font-size:26px; }
  .student-shell .journey-discover { align-items:start; flex-direction:column; padding:22px; gap:16px; }
  .student-shell .journey-section-heading { align-items:start; flex-direction:column; }
}
