:root{--blue:#D86DCD;--blue2:#F9EDF8;--ink:#2a1728;--muted:#68717a;--line:#dedde0;--ok:#267a4d;--bad:#a23a3a;--warn:#9b6d14;--paper:#f6f5f6;--card:#fff;--dark:#7A3573;--teal:#B653AB}*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,Arial,sans-serif;background:var(--paper);color:var(--ink)}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.top{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid var(--line);padding:12px 22px;display:flex;align-items:center;gap:12px}.top img{width:52px;height:52px}.top h1{font-size:18px;margin:0}.top p{margin:2px 0;color:var(--muted);font-size:12px}.spacer{flex:1}.btn{border:0;background:var(--blue);color:#fff;border-radius:9px;padding:10px 14px;font-weight:800}.btn.secondary{background:#fff;color:var(--ink);border:1px solid var(--line)}.btn.good{background:var(--ok)}.btn.warn{background:#b57d15}.btn.bad{background:var(--bad)}.btn:disabled{opacity:.45;cursor:not-allowed}.shell{display:grid;grid-template-columns:270px 1fr;min-height:calc(100vh - 70px)}aside{background:#fff;border-right:1px solid var(--line);padding:16px;overflow:auto}main{min-width:0;padding:24px max(18px,3vw);max-width:1280px;width:100%;margin:auto}.identity,.notice{background:#f9f1f8;border:1px solid #ebcfe8;padding:12px;border-radius:12px;margin-bottom:14px}.navbtn{display:block;width:100%;text-align:left;border:1px solid transparent;background:#fff;border-radius:10px;padding:10px;margin:4px 0}.navbtn:hover,.navbtn.active{background:#f9f1f8;border-color:#eacae6}.hero{background:linear-gradient(135deg,#fff,#f9f1f8);border:1px solid #ecd2ea;border-radius:18px;padding:22px;margin-bottom:18px}.hero h2{margin:4px 0 8px}.eyebrow{font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:900;color:var(--blue)}.chips{display:flex;gap:7px;flex-wrap:wrap}.chip{background:#fff;border:1px solid #eacfe7;border-radius:99px;padding:5px 9px;font-size:12px;font-weight:800}.card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:18px 20px;margin:14px 0}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:13px}.card h3{margin-top:0}.muted{color:var(--muted)}.tabs{display:flex;gap:7px;border-bottom:1px solid var(--line);margin-bottom:15px}.tab{border:0;background:none;padding:11px 14px;font-weight:900;color:var(--muted);border-bottom:3px solid transparent}.tab.active{color:var(--blue);border-color:var(--blue)}.question,.criterion,.stagebox{background:#fff;border:1px solid var(--line);border-radius:13px;padding:16px;margin:12px 0}.choice{display:block;border:1px solid #e7d9e6;border-radius:9px;padding:9px;margin:7px 0}.choice:hover{background:#fcf8fc}.feedback{font-weight:800;margin-top:8px}.feedback.ok{color:var(--ok)}.feedback.no{color:var(--bad)}.target{background:#f2f9ee;border-left:4px solid #4a8b59;padding:12px;border-radius:8px}.quote{background:#faf3f9;border-radius:9px;padding:12px}.focus{background:#e9f6ec;border:1px solid #b4dec0;padding:12px;border-radius:9px}.schematarget{max-width:100%;width:900px;border:1px solid #e8c8e5;border-radius:13px;background:#fff}.evidence-preview{max-width:100%;max-height:420px;border-radius:10px;border:1px solid var(--line);display:block;margin:10px 0}.ratings{display:flex;gap:8px;flex-wrap:wrap}.rating{border:1px solid var(--line);background:#fff;border-radius:9px;padding:9px 12px;font-weight:900}.rating.selected{outline:3px solid #e39bdc}.grade{font-size:28px;font-weight:1000;color:var(--dark)}.bar{height:9px;background:#f2e9f1;border-radius:10px;overflow:hidden}.bar span{display:block;height:100%;background:var(--blue)}textarea,input[type=text],input[type=email],input[type=password],select{width:100%;padding:9px 10px;border:1px solid #dfcbdd;border-radius:9px}textarea{min-height:110px}.field{display:block;margin:10px 0}.field span{display:block;font-weight:800;margin-bottom:5px}.login{max-width:460px;margin:8vh auto;background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px;box-shadow:0 14px 40px #491e4514}.login img{width:92px}.tablewrap{overflow-x:auto}.table{width:100%;border-collapse:collapse}.table th,.table td{border-bottom:1px solid var(--line);padding:10px;text-align:left;vertical-align:top}.badge{display:inline-block;border-radius:99px;padding:4px 8px;background:#f6eef5;font-size:12px;font-weight:800}.badge.ok{background:#e5f4ea;color:var(--ok)}.badge.wait{background:#fff5df;color:#8a651a}.thumb{width:160px;max-height:100px;object-fit:cover;border-radius:8px;border:1px solid var(--line)}.toast{position:fixed;right:18px;bottom:18px;background:#461c41;color:#fff;padding:11px 14px;border-radius:10px;z-index:100}.project-color{border-left:6px solid var(--project-color,#b72da9)}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.live{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--ok);font-weight:900}.live:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--ok)}@media(max-width:850px){.shell{display:block}aside{border-right:0;border-bottom:1px solid var(--line)}.top{position:relative}.top p{display:none}}
/* V2 progression + inspection */
.mindmap{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;align-items:start}.mindseq{position:relative;border:1px solid var(--line);border-radius:14px;background:#fcf9fc;padding:12px}.mindroot{display:inline-block;background:var(--dark);color:#fff;border-radius:9px;padding:7px 11px;font-weight:900;margin-bottom:10px}.mindbranch{display:grid;gap:8px;border-left:3px solid #e4bce0;padding-left:12px;margin-left:10px}.mindtp{background:#fff;border:1px solid #ead6e8;border-radius:10px;padding:9px}.mindtp b{display:block;color:var(--blue)}.mindtp span{display:block;font-weight:700;margin:2px 0}.mindtp small{color:var(--muted)}.progression-table td{min-width:110px}.progression-table td:nth-child(4){min-width:220px}.progression-table td:nth-child(5),.progression-table td:nth-child(7){min-width:300px}.nature-vacances,.nature-pfmp,.nature-parcours-en-y{background:#f5f6f7}.inspection-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:18px;align-items:start}.inspection-index{position:sticky;top:84px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px;max-height:calc(100vh - 105px);overflow:auto}.inspection-paper{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px;box-shadow:0 8px 28px #461c410d}.inspection-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;border-bottom:2px solid #f0dcee;padding-bottom:14px;margin-bottom:18px}.inspection-head h2{margin:4px 0}.inspection-paper section{margin:22px 0}.inspection-paper section h3{color:var(--dark);border-bottom:1px solid var(--line);padding-bottom:6px}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:9px}.info-grid>div{background:#faf4f9;border:1px solid var(--line);border-radius:10px;padding:10px}.info-grid b,.info-grid span{display:block}.info-grid span{margin-top:4px}.inspection-paper li{margin:5px 0}@media(max-width:950px){.inspection-layout{display:block}.inspection-index{position:static;max-height:none;margin-bottom:14px}}@media print{body{background:#fff}.top,aside,.no-print,.toast{display:none!important}.shell{display:block}.shell main,main{padding:0;max-width:none}.inspection-layout{display:block}.inspection-paper{border:0;box-shadow:none;padding:0}.inspection-paper section{break-inside:avoid}.table{font-size:10pt}.card{break-inside:avoid}}

/* V3 — présentation globale TP/projet + identifiants élèves */
.overview-panel{background:#fff;border:1px solid #ecd2ea;border-radius:20px;padding:24px;margin:0 0 22px;box-shadow:0 8px 28px #461c410b}
.overview-banner{display:block;width:100%;max-height:520px;object-fit:cover;border-radius:16px;border:1px solid #ecd2ea;margin:0 0 20px;box-shadow:0 9px 24px #491e4512}
.overview-panel h2{font-size:30px;margin:7px 0 12px}.overview-note{background:#fcf8fc;border:1px solid #eed4eb;border-radius:14px;padding:16px;margin:18px 0}
.overview-note h3{margin:0 0 7px}.introdiagram{display:flex;gap:10px;align-items:center;justify-content:space-around;flex-wrap:wrap;margin:18px 0}.introdiagram span{background:#fcf9fc;padding:14px 16px;border:1px solid #e7c6e4;border-radius:12px;font-weight:800}.introdiagram b{color:var(--blue)}
.missiongrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0}.phase{border:1px solid #e4bee0;border-radius:15px;padding:16px;background:#fcf9fc}.phase strong{color:#5a2555}
.project-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:16px}.project-tile{background:#fff;border:1px solid var(--line);border-top:6px solid var(--tile-color,#b72da9);border-radius:14px;padding:16px}.project-tile h3{margin:0 0 8px}.project-tile p{color:#745271;line-height:1.48}
.loginhint{font-size:12px;margin:-3px 0 10px}.top img,.login img{object-fit:contain}
@media(max-width:820px){.missiongrid{grid-template-columns:1fr}.overview-panel{padding:16px}.overview-panel h2{font-size:25px}}


/* V4 — lisibilité des listes, documents projet et bonus suivis */
.inline-gap{display:inline;margin-left:.42rem}
.term-separator{display:inline-block;margin:0 .45rem;color:#a58aa2}
.quote,.focus,.criterion,.card{line-height:1.55}
.quote b,.focus b,.target b,.notice b{letter-spacing:.005em}

.tp-list-hero{box-shadow:0 8px 26px #491e450a}
.tp-list-section{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;margin:16px 0;box-shadow:0 6px 20px #491e4508}
.tp-list-section.bonus-section{border-color:#ddd6e8;background:linear-gradient(180deg,#fff,#fcfaff)}
.list-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid #f1e7f0}
.list-heading h3{margin:3px 0 0;font-size:20px;color:var(--dark)}
.list-hint{font-size:12px;color:var(--muted);white-space:nowrap}
.bonus-eyebrow{color:#75608f}
.tp-list{display:grid;gap:8px}
.tp-row{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;text-align:left;background:#fff;border:1px solid #ebdce9;border-left:4px solid #c27fbb;border-radius:12px;padding:13px 15px;color:var(--ink);box-shadow:0 2px 7px #491e4506;transition:.14s ease}
.tp-row:hover{background:#fcf9fc;border-color:#e2b9de;transform:translateY(-1px);box-shadow:0 5px 14px #491e450d}
.tp-row.bonus-row{border-left-color:#8c75a6;background:#fefcff}
.tp-row.bonus-row:hover{background:#faf7fd;border-color:#cec2dc}
.tp-main{display:flex;align-items:baseline;gap:.55rem;min-width:0}
.tp-num{font-weight:900;color:#4f204a;white-space:nowrap}
.tp-title{font-weight:750;line-height:1.3}
.tp-meta{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
.seq-pill,.time-pill,.bonus-pill{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:850;line-height:1.2}
.seq-pill{background:#f8eef7;color:#773670;border:1px solid #edd2ea}
.time-pill{background:#f5f6f7;color:#72596f;border:1px solid #e7e0e6}
.bonus-pill{background:#f1ebf7;color:#674d7f;border:1px solid #d9cbe6}
.bonus-chip{background:#f5eff9!important;border-color:#d8c9e4!important;color:#684e80}
.bonus-hero{background:linear-gradient(135deg,#fff,#f7f3fa);border-color:#d9cde4}
.accent-card{border-left:5px solid #b678b0;background:linear-gradient(135deg,#fff,#fcf9fc)}
.info-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;margin-top:14px}
.info-strip>span{background:#fbf6fa;border:1px solid #ebdbe9;border-radius:10px;padding:10px}
.info-strip b{display:block;color:#6b3165;font-size:12px;margin-bottom:3px}
.taskline{display:grid;grid-template-columns:32px minmax(0,1fr);gap:10px;align-items:start;padding:11px 12px;margin:8px 0;background:#fbf8fb;border:1px solid #ece1eb;border-radius:10px}
.step-index{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:#f5e7f4;color:#72316b;font-weight:900}
.proof-line{display:grid;grid-template-columns:110px minmax(0,1fr);gap:12px;padding:11px 0;border-bottom:1px solid #f3edf2}
.proof-line:last-child{border-bottom:0}
.proof-line b{color:#6c3166}
.subtle-notice{background:#fbf5fa;border-color:#ead5e8}
.bonus-notice{background:#f8f5fb;border-color:#ddd2e7}
.bonus-criterion{border-left:4px solid #8b76a1}
.bonus-complete{margin:12px 0 0;background:#edf8f0;border:1px solid #c9e4d0;color:#26633e;padding:10px 12px;border-radius:10px;font-weight:800}

.resource-panel{background:linear-gradient(135deg,#fff,#fcf6fb);border:1px solid #e8cfe5;border-left:5px solid #aa5da2;border-radius:15px;padding:17px 18px;margin:14px 0}
.resource-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.resource-head h3{margin:4px 0 0;color:var(--dark)}
.text-link{color:#813479;font-weight:800;text-decoration:none}
.text-link:hover{text-decoration:underline}
.resource-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.resource-actions.compact{margin-top:8px}
.resource-btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border:1px solid #e4cae1;background:#fff;color:#491e45;border-radius:9px;padding:9px 12px;font-weight:800}
.resource-btn:hover{background:#f9f0f8;border-color:#d89fd2}
.resource-btn.primary{background:#75306e;color:#fff;border-color:#75306e}
.resource-btn.primary:hover{background:#64295e}
.resource-more{margin-top:12px;padding-top:10px;border-top:1px solid #ede1ec}
.resource-more summary{cursor:pointer;font-weight:800;color:#70386a}

.correction-card{border-left:4px solid #c27fbb}
.correction-card.bonus-correction{border-left-color:#8b76a1}
.correction-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}
.correction-head h3{margin:3px 0 4px}

.overview-panel{border-top:4px solid #b66dae;box-shadow:0 9px 26px #491e450d}
.project-overview{border-top-color:#8d4b86}
.overview-note{background:linear-gradient(135deg,#fcf8fc,#f8f2f7);border-left:4px solid #9e6c99}
.phase{background:linear-gradient(135deg,#fefbfd,#faf3f9);box-shadow:0 2px 8px #491e4506}
.project-tile{box-shadow:0 4px 12px #491e4508}

@media(max-width:720px){
  .tp-row{grid-template-columns:1fr;gap:8px}
  .tp-meta{justify-content:flex-start}
  .tp-main{align-items:flex-start}
  .list-heading{align-items:flex-start;flex-direction:column;gap:4px}
  .list-hint{white-space:normal}
  .resource-head{display:block}
  .proof-line{grid-template-columns:1fr;gap:3px}
  .correction-head{display:block}
}


/* ===== Soutien Parcoursup Terminale CIEL ===== */
.parcoursup-home{border-top:4px solid #a866a1}
.ps-hero,.ps-activity-head,.ps-teacher-head{border-left:5px solid #a866a1;background:linear-gradient(135deg,#fcf7fb,#f8eef7)}
.ps-progress{height:10px;background:#efe3ee;border-radius:999px;overflow:hidden;margin:18px 0 6px}.ps-progress>div{height:100%;background:#a866a1;border-radius:999px;transition:width .25s ease}
.ps-phase{margin:28px 0}.ps-phase>h3{margin:0 0 12px;color:#4a2646;font-size:1.05rem}.ps-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}
.ps-card{width:100%;text-align:left;border:1px solid #e9d8e7;background:#fff;border-radius:16px;padding:17px;display:flex;gap:12px;justify-content:space-between;align-items:flex-start;cursor:pointer;color:inherit;font:inherit;box-shadow:0 4px 14px rgba(25,48,66,.05)}.ps-card:hover{border-color:#c79ac2;transform:translateY(-1px)}.ps-card h4{margin:5px 0 7px;font-size:1rem}.ps-card p{margin:0;color:#775d74;font-size:.92rem;line-height:1.45}.ps-status{white-space:nowrap;border-radius:999px;padding:5px 9px;font-size:.75rem;font-weight:700}.ps-status.todo{background:#f5f0f4;color:#66717d}.ps-status.draft{background:#f9eff8;color:#84457e}.ps-status.wait{background:#fff2d8;color:#85611c}.ps-status.ok{background:#e4f5e9;color:#287249}.ps-status.bad{background:#fde9e7;color:#9a443e}
.ps-back{margin-bottom:12px}.ps-form textarea{min-height:105px;resize:vertical}.ps-form .field{margin-bottom:18px}.ps-form .field span{display:block;line-height:1.45;margin-bottom:7px}.ps-save-state{font-size:.82rem;color:#71808e;margin:5px 0 15px}.ps-feedback{border-left:5px solid #d89430}.ps-feedback.validated{border-left-color:#3a8a59;background:#f4fbf6}.ps-feedback.rework{background:#fff9ef}.ps-teacher-card .quote{margin:10px 0}.ps-teacher-card textarea{width:100%}.hero.compact{padding-top:18px;padding-bottom:18px;margin-top:24px}
@media(max-width:700px){.ps-grid{grid-template-columns:1fr}.ps-card{padding:14px}.ps-card h4{font-size:.98rem}.ps-card p{font-size:.88rem}.ps-status{font-size:.7rem}.ps-activity-head h2{font-size:1.45rem}.ps-form{padding:16px}.ps-form textarea{font-size:16px}.ps-teacher-card{padding:14px}}


/* V5 — espace professeur unifié : TP + projets */
.navbtn.nav-priority{font-weight:900;border-color:#e4bce0;background:#fcf8fc}
.navbtn.nav-priority.active{background:#f6e8f4;border-color:#d58fce;color:#4f204a}
.teacher-call-hero{border-left:5px solid #b72da9}
.teacher-work-hero{border-left:5px solid #b72da9;background:linear-gradient(135deg,#fff,#faf2f9)}
.teacher-filter-card{position:sticky;top:78px;z-index:9;background:#fff;border:1px solid #e5cfe3;border-radius:15px;padding:14px 16px;margin:0 0 18px;box-shadow:0 7px 24px rgba(23,60,80,.08)}
.teacher-filter-grid{display:grid;grid-template-columns:1.05fr .9fr 1.4fr .9fr 1.05fr;gap:10px;align-items:end}
.teacher-filter-grid label{min-width:0}
.teacher-filter-grid label>span{display:block;font-size:12px;font-weight:900;color:#654061;margin:0 0 5px}
.teacher-filter-grid select{background:#fff;min-height:42px}
.teacher-filter-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:11px;padding-top:10px;border-top:1px solid #f3edf2}
.unified-work-card{border-left:5px solid #c27fbb;scroll-margin-top:190px}
.unified-work-card.project-work-card{border-left-color:#8d4b86}
.unified-work-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:12px}
.unified-work-head h3{margin:5px 0 4px}
.unified-work-head p{margin:0;color:var(--muted)}
.unified-work-head small{color:var(--muted);white-space:nowrap}
.work-labels{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.type-pill{display:inline-flex;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:900;border:1px solid}
.tp-type{background:#f8eef7;color:#72316b;border-color:#edd2ea}
.project-type{background:#edf7f5;color:#326760;border-color:#cfe6e1}
.badge.draft{background:#f9eff8;color:#84457e}
.badge.bad{background:#fde9e7;color:#9a443e}
.teacher-project-review{display:grid;grid-template-columns:180px minmax(0,1fr);gap:12px}
.empty-work{text-align:center;padding:28px}
@media(max-width:1050px){
 .teacher-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .teacher-filter-grid label:nth-child(3){grid-column:1/-1}
}
@media(max-width:700px){
 .teacher-filter-card{position:static}
 .teacher-filter-grid{grid-template-columns:1fr}
 .teacher-filter-grid label:nth-child(3){grid-column:auto}
 .teacher-filter-foot{align-items:flex-start;flex-direction:column}
 .unified-work-head{display:block}
 .unified-work-head small{display:block;margin-top:8px;white-space:normal}
 .teacher-project-review{grid-template-columns:1fr}
}


/* V6 — Parcoursup intégré à la file unifiée */
.unified-work-card.parcoursup-work-card{border-left-color:#8669a8}
.parcoursup-type{background:#f5f0fa;color:#654d80;border-color:#dfd2ec}
.parcoursup-work-card .quote{background:#fbf9fd}


/* V7 — notation des TP sans capture et clôture au temps imparti */
.tp-closed-chip{background:#f7e9e7!important;color:#8f403a!important;border-color:#edc8c4!important}
.tp-closed-notice{border-left:4px solid #a45249;background:#fff8f7}
.deadline-panel{border:1px solid #ddb8d9;border-left:5px solid #7c3375;background:linear-gradient(135deg,#fff,#fbf5fa)}
.deadline-head h3{margin:4px 0 6px}
.deadline-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;margin-top:14px}
.deadline-review-hero{border-left:5px solid #7c3375}
.tp-review-back{margin-bottom:12px}
.qcm-deadline-summary{border-left:4px solid #926a8e}
.deadline-stats{display:flex;gap:12px;flex-wrap:wrap}
.deadline-stats span{background:#f8f5f8;border:1px solid #ebe0ea;border-radius:10px;padding:9px 12px}
.deadline-criterion{border-left:4px solid #b57baf}
.deadline-criterion.no-evidence{border-left-color:#a85e58;background:#fffbfa}
.deadline-criterion-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.deadline-criterion-head h3{margin:3px 0 8px}
.deadline-actions-card{border:1px solid #dec9c5;background:#fffafa}
.deadline-warning{border-left:4px solid #a45249;background:#fff4f2;border-radius:9px;padding:11px 13px;margin:12px 0}
.btn.danger{background:#9a4038;color:white;border-color:#9a4038}
@media(max-width:700px){
 .deadline-controls{grid-template-columns:1fr}
 .deadline-criterion-head{display:block}
 .deadline-criterion-head .badge{display:inline-flex;margin-bottom:8px}
}


/* V8 — projet : consignes plus accessibles sans donner les réponses */
.project-simple-stage{
  border-left:4px solid #915f8c;
  background:#fbf8fb;
}
.project-simple-stage h3{margin:4px 0 10px}
.project-simple-stage ol{margin:8px 0 8px 22px;padding:0}
.project-simple-stage li{margin:7px 0;line-height:1.45}
.project-individual-work{border-top:3px solid #e5d6e3}
.project-form-intro{
  background:#f8f5f8;
  border:1px solid #eae1e9;
  border-radius:10px;
  padding:10px 12px;
  color:#5a3e57;
}
.project-answer-zone{
  margin:18px 0 22px;
  padding:0 0 20px;
  border-bottom:1px solid #efe7ee;
}
.project-answer-zone:last-of-type{border-bottom:0}
.project-answer-zone.secondary-zone{margin-top:14px}
.project-question-title{
  display:block;
  font-weight:850;
  color:#492645;
  line-height:1.45;
  margin-bottom:8px;
}
.project-writing-help{
  background:#f9f6f9;
  border-left:4px solid #a67da2;
  border-radius:8px;
  padding:10px 12px;
  margin:7px 0 9px;
  color:#573b54;
}
.project-writing-help.compact{background:#fafbfb;border-left-color:#b49ab1}
.project-writing-help-title{
  font-size:13px;
  font-weight:900;
  color:#5e365a;
  margin-bottom:4px;
}
.project-writing-help p{margin:4px 0;line-height:1.45}
.project-writing-help .sentence-starter{
  margin-top:7px;
  color:#70526d;
  font-style:italic;
}
.project-answer-zone textarea{
  min-height:118px;
  line-height:1.5;
}
.project-answer-zone textarea::placeholder{
  color:#7d8a91;
  opacity:1;
  font-style:italic;
}
@media(max-width:700px){
  .project-writing-help{padding:9px 10px}
  .project-answer-zone textarea{min-height:132px}
}


/* V10 — plateforme pédagogique multi-professeurs */
.platform-login{text-align:left}.platform-login .large{width:72px;height:72px;font-size:24px;margin-bottom:14px}.portal-subtitle{font-size:17px;color:var(--muted);margin-top:-5px}.school-mark{width:52px;height:52px;flex:0 0 52px;border-radius:13px;background:#451c41;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900;letter-spacing:.04em}.school-mark.large{border-radius:18px}.portal-top{background:#fff;border-bottom:1px solid var(--line);padding:14px max(18px,4vw);display:flex;gap:12px;align-items:center}.portal-top h1{font-size:19px;margin:0}.portal-top p{font-size:12px;color:var(--muted);margin:2px 0}.portal-main{max-width:1120px;margin:0 auto;padding:28px max(18px,4vw)}.portal-heading{margin-bottom:18px}.portal-heading h2{margin:0 0 5px}.portal-heading p{color:var(--muted);margin:0 0 12px}.portal-actions{display:flex;gap:8px;flex-wrap:wrap}.course-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:14px}.course-card{display:flex;align-items:center;gap:14px;text-align:left;background:#fff;border:1px solid var(--line);border-radius:15px;padding:16px;min-height:92px}.course-card:hover{border-color:#cb9fc6;background:#fefbfd}.course-logo{width:66px;height:66px;object-fit:contain}.course-initials{width:62px;height:62px;border-radius:14px;background:#f6eef5;color:#60285a;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:17px}.course-card-text{display:flex;flex-direction:column;gap:5px;min-width:0;flex:1}.course-card-text b{font-size:16px}.course-card-text small{color:var(--muted)}.course-arrow{font-size:30px;color:#9b7a98}.portal-form{margin-top:18px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px}.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.compact-hero{padding:18px 20px}.compact-hero p{margin-bottom:8px}.course-section{padding-top:14px}.activity-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #f3edf2;padding:12px 0}.activity-row>div:first-child{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}.activity-type{display:inline-block;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;color:#7b5377;background:#f6eef5;border-radius:999px;padding:4px 7px}.btn.small{padding:6px 9px;font-size:12px}.builder-editor{border-left:4px solid #9a5c94}.qcm-builder{border:1px solid var(--line);border-radius:12px;padding:12px;margin:10px 0}.qcm-edit-row{border-top:1px solid #efe6ee;padding:12px 0}.qcm-edit-row:first-of-type{border-top:0}.qcm-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.qcm-correct{max-width:220px}.enroll-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr auto;gap:10px;align-items:end}.enroll-btn{margin-bottom:10px}.submission-card{border-left:4px solid #a4789f}.gradebook-wrap{max-height:70vh}.gradebook th,.gradebook td{white-space:nowrap;text-align:center}.gradebook .sticky-col{position:sticky;left:0;background:#fff;z-index:2;text-align:left;min-width:210px}.gradebook thead .sticky-col{z-index:3}.gradebook th{position:sticky;top:0;background:#faf7fa;z-index:1}.avg-cell{font-weight:900;background:#faf4f9}.grade-filter{min-width:180px;margin:0}.student-activity-list{display:grid;gap:8px}.student-activity{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;width:100%;border:1px solid #eadce9;background:#fff;border-radius:10px;padding:11px;text-align:left}.student-activity:hover{background:#fcf8fc}.student-activity small{color:var(--muted)}.course-body{line-height:1.55}.grade-small{font-size:20px;font-weight:900}.top .school-mark{width:52px;height:52px}.top img{object-fit:contain}
@media(max-width:780px){.portal-top{flex-wrap:wrap}.portal-top strong{order:3;width:100%}.form-grid,.qcm-options,.enroll-grid{grid-template-columns:1fr}.activity-row,.section-head{align-items:flex-start;flex-direction:column}.student-activity{grid-template-columns:1fr}.gradebook .sticky-col{min-width:165px}.portal-main{padding-top:18px}}


/* V10.1 — présentation sobre, type espace pédagogique d'établissement */
body{background:#f5f6f7}
.top{padding:10px 18px}
.top img{width:48px;height:48px}
.top h1{font-size:17px}
.shell{grid-template-columns:250px 1fr}
main{padding:20px max(16px,2.5vw)}

.hero,
.teacher-work-hero,
.teacher-call-hero,
.bonus-hero,
.accent-card{
  background:#fff!important;
  border:1px solid #e2d6e1!important;
  border-radius:8px!important;
  box-shadow:none!important;
}
.hero{padding:16px 18px;margin-bottom:14px}
.hero h2{font-size:22px;margin:2px 0 6px}
.eyebrow{
  font-size:12px;
  letter-spacing:0;
  text-transform:none;
  font-weight:700;
  color:#6e526b;
}
.card,
.question,
.criterion,
.stagebox,
.tp-list-section,
.overview-panel,
.inspection-paper,
.inspection-index,
.teacher-filter-card{
  border-radius:8px!important;
  box-shadow:none!important;
}
.card{padding:15px 17px;margin:11px 0}
.notice,.identity,.quote,.focus,.target{border-radius:6px}
.chip,.badge,.seq-pill,.time-pill,.bonus-pill,.type-pill{border-radius:5px!important}
.navbtn{border-radius:6px;padding:9px 10px}
.navbtn:hover,.navbtn.active{background:#f6eef5;border-color:#e3d4e1}
.btn{border-radius:6px;font-weight:700}
.tabs{gap:0}
.tab{font-weight:700}
.login{
  border-radius:10px;
  box-shadow:none;
  padding:24px;
}
.login img{width:84px}
.overview-panel{
  padding:18px;
  border-color:#e2d6e1;
}
.overview-banner{border-radius:6px;box-shadow:none}
.overview-note{border-radius:6px}
.introdiagram span,.phase,.project-tile{border-radius:6px;box-shadow:none}
.tp-list-section.bonus-section{background:#fff}
.tp-row{
  border-radius:6px;
  box-shadow:none;
  transition:none;
}
.tp-row:hover{transform:none;box-shadow:none}
.tp-row.bonus-row{background:#fff}
.tp-list-hero{box-shadow:none}
.project-simple-stage{background:#faf8fa}
.project-writing-help{border-radius:5px}
.teacher-filter-card{position:sticky}
.deadline-panel{background:#fff}
.parcoursup-work-card .quote{background:#f9f7f9}
@media(max-width:700px){
  .hero{padding:14px}
  .card{padding:14px}
}


/* V10.2 — bannière CIEL avec les vrais élèves */
.overview-banner{
  width:100%;
  height:auto;
  max-height:none;
  object-fit:contain;
  background:#fff;
}


/* V11 — gestion autonome des comptes élèves */
.password-change-card{max-width:520px}
.password-logout{margin-top:10px}
.account-manage-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.credentials-panel{border-left:4px solid #8c5386;background:#fdfbfd}
.temp-password{font-weight:800;font-size:14px}
.account-errors{margin-top:12px}
.account-errors ul{margin:8px 0 0 18px}
.student-account-table code{font-size:12px}
.row-actions{display:flex;gap:7px;flex-wrap:wrap}
.student-account-table th:last-child{min-width:245px}
@media(max-width:900px){
 .account-manage-grid{grid-template-columns:1fr}
 .student-account-table th:last-child{min-width:190px}
}


/* V12 — administration des comptes professeurs */
.admin-teacher-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.admin-title-card{border-left:4px solid #874f81}
.teacher-admin-table th:last-child{min-width:270px}
.teacher-credential-card{border-left:4px solid #4a7f68;background:#fbfdfc}
.admin-tag{display:inline-block;font-size:11px;padding:2px 6px;border-radius:4px;background:#f5edf4;color:#684665;margin-left:5px}
@media(max-width:900px){
 .admin-teacher-grid{grid-template-columns:1fr}
 .teacher-admin-table th:last-child{min-width:210px}
}


/* V13 — nombre de captures adapté aux preuves demandées */
.evidence-gallery{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:10px;
  margin:10px 0 14px;
}
.evidence-gallery a{display:block;min-width:0}
.evidence-gallery .evidence-preview{
  width:100%;
  height:auto;
  max-height:260px;
  object-fit:contain;
  margin:0;
}
.proof-upload-slot{
  margin-top:10px;
  padding:9px 10px;
  border:1px solid #e8dce7;
  border-radius:6px;
  background:#fcfafc;
}
.proof-count-note{
  margin:9px 0;
  font-size:13px;
  color:#6e506b;
}


/* V14 — import autonome de TP HTML, en plus du constructeur type Moodle */
.html-import-editor{border-left:4px solid #8c5b87}
.html-import-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.9fr);gap:16px;margin:14px 0}
.html-step-row,.html-qcm-row{border:1px solid #e7d9e6;border-radius:8px;padding:12px;margin:10px 0;background:#fdfbfd}
.html-qcm-head{margin-top:18px}
.html-preview-box{position:sticky;top:12px}
.imported-html-frame{width:100%;min-height:520px;border:1px solid #dfcfdd;border-radius:8px;background:white}
.student-html-frame{min-height:620px}
.html-practical-step{border-left:3px solid #a680a2}
.html-review-step{border-top:1px solid #eae1e9;padding-top:14px;margin-top:14px}
.html-source-card{overflow:hidden}
@media(max-width:980px){.html-import-layout{grid-template-columns:1fr}.html-preview-box{position:static}.imported-html-frame{min-height:440px}}


/* V14.1 — affichage durable des identifiants professeur */
.teacher-credential-card{scroll-margin-top:18px}
.credential-lines{display:grid;gap:10px;margin:14px 0}
.credential-lines>div{display:grid;grid-template-columns:minmax(150px,220px) minmax(180px,1fr) auto;align-items:center;gap:10px;padding:10px 12px;border:1px solid #e8dbe7;border-radius:7px;background:#fff}
.credential-lines span{font-weight:600;color:#674463}
.credential-lines code{font-size:14px;word-break:break-all}
@media(max-width:700px){.credential-lines>div{grid-template-columns:1fr}.credential-lines .btn{justify-self:start}}


/* V15 — suivi pédagogique, compétences, inspection, réseau */
.network-status{font-size:12px;font-weight:700;padding:5px 8px;border-radius:999px;white-space:nowrap}
.network-status.online{background:#e9f3ed;color:#315f46}
.network-status.offline{background:#f7e6e3;color:#8a3b34}
.student-dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:10px;margin:14px 0}
.dashboard-stat{border:1px solid #e6d9e5;border-radius:9px;padding:14px;text-align:left;background:#fff;color:inherit}
.dashboard-stat b{display:block;font-size:26px;line-height:1;margin-bottom:7px}
.dashboard-stat span{font-size:13px}
.dashboard-stat.ok{border-left:4px solid #557f68}.dashboard-stat.bad{border-left:4px solid #9a514b}.dashboard-stat.wait{border-left:4px solid #9a7c45}.dashboard-stat.draft{border-left:4px solid #957091}.dashboard-stat.acquired{border-left:4px solid #91508a}.dashboard-stat.todo{border-left:4px solid #87949b}
.latest-feedback{border-left:4px solid #957091}
.competence-level{display:inline-block;font-size:12px;font-weight:700;padding:5px 8px;border-radius:999px}
.competence-level.bad{background:#f5e4e2;color:#85413b}.competence-level.wait{background:#f6eedc;color:#735f30}.competence-level.acquired{background:#f5e6f3;color:#783571}.competence-level.ok{background:#e6f1ea;color:#326044}.competence-level.neutral{background:#f2eef2;color:#68767e}
.tp-timebox{margin-top:12px;padding:10px 12px;background:rgba(255,255,255,.8);border:1px solid rgba(88,111,124,.2);border-radius:7px;display:flex;gap:8px;flex-wrap:wrap;justify-content:space-between}
.tp-timebox span{font-size:12px}
.tp-competence-link{margin-top:10px;font-size:13px}.tp-competence-link span{display:inline-block;margin:3px;padding:3px 7px;background:#f5edf4;border-radius:5px}
.student-help{margin:10px 0;padding:9px 11px;border:1px solid #e8dbe7;border-radius:7px;background:#fdfbfd}
.student-help summary{cursor:pointer;font-weight:700}
.teacher-call{margin:10px 0;padding:11px 12px;border-left:4px solid #957091;background:#fbf7fb;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.teacher-call.pending{border-left-color:#9a7c45}.teacher-call.validated{border-left-color:#557f68}.teacher-call.refused{border-left-color:#9a514b}
.teacher-call span{font-size:13px}
.checkpoint-work-card{border-left:4px solid #9a7c45}.checkpoint-type{background:#f5eddc}
.milestone-track{display:grid;grid-template-columns:repeat(6,1fr);gap:7px}
.milestone-node{border:1px solid #e5d8e4;background:#fff;border-radius:8px;padding:9px 5px;text-align:center}
.milestone-node b,.milestone-node span{display:block}.milestone-node span{font-size:11px;margin-top:4px}
.milestone-node.ok{border-bottom:4px solid #557f68}.milestone-node.bad{border-bottom:4px solid #9a514b}.milestone-node.wait{border-bottom:4px solid #9a7c45}.milestone-node.draft{border-bottom:4px solid #957091}.milestone-node.todo{opacity:.7}
.individual-contribution{border-left:4px solid #91508a}
.timeline{position:relative;margin:12px 0}.timeline-item{display:grid;grid-template-columns:18px 1fr;gap:10px;padding:0 0 14px}.timeline-dot{width:10px;height:10px;border-radius:50%;background:#916c8d;margin-top:5px}.timeline-item p{margin:3px 0}.timeline-item small{color:#6b7b84}
.inspection-student-selector{border-left:4px solid #91508a}
.student-pedagogical-report section{margin:22px 0}
.tp-time-control{border-left:4px solid #8a7c5a}
.preview-hero{border-left:4px solid #957091}.preview-activity{cursor:default}
.archived-course{opacity:.72}.archive-card{border-left:4px solid #9a7c45}
.mini-status{font-weight:700}.mini-status.ok{color:#356149}.mini-status.bad{color:#8c413a}.mini-status.wait{color:#75602d}.mini-status.draft{color:#785074}.mini-status.todo{color:#7a858a}
.audit-card{margin-top:14px}
@media(max-width:800px){.milestone-track{grid-template-columns:repeat(3,1fr)}}
@media print{
 body{background:#fff!important}.top,aside,.no-print,#toast{display:none!important}.shell{display:block!important}.shell main{width:100%!important;max-width:none!important;padding:0!important}.inspection-paper,.student-pedagogical-report{box-shadow:none!important;border:0!important;margin:0!important;padding:0!important}.tablewrap{overflow:visible!important}.table{font-size:10pt}
}


/* V16 — surveillance pédagogique et partage d'écran avec autorisation */
.monitor-student-banner{display:flex;gap:14px;align-items:center;justify-content:space-between;padding:10px 18px;background:#f7eef6;border-bottom:1px solid #e4cfe2;color:#572952}
.monitor-student-banner b,.monitor-student-banner span{display:block}.monitor-student-banner span{font-size:12px;margin-top:2px}
.screen-live-pill{background:#e5f1e9;color:#2e6344;border:1px solid #bcd5c5;padding:5px 9px;border-radius:999px;font-weight:700;white-space:nowrap}
.monitor-nav{border-left:3px solid #916b8d}
.monitor-hero{border-left:4px solid #916b8d}
.monitor-layout{display:grid;grid-template-columns:minmax(420px,1.15fr) minmax(330px,.85fr);gap:14px}
.monitor-student-list{display:grid;gap:6px}
.monitor-student-row{display:grid;grid-template-columns:14px minmax(160px,1fr) minmax(150px,1fr) auto;align-items:center;gap:10px;width:100%;border:1px solid #e8dce7;background:#fff;border-radius:8px;padding:10px;text-align:left;color:inherit}
.monitor-student-row.selected{border-color:#916b8d;background:#faf4f9}
.monitor-student-row small{display:block;color:#82667f;margin-top:2px}
.monitor-activity{font-size:13px;min-width:0}.monitor-activity small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.monitor-last{font-size:12px;color:#64757e}
.live-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:#98a4aa}
.live-dot.active{background:#4d8a67}.live-dot.idle{background:#b18a45}.live-dot.offline{background:#9da6ab}
.monitor-legend{font-size:11px;display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.monitor-status{display:inline-block;font-size:12px;font-weight:700;padding:5px 8px;border-radius:999px}
.monitor-status.active{background:#e5f1e9;color:#315f46}.monitor-status.idle{background:#f6eedc;color:#765f2e}.monitor-status.offline{background:#f1edf1;color:#68767e}
.monitor-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}
.monitor-detail-grid>div{border:1px solid #e9e0e8;border-radius:7px;padding:9px}.monitor-detail-grid dt{font-size:11px;color:#687982}.monitor-detail-grid dd{margin:3px 0 0;font-weight:600}
.screen-share-box{margin-top:16px;border-top:1px solid #e8dce7;padding-top:14px}
.student-screen-video{width:100%;aspect-ratio:16/9;background:#261825;border-radius:8px;object-fit:contain;margin-top:8px}
.screen-video-empty{font-size:12px;color:#6e7d84;text-align:center;margin:5px 0 8px}
.screen-share-prompt{position:fixed;inset:0;z-index:9999;background:rgba(15,25,30,.48);display:grid;place-items:center;padding:18px}
.screen-share-dialog{width:min(520px,100%);background:#fff;border-radius:10px;padding:20px;border:1px solid #e4d7e3;box-shadow:0 14px 40px rgba(0,0,0,.18)}
.screen-share-dialog h3{margin-top:0}
.empty-monitor-detail{min-height:210px}
@media(max-width:950px){.monitor-layout{grid-template-columns:1fr}.monitor-detail{order:-1}}
@media(max-width:650px){.monitor-student-row{grid-template-columns:14px 1fr auto}.monitor-activity{grid-column:2/4}.monitor-detail-grid{grid-template-columns:1fr}}


/* V16.1 — réinitialisation du QCM d'un élève */
.qcm-deadline-summary .section-head{align-items:flex-start}
.qcm-deadline-summary .subtle-notice{margin-top:12px}
.qcm-deadline-summary button[disabled]{opacity:.45;cursor:not-allowed}


/* V16.2 — identité violette sobre */
:root{--blue:#D86DCD;--blue2:#F9EDF8;--dark:#7A3573;--teal:#B653AB}
.btn{background:#D86DCD}
.btn.secondary{background:#fff;color:var(--ink);border-color:#dedde0}
.eyebrow,.tab.active,.mindtp b{color:#A64E9D}
.tab.active{border-color:#D86DCD}
.navbtn:hover,.navbtn.active{background:#FBF4FA;border-color:#E8CFE5}
.hero{background:linear-gradient(135deg,#fff,#FCF7FB);border-color:#E8CFE5}
.identity,.notice{background:#FCF7FB;border-color:#E8CFE5}
.bar span{background:#D86DCD}
.rating.selected{outline-color:#E0A1DA}
.project-color{border-left-color:var(--project-color,#D86DCD)}
.teacher-call-hero,.teacher-work-hero{border-left-color:#D86DCD}
.teacher-work-hero{background:linear-gradient(135deg,#fff,#FCF7FB)}
.navbtn.nav-priority{border-color:#E8CFE5;background:#FCF7FB}
.navbtn.nav-priority.active{background:#F7E8F5;border-color:#D99CD3;color:#71336B}
.builder-editor,.admin-title-card,.credentials-panel{border-left-color:#B653AB}
.school-mark{background:#7A3573}
.course-card:hover{border-color:#D9B4D5;background:#FEFBFD}
.course-initials{background:#F8EDF7;color:#71336B}
.activity-type{background:#F6EEF5;color:#704A6C}
.toast:not(.error){background:#7A3573}


/* V16.3 — import des applications HTML autonomes */
.autonomous-import-head{display:flex;align-items:center;gap:10px;margin:14px 0}
.autonomous-type{background:#F9EDF8;color:#7A3573;border:1px solid #E8CFE5}
.autonomous-preview-frame{min-height:620px}
.autonomous-app-card{padding:12px}
.autonomous-html-frame{width:100%;min-height:760px;border:1px solid #E8CFE5;border-radius:8px;background:#fff;margin-top:10px}
.autonomous-state-summary{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:8px 0 12px}
.autonomous-state-summary span,.autonomous-state-summary b{display:inline-block;padding:5px 8px;border-radius:6px;background:#F9EDF8}
.autonomous-result-details{margin:12px 0;border:1px solid #E8CFE5;border-radius:8px;padding:8px 10px}
.autonomous-result-details summary{cursor:pointer;font-weight:700}
.autonomous-teacher-review{border-left:4px solid #D86DCD}
@media(max-width:700px){.autonomous-html-frame{min-height:620px}}


/* V16.4 — suppression sûre / archivage */
.archived-activity{opacity:.72;background:#faf7fa}
.archived-activity .activity-type{background:#f3edf2;color:#6f5c6c}
.course-section .section-head>.actions{align-items:center}


/* V16.5 — édition de cours type Moodle */
.moodle-course-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}
.moodle-add-bar{display:flex;gap:8px;flex-wrap:wrap;padding:10px 12px;margin-bottom:14px;border:1px dashed #E8CFE5;background:#FDF9FC;border-radius:8px}
.edit-actions{opacity:.92}
.icon-btn{width:34px;height:34px;border:1px solid #dedde0;background:#fff;border-radius:7px;cursor:pointer;font-weight:800}
.icon-btn:hover:not(:disabled){border-color:#D86DCD;background:#F9EDF8}.icon-btn:disabled{opacity:.35;cursor:not-allowed}
.activity-main{min-width:0;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.activity-main small{width:100%;margin-left:0}
.moodle-builder{border-left:4px solid #D86DCD}
.rich-editor{border:1px solid #dedde0;border-radius:8px;overflow:hidden;background:#fff}
.rich-toolbar{display:flex;gap:4px;flex-wrap:wrap;padding:6px;background:#F9EDF8;border-bottom:1px solid #E8CFE5}
.rich-toolbar button{border:1px solid #E0D5DF;background:#fff;border-radius:6px;padding:6px 9px;cursor:pointer}
.rich-toolbar button:hover{border-color:#D86DCD}
.rich-editor-area{min-height:180px;padding:12px;outline:none}
.rich-editor-area:focus{box-shadow:inset 0 0 0 2px #E8CFE5}
.resource-editor{margin:14px 0;padding:12px;border:1px solid #E8CFE5;border-radius:8px;background:#FDF9FC}
.existing-resources{display:grid;gap:6px;margin-bottom:10px}
.resource-edit-row{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:7px 9px;border:1px solid #eaddea;border-radius:7px;background:#fff}
.course-resources{display:grid;gap:10px;margin-top:14px}
.course-resource{border:1px solid #eaddea;border-radius:8px;padding:10px;background:#fff}
.image-resource img{display:block;max-width:100%;max-height:520px;margin:auto;border-radius:6px}.image-resource figcaption{font-size:12px;color:#68717a;margin-top:6px}
.pdf-resource,.file-resource{display:flex;align-items:center;justify-content:space-between;gap:12px}.pdf-resource small,.file-resource small{display:block;color:#68717a}
.media-resource audio,.media-resource video{display:block;width:100%;max-height:480px;margin-top:8px}
.rich-course-body h2,.rich-course-body h3,.rich-course-body h4{color:#7A3573}.rich-course-body table{border-collapse:collapse;width:100%}.rich-course-body th,.rich-course-body td{border:1px solid #dedde0;padding:7px}
.due-date{display:inline-block;padding:6px 9px;background:#F9EDF8;border:1px solid #E8CFE5;border-radius:7px}
.former-students-card{border-left:4px solid #7A3573}.year-end-card{border-left:4px solid #9b6d14}
@media(max-width:850px){.moodle-course-head{display:block}.moodle-course-head>.actions{margin-top:10px}.resource-edit-row{grid-template-columns:1fr}.pdf-resource,.file-resource{display:block}.pdf-resource .btn,.file-resource .btn{margin-top:8px}}


/* V16.6 — aperçu réel des activités / HTML côté professeur */
.teacher-activity-preview{border-left:4px solid #D86DCD}
.teacher-html-preview-frame{min-height:760px;width:100%}
.preview-activity-button{width:100%;text-align:left;border:1px solid #e3dfe3;background:#fff;cursor:pointer}
.preview-activity-button:hover{border-color:#D86DCD;background:#FDF9FC}
.activity-row>.actions{margin-left:auto}
@media(max-width:800px){.teacher-html-preview-frame{min-height:620px}.activity-row>.actions{width:100%;margin-left:0}}


/* V16.7 — stabilisation, import ZIP, sauvegarde et sécurité */
.resource-file-input{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.resource-drop-zone{display:grid;gap:4px;place-items:center;text-align:center;padding:22px 14px;border:2px dashed #D9B7D5;border-radius:9px;background:#fff;cursor:pointer}
.resource-drop-zone:hover,.resource-drop-zone:focus,.resource-drop-zone.dragover{border-color:#D86DCD;background:#F9EDF8;outline:none}
.resource-drop-zone span{color:#7A3573}.resource-drop-zone small{color:#68717a}
.resource-pending-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.resource-pending-list span{padding:5px 8px;border:1px solid #E8CFE5;border-radius:6px;background:#fff}
.html-diagnostics{margin:12px 0}.diagnostic-chips{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}.diagnostic-chips span{padding:5px 8px;border-radius:999px;background:#F9EDF8;color:#7A3573;border:1px solid #E8CFE5;font-size:12px;font-weight:700}
.notice.warn{background:#fff8ea;border-color:#e9c77b;color:#6f4b00}

/* Ergonomie connexion et journal d'administration */
.password-input-wrap{display:flex;align-items:center;position:relative;width:100%}
.password-input-wrap input{width:100%;padding-right:92px}
.password-visibility{position:absolute;right:7px;top:50%;transform:translateY(-50%);border:1px solid #e8d8e6;background:#fff;color:#7A3573;border-radius:7px;padding:7px 9px;cursor:pointer;font:inherit;font-size:12px;font-weight:700}
.password-visibility:focus-visible{outline:2px solid #7A3573;outline-offset:2px}
.audit-card .section-head{align-items:center}.audit-card .section-head p{margin:3px 0 0;font-size:12px}
.audit-tools{display:grid;grid-template-columns:minmax(180px,2fr) minmax(150px,1fr);gap:10px;margin:14px 0 10px}
.audit-card .tablewrap{max-height:410px;overflow:auto}.audit-card .table{margin:0}
.audit-card .table th{position:sticky;top:0;z-index:1;background:#fbf7fa}
.audit-pagination{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;padding-top:12px}
.audit-pagination .row-actions{display:flex;align-items:center;gap:8px}
@media(max-width:600px){.audit-tools{grid-template-columns:1fr}.audit-card .section-head{flex-wrap:wrap}}
