:root{font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif;color:#17324b;background:#f4f7fc;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-height:100vh}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a{color:inherit}.hidden{display:none!important}.header{background:#fff;border-bottom:1px solid #dee8f1;padding:14px max(16px,calc((100vw - 1440px)/2));display:flex;align-items:center;justify-content:space-between;gap:15px}.brand{display:flex;align-items:center;gap:16px}.brand img{width:min(230px,31vw);height:48px;object-fit:contain}.brandline{border-left:1px solid #d7e2ef;padding-left:15px;display:grid;gap:3px}.brandline strong{font-size:16px;color:#114378}.brandline small{font-size:12px;color:#72869b}.headerlinks{display:flex;align-items:center;gap:12px}.back,.quiet{border:1px solid #b9d0e9;background:#fff;border-radius:10px;padding:10px 13px;font-weight:750;text-decoration:none;color:#134c8c}.label-pilot{background:#fff2d5;color:#88510b;padding:7px 11px;border-radius:99px;font-size:11px;font-weight:850;white-space:nowrap}.main{max-width:1440px;margin:0 auto;padding:22px 22px 48px}.hero{position:relative;background:linear-gradient(108deg,#062f58 10%,#0d5691 80%,#157bb8);padding:26px 31px;border-radius:20px;color:#fff;display:flex;justify-content:space-between;align-items:center;overflow:hidden}.hero h1{font-size:clamp(26px,3vw,39px);line-height:1.16;margin:6px 0 7px}.hero p{font-size:14px;line-height:1.5;color:#e2f0fb;max-width:840px;margin:0}.eyebrow{font-size:11px;letter-spacing:.11em;font-weight:900;color:#aee4ff}.eyebrow.dark{color:#1c70bd}.heroIcon{font-size:75px;opacity:.75}.notice{border-radius:12px;padding:12px 15px;margin:14px 0;font-size:13px;font-weight:720}.notice.info{background:#e7f1fb;border:1px solid #b8d5ec;color:#114b80}.notice.warn{background:#fff3da;border:1px solid #f0cf8b;color:#754d07}.notice.error{background:#ffeaeb;border:1px solid #f0b2b9;color:#8c1622}.notice.success{background:#e5f5ed;border:1px solid #afdec6;color:#196345}.loginCard{background:#fff;border:1px solid #d8e5f2;border-radius:16px;padding:23px;max-width:560px;margin:25px auto;box-shadow:0 8px 24px #16457414}.loginCard h2{margin:0 0 8px}.loginCard p{font-size:14px;color:#59748c;line-height:1.5}.loginForm{display:grid;gap:14px}.loginForm label,.searchLabel{display:grid;gap:6px;font-weight:700;font-size:13px}.loginForm input,.searchLabel input{border:1px solid #bed1e4;border-radius:10px;padding:11px 12px;min-height:45px;width:100%}.primary{border:none;border-radius:11px;padding:12px 18px;color:#fff;background:#0d68b4;font-weight:850;min-height:44px}.workspace{display:grid;gap:16px}.classbar{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:5px}.classbar h2{margin:4px 0;font-size:20px}.classchips{display:flex;gap:11px;flex:1;flex-wrap:wrap}.classchip{border-radius:13px;background:white;border:1px solid #bcd3e8;box-shadow:0 2px 12px #1855870d;padding:12px 17px;min-width:155px;color:#19486e;font-size:15px;font-weight:800}.classchip.active{color:#fff;background:#0d65b0;border-color:#0d65b0;box-shadow:0 5px 16px #075caa40}.classchip small{font-size:11px;display:block;opacity:.8;margin-top:3px}.numbers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.number{border:1px solid #d8e4f1;border-radius:15px;background:#fff;box-shadow:0 2px 13px #1645740e;padding:15px 17px;display:grid;gap:5px;min-height:95px}.number strong{font-size:30px;font-variant-numeric:tabular-nums;color:#0c5fa8}.number span{color:#5f7790;font-size:12px;font-weight:740}.tabs{display:flex;flex-wrap:wrap;gap:9px;margin-top:1px}.tab{border-radius:10px;background:#eef5fc;color:#356180;border:1px solid #cbddeb;padding:10px 15px;font-weight:800;min-height:45px}.tab.active{background:#0b4e88;border-color:#0b4e88;color:#fff}.panel{border:1px solid #d7e4f0;border-radius:17px;background:#fff;box-shadow:0 5px 24px #143a6210;padding:22px;min-width:0}.panel h3{margin:0 0 7px;font-size:19px}.panel p{font-size:13px;color:#698198;line-height:1.5}.panel .muted{color:#65829a}.panelTitle{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:12px}.panelTitle p{margin:4px 0 0}.searchLabel{min-width:175px;color:#466983}.split{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:15px;align-items:start}.roster{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;max-height:620px;overflow:auto;padding:2px}.student{display:flex;gap:10px;align-items:center;text-align:left;background:#f7faff;border:1px solid #d4e5f4;border-radius:12px;padding:11px;min-height:80px;color:#1a4464}.student:hover,.student.selected{border-color:#1b79c2;background:#e8f4ff}.avatar{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#e3eff9;color:#0d5b9d;font-weight:900;flex-shrink:0}.student .stext{min-width:0}.student .stext strong{display:block;font-size:13px;overflow-wrap:anywhere}.student .stext small{display:block;font-size:11px;color:#657e95;margin-top:3px}.cardgrid{display:grid;gap:10px;margin-top:13px}.infoitem{border:1px solid #d7e4f0;background:#f9fbfe;border-radius:11px;padding:12px 13px;display:grid;gap:6px;overflow-wrap:anywhere}.infoitem b{font-size:13px;color:#254968}.infoitem span{font-size:12px;color:#607d96}.infoitem .subtext{color:#446d8c}.pill{font-size:11px;padding:4px 8px;border-radius:100px;background:#e3f4ed;color:#166a4c;width:max-content;font-weight:750}.pill.wait{background:#fff0d9;color:#926012}.detailPanel .title{display:flex;align-items:center;gap:11px;margin-bottom:14px}.detailPanel .title strong{display:block;font-size:19px}.detailPanel .title small{color:#678099;font-size:12px}.detailPanel h4{font-size:14px;color:#144e85;margin:19px 0 7px}.empty{border:1px dashed #b9d0e2;border-radius:12px;padding:20px 14px;color:#6d8297;font-size:13px;text-align:center;background:#fafcff;line-height:1.55}.future{text-align:center;max-width:830px;margin:auto;padding:50px 28px}.future p{max-width:650px;margin:12px auto}.futureIcon{font-size:42px}.footerNote{font-size:11px;color:#7790a5;padding:3px 0}.tag{display:inline-flex;align-items:center;border:1px solid #d0dfee;color:#437196;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:800}.rowEnd{display:flex;gap:7px;flex-wrap:wrap;align-items:center;margin-top:6px}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #ffab39;outline-offset:2px}@media(max-width:1040px){.numbers{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr}.brandline{display:none}}@media(max-width:640px){.main{padding:12px 11px 32px}.header{padding:10px 12px}.brand img{width:170px;height:40px}.headerlinks{gap:5px}.label-pilot{font-size:9px;padding:5px 8px}.back{font-size:11px;padding:8px}.hero{padding:20px 16px}.hero p{font-size:13px}.heroIcon{display:none}.classbar{align-items:stretch;gap:10px}.classchips{width:100%}.classchip{flex:1;min-width:125px}.numbers{gap:7px}.number{min-height:85px;padding:12px}.number strong{font-size:25px}.number span{font-size:11px}.tabs{display:grid;grid-template-columns:1fr 1fr;gap:7px}.tab{font-size:12px;padding:9px 7px}.panel{padding:14px}.panelTitle{align-items:stretch;flex-direction:column}.roster{grid-template-columns:1fr;max-height:none}}

/* V43 — Activités de la progression consultables sans affectation individuelle. */
.programPanel{margin-top:15px}.plannedActivities{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin-top:13px}.plannedActivities .infoitem{min-height:108px}.plannedActivities .infoitem em{font-style:normal;font-size:11px;color:#0a6ca8;font-weight:800}.plannedActivities .infoitem b{font-size:14px}
@media(max-width:1040px){.plannedActivities{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.plannedActivities{grid-template-columns:1fr}}
