:root{--rose:#F7C8D8;--lavande:#DCCCF8;--bleu:#CFE8FF;--menthe:#D9F5E5;--jaune:#FFF2B8;--encre:#30283a;--doux:#6f657c;--gris:#F5F5F7;--ombre:0 22px 58px rgba(78,64,110,.14)}
*{box-sizing:border-box}
body{margin:0;font-family:"Segoe UI",system-ui,sans-serif;color:var(--encre);background:linear-gradient(135deg,#fffafc,#f7fbff)}
.app{display:flex;min-height:100vh}
.rail{width:290px;position:fixed;inset:0 auto 0 0;padding:18px;background:rgba(255,255,255,.86);border-right:1px solid #eee;overflow:auto}
.brand{display:flex;gap:14px;align-items:center;margin-bottom:20px}.logo{width:60px;height:60px;border-radius:22px;display:grid;place-items:center;font-size:28px;background:linear-gradient(135deg,var(--rose),var(--bleu));box-shadow:var(--ombre)}
.brand strong{display:block;font-size:25px}.brand span{font-weight:850;color:var(--doux)}
.nav{width:100%;border:0;background:transparent;text-align:left;border-radius:18px;padding:12px 14px;margin:4px 0;font-weight:950;font-size:15px;cursor:pointer}
.nav:hover,.nav.active{background:linear-gradient(135deg,var(--lavande),var(--bleu))}
.version{margin-top:20px;color:var(--doux);font-weight:900}
.workspace{margin-left:290px;padding:30px;width:calc(100% - 290px)}
.page{display:none}.page.active{display:block}
.hero{border-radius:42px;padding:42px;background:linear-gradient(135deg,var(--rose),var(--bleu));box-shadow:var(--ombre);display:flex;justify-content:space-between;align-items:center}.small-hero{min-height:220px}
.overline{text-transform:uppercase;letter-spacing:.1em;font-weight:1000;color:#7858ad;margin:0 0 10px}
h1{font-size:46px;margin:0 0 12px}.date,.quote{font-size:23px;font-weight:850}.clock{font-size:60px;font-weight:1000;background:white;border-radius:28px;padding:24px}
.dashboard-grid,.cards,.teacher-grid,.production-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:22px}
.card,.mission-card,.file-card,.editor-card,.todo-card{background:rgba(255,255,255,.92);border-radius:28px;padding:22px;box-shadow:0 14px 34px rgba(78,64,110,.1)}
.wide{grid-column:span 2}.label{font-size:13px;text-transform:uppercase;letter-spacing:.08em;font-weight:1000;color:var(--doux)}.big{font-size:34px!important;font-weight:1000}
.quick-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}
.page-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;gap:18px}
input,textarea{font:inherit;border:2px solid var(--lavande);border-radius:16px;padding:12px;background:white}
textarea{width:100%;min-height:140px}.page-head input{min-width:420px}
button{border:0;border-radius:16px;padding:12px 16px;font-weight:1000;cursor:pointer;background:white;box-shadow:0 8px 20px rgba(78,64,110,.12)}
.filters{display:flex;gap:10px;margin-bottom:14px}.filter.active{background:linear-gradient(135deg,var(--lavande),var(--bleu))}
.mini-stats{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}
.mini-stats span,.badge{display:inline-block;background:white;border-radius:999px;padding:8px 12px;font-weight:950;box-shadow:0 5px 14px rgba(78,64,110,.08)}.badge.pale{background:var(--menthe)}
.mission-list,.resource-grid,.todo-global{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.mission-card h2{margin-top:12px}.mission-card.active-card{background:linear-gradient(135deg,#fff,var(--jaune))}
.mission-top{display:flex;gap:8px}.muted{color:var(--doux);font-weight:850}.file-card input{width:100%;margin:10px 0}
.studio-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:18px}.main-editor{grid-row:span 2}
.editor-card label{display:block;font-weight:1000;color:var(--doux);margin:12px 0 6px}.editor-card input,.editor-card textarea{width:100%}.editor-card textarea{min-height:110px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.chip{background:var(--gris);border-radius:999px;padding:8px 12px;font-weight:900}.chip button{padding:2px 8px;margin-left:6px}
#jsonBox,#promptBox{width:100%;min-height:500px}#timer{font-size:56px;font-weight:1000;margin:18px 0}
@media(max-width:1200px){.mission-list,.resource-grid,.cards,.teacher-grid,.dashboard-grid,.production-grid,.todo-global,.studio-grid{grid-template-columns:1fr}.wide{grid-column:auto}.page-head{flex-direction:column;align-items:flex-start}.page-head input{min-width:100%;width:100%}.main-editor{grid-row:auto}}

.dashboard-hero{min-height:260px}
.teacher-dashboard{display:grid;grid-template-columns:1.2fr 1.4fr .9fr;gap:20px;margin-top:22px}
.dashboard-panel{background:rgba(255,255,255,.92);border-radius:30px;padding:24px;box-shadow:0 14px 34px rgba(78,64,110,.1)}
.daily-panel{grid-row:span 2}
.mission-panel{grid-column:span 2}
.panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}
.panel-head h2,.dashboard-panel h2{margin:0 0 12px}
.soft-pill{background:var(--lavande);border-radius:999px;padding:8px 12px;font-weight:950}
.day-schedule{display:grid;gap:10px}
.schedule-row{display:grid;grid-template-columns:70px 1fr 1fr;gap:10px;align-items:center;background:var(--gris);border-radius:18px;padding:12px}
.schedule-row.active{background:linear-gradient(135deg,var(--jaune),#fff)}
.schedule-row.break{background:linear-gradient(135deg,var(--menthe),#fff)}
.schedule-row span{font-weight:1000;color:var(--doux)}
.schedule-row strong{font-size:20px}
.schedule-row em{font-style:normal;color:var(--doux);font-weight:850}
.resource-mini{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:16px}
.resource-mini span{border-radius:999px;padding:8px 10px;font-size:13px;font-weight:950}
.resource-mini .ok{background:var(--menthe)}
.resource-mini .missing{background:var(--rose)}
.actions-panel button{display:block;width:100%;margin:8px 0;text-align:left}
.big-metric{display:flex;align-items:baseline;gap:10px;margin:8px 0 18px}
.big-metric span{font-size:56px;font-weight:1000}
.big-metric small{font-weight:900;color:var(--doux)}
.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.metric-grid div{background:var(--gris);border-radius:18px;padding:14px;text-align:center}
.metric-grid strong{display:block;font-size:28px}
.metric-grid span{font-weight:850;color:var(--doux)}
@media(max-width:1200px){.teacher-dashboard{grid-template-columns:1fr}.mission-panel{grid-column:auto}.resource-mini{grid-template-columns:1fr 1fr}}

.students-layout{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.student-panel{background:rgba(255,255,255,.92);border-radius:28px;padding:22px;box-shadow:0 14px 34px rgba(78,64,110,.1)}
.wide-student{grid-column:span 2}
.group-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.group-filters button.active{background:linear-gradient(135deg,var(--lavande),var(--bleu))}
.add-row{display:flex;gap:8px}
.add-row input{flex:1}
.student-list{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.student-card{background:var(--gris);border-radius:22px;padding:16px}
.student-card strong{display:block;font-size:18px}
.student-card span{color:var(--doux);font-weight:850}
.student-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:12px 0}
.student-card textarea{width:100%;min-height:80px}
@media(max-width:1200px){.students-layout,.student-list{grid-template-columns:1fr}.wide-student{grid-column:auto}}

.assistant-layout{display:grid;grid-template-columns:1fr 1.5fr;gap:20px}
.assistant-panel{background:rgba(255,255,255,.92);border-radius:28px;padding:22px;box-shadow:0 14px 34px rgba(78,64,110,.1)}
.wide-assistant{grid-row:span 2}
.ai-options{display:grid;gap:10px;margin:14px 0}
.ai-options label{background:var(--gris);border-radius:16px;padding:10px 12px;font-weight:900}
#assistantPrompt{width:100%;min-height:620px}
#aiStyle{width:100%;margin:8px 0 16px}
.primary-action{width:100%;background:linear-gradient(135deg,var(--jaune),#fff)}
@media(max-width:1200px){.assistant-layout{grid-template-columns:1fr}.wide-assistant{grid-row:auto}}

/* RC 1.2 — Centre de contrôle */
.premium-header{border-radius:42px;padding:34px;background:radial-gradient(circle at 12% 15%, rgba(255,255,255,.9) 0 12%, transparent 13%),linear-gradient(135deg,var(--rose),var(--bleu));box-shadow:var(--ombre);display:flex;justify-content:space-between;align-items:center;gap:28px}
.header-left h1{font-size:48px;margin:0 0 12px}
.header-right{background:rgba(255,255,255,.82);border-radius:32px;padding:24px;min-width:310px;text-align:center;box-shadow:0 12px 30px rgba(78,64,110,.12)}
.live-clock{font-size:56px;font-weight:1000;margin-bottom:14px}
.header-badges{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-bottom:16px}
.header-pill{display:inline-block;border-radius:999px;padding:9px 13px;background:var(--lavande);font-weight:1000}
.header-pill.soft{background:var(--menthe)}
.start-class-btn{width:100%;background:linear-gradient(135deg,var(--jaune),#fff);font-size:17px;padding:15px 18px}
.control-grid{display:grid;grid-template-columns:1.1fr 1.3fr 1fr;gap:20px;margin-top:22px}
.calendar-panel{grid-row:span 2}
.mission-panel{grid-column:span 2}
.calendar-actions{display:flex;gap:8px}.calendar-actions button{padding:8px 12px}
.calendar-box{background:rgba(255,255,255,.78);border-radius:26px;padding:18px}
.calendar-box h3{text-align:center;margin:0 0 14px;font-size:24px;color:#6b4fa3}
.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.calendar-weekdays span{text-align:center;font-weight:1000;color:var(--doux);font-size:13px}
.calendar-day{min-height:46px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-weight:950;background:#f5f5f7}
.calendar-day.empty{background:transparent}.calendar-day.weekend{background:#eee8ff}.calendar-day.school{background:#d9f5e5}
.calendar-day.today{background:#ff2f92!important;color:white!important;box-shadow:0 10px 24px rgba(255,47,146,.35);transform:scale(1.03)}
.calendar-info{text-align:center;margin:14px 0 0;font-weight:1000;color:var(--encre)}
.next-class-box{text-align:center;background:linear-gradient(135deg,#fff,#fff1f8);border-radius:24px;padding:20px}
.next-time{display:inline-block;background:#ffd4e8;color:#ff2f92;border-radius:14px;padding:8px 14px;font-size:24px;font-weight:1000}
.next-group{font-size:42px;font-weight:1000;margin:12px 0 0}.next-mission{font-size:18px;font-weight:900;color:#7b4bb2}
.next-meta{margin:14px 0;font-weight:900;color:var(--doux)}.next-class-box button{background:linear-gradient(135deg,#ff2f92,#ff87c2);color:white;width:80%}
.today-schedule-box{display:grid;gap:8px}
.teacher-row{display:grid;grid-template-columns:70px 70px 1fr;gap:10px;align-items:center;border-radius:14px;background:var(--gris);padding:10px 12px}
.teacher-row.active{background:linear-gradient(135deg,#ffd4e8,#fff)}.teacher-row.break{background:linear-gradient(135deg,var(--menthe),#fff)}
.teacher-row span{font-weight:1000;color:#ff2f92}.teacher-row strong{font-size:18px}.teacher-row em{font-style:normal;font-weight:850;color:var(--doux)}
.quick-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.quick-card{min-height:92px;border-radius:20px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;box-shadow:0 10px 22px rgba(78,64,110,.10)}
.quick-card span{font-size:28px}.quick-card strong{font-size:13px}
.quick-card.pink{background:#ffd4e8}.quick-card.purple{background:#eee8ff}.quick-card.orange{background:#ffdcc2}.quick-card.green{background:#d9f5e5}.quick-card.blue{background:#cfe8ff}.quick-card.teal{background:#d8f7f4}.quick-card.mint{background:#e4fff0}
.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.wide-settings{grid-column:span 2}
.schedule-editor-list{display:grid;gap:10px}.schedule-edit-row{display:grid;grid-template-columns:1fr 120px 1fr 2fr 50px;gap:8px;align-items:center;background:var(--gris);border-radius:18px;padding:10px}
.schedule-edit-row input{width:100%}
@media(max-width:1200px){.premium-header{flex-direction:column;align-items:flex-start}.header-right{width:100%}.control-grid,.settings-grid{grid-template-columns:1fr}.mission-panel,.wide-settings{grid-column:auto}.quick-cards{grid-template-columns:repeat(2,1fr)}}

/* Teacher OS v0.2.1 Patch 1 — Emploi du Temps */
.emploi-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.emploi-actions button.active{background:linear-gradient(135deg,var(--rose),var(--lavande));box-shadow:0 10px 22px rgba(78,64,110,.14)}
.emploi-layout{display:grid;grid-template-columns:minmax(720px,1fr) 320px;gap:22px;align-items:start}
.emploi-main,.emploi-side{background:rgba(255,255,255,.92);border-radius:32px;padding:22px;box-shadow:0 14px 34px rgba(78,64,110,.10)}
.emploi-grid{display:grid;grid-template-columns:86px repeat(5,minmax(120px,1fr));gap:8px;align-items:stretch}
.emploi-corner,.emploi-head,.emploi-time,.emploi-cell{border-radius:16px;min-height:64px;display:flex;align-items:center;justify-content:center;text-align:center}
.emploi-corner{background:var(--encre);color:white;font-weight:1000;letter-spacing:.04em;text-transform:uppercase}
.emploi-head{background:#fff7fb;font-weight:1000;color:var(--encre);border:2px solid rgba(78,64,110,.08)}
.emploi-head.today-col{background:linear-gradient(135deg,var(--jaune),#fff)}
.emploi-time{background:#cfe8ff;flex-direction:column;font-weight:1000;color:var(--encre)}
.emploi-time span{font-size:13px;color:var(--doux)}
.emploi-cell{border:0;cursor:pointer;padding:10px;flex-direction:column;gap:3px;transition:.15s transform,.15s box-shadow;box-shadow:0 8px 18px rgba(78,64,110,.08)}
.emploi-cell:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(78,64,110,.15)}
.emploi-cell strong{font-size:28px;line-height:1}.emploi-cell span{font-size:11px;font-weight:900;color:rgba(45,36,58,.72)}
.emploi-cell.g4{background:#ffe071}.emploi-cell.g5{background:#f7a7a5}.emploi-cell.g6{background:#5bd3d9}.emploi-cell.break{grid-column:auto;background:#fff;color:var(--encre);border:2px dashed rgba(78,64,110,.18)}
.emploi-cell.now{outline:4px solid #ff2f92;box-shadow:0 12px 30px rgba(255,47,146,.25)}
.emploi-cell.empty{background:rgba(255,255,255,.55);border:2px dashed rgba(78,64,110,.12);box-shadow:none;cursor:default}
.emploi-side h2{margin-top:0}.selected-class{background:linear-gradient(135deg,#fff,#fff1f8);border-radius:24px;padding:18px}.selected-class.pause{background:linear-gradient(135deg,var(--menthe),#fff)}
.selected-time{display:inline-block;background:#ffd4e8;color:#ff2f92;border-radius:999px;padding:8px 12px;font-weight:1000}.selected-class h3{font-size:42px;margin:12px 0}.selected-class button{width:100%;margin-top:10px}
.teacher-row.next{background:linear-gradient(135deg,#fff8dc,#fff)}
@media(max-width:1200px){.emploi-layout{grid-template-columns:1fr}.emploi-main{overflow-x:auto}.emploi-grid{min-width:820px}}


/* Teacher OS v0.3.0 — Dashboard reorganisé */
.version{font-size:15px;line-height:1.35}
.workspace{padding:32px 36px 24px}
.premium-header{padding:30px 36px;margin-bottom:18px;display:grid;grid-template-columns:minmax(0,1fr) 440px;align-items:center}
.header-left h1{font-size:44px}.header-right{min-width:0;width:auto;padding:20px 22px}.live-clock{font-size:48px;margin-bottom:10px}
.control-grid.dashboard-v030{display:grid;grid-template-columns:1fr 1fr 1.12fr;gap:18px;margin-top:0;align-items:stretch}
.dashboard-v030 .next-class-panel{grid-column:1;grid-row:1}.dashboard-v030 .schedule-panel{grid-column:2;grid-row:1}.dashboard-v030 .calendar-panel{grid-column:3;grid-row:1}
.dashboard-v030 .mission-panel{grid-column:1 / span 2;grid-row:2}.dashboard-v030 .progress-panel{grid-column:3;grid-row:2}.dashboard-v030 .quick-card-panel{grid-column:1 / -1;grid-row:3}
.dashboard-panel{padding:22px}.panel-head h2{margin:0;font-size:24px}.panel-head{margin-bottom:14px}
.dashboard-v030 .calendar-panel{min-height:0}.dashboard-v030 .calendar-box{padding:14px}.dashboard-v030 .calendar-box h3{font-size:22px;margin-bottom:10px}.dashboard-v030 .calendar-day{min-height:36px;border-radius:13px}.dashboard-v030 .calendar-weekdays span{font-size:12px}.dashboard-v030 .calendar-info{margin-top:10px}
.dashboard-v030 .next-class-box{display:grid;grid-template-columns:125px 1fr;gap:16px;align-items:center;text-align:left;min-height:150px;padding:16px}.dashboard-v030 .next-time{grid-row:span 3;text-align:center;font-size:26px;border-radius:18px;padding:18px 10px}.dashboard-v030 .next-group{font-size:34px;margin:0}.dashboard-v030 .next-mission{font-size:17px}.dashboard-v030 .next-meta{margin:0}.dashboard-v030 .next-class-box button{grid-column:1 / -1;width:auto;margin-top:6px}
.dashboard-v030 .teacher-row{grid-template-columns:64px 62px 1fr;padding:8px 10px}.dashboard-v030 .teacher-row strong{font-size:16px}.dashboard-v030 .teacher-row em{font-size:14px}
.dashboard-v030 .mission-panel h3{font-size:20px;margin:4px 0 10px}.dashboard-v030 .mission-panel p{margin:0 0 14px}.mission-progress-line{height:12px;background:linear-gradient(90deg,#ff2f92 0 45%,#f7c8d8 45% 70%,#f5f5f7 70%);border-radius:999px;margin:10px 0 14px;max-width:520px}.mission-progress-line span{display:block}
.dashboard-v030 .resource-mini{grid-template-columns:repeat(4,minmax(120px,1fr));gap:10px;margin-top:0}.dashboard-v030 .resource-mini span{padding:9px 14px;text-align:left}
.dashboard-v030 .progress-panel{display:flex;flex-direction:column;justify-content:center}.dashboard-v030 .big-metric{margin:4px 0 14px}.dashboard-v030 .big-metric span{font-size:54px}.dashboard-v030 .metric-grid div{padding:18px 12px}.dashboard-v030 .metric-grid strong{font-size:30px}
.dashboard-v030 .quick-card-panel{padding:22px 24px}.dashboard-v030 .quick-cards{grid-template-columns:repeat(6,minmax(130px,1fr));gap:14px}.dashboard-v030 .quick-card{min-height:86px;border-radius:18px}.dashboard-v030 .quick-card strong{font-size:14px}.dashboard-v030 .quick-card span{font-size:30px}
@media(max-width:1450px){.premium-header{grid-template-columns:1fr}.header-right{width:100%;max-width:none}.control-grid.dashboard-v030{grid-template-columns:1fr 1fr}.dashboard-v030 .calendar-panel{grid-column:1 / -1;grid-row:2}.dashboard-v030 .mission-panel{grid-column:1;grid-row:3}.dashboard-v030 .progress-panel{grid-column:2;grid-row:3}.dashboard-v030 .quick-card-panel{grid-column:1 / -1;grid-row:4}.dashboard-v030 .quick-cards{grid-template-columns:repeat(4,1fr)}}
@media(max-width:1000px){.workspace{padding:22px}.control-grid.dashboard-v030{grid-template-columns:1fr}.dashboard-v030 .next-class-panel,.dashboard-v030 .schedule-panel,.dashboard-v030 .calendar-panel,.dashboard-v030 .mission-panel,.dashboard-v030 .progress-panel,.dashboard-v030 .quick-card-panel{grid-column:1;grid-row:auto}.dashboard-v030 .quick-cards{grid-template-columns:repeat(2,1fr)}.dashboard-v030 .resource-mini{grid-template-columns:1fr 1fr}}

/* Teacher OS v0.5.0 · Lesson Center */
.lesson-head{align-items:flex-start}
.lesson-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.lesson-actions select,.lesson-actions input{border:0;border-radius:18px;background:white;padding:14px 16px;font-weight:900;box-shadow:0 10px 24px rgba(78,64,110,.08)}
.lesson-actions input{min-width:360px}
.lesson-layout{display:grid;grid-template-columns:330px 1fr;gap:22px;align-items:start}
.lesson-sidebar{display:grid;gap:16px;position:sticky;top:18px}
.lesson-widget,.lesson-detail-card,.lesson-week-card{background:rgba(255,255,255,.94);border-radius:28px;padding:22px;box-shadow:0 14px 34px rgba(78,64,110,.1)}
.active-lesson-widget{background:linear-gradient(135deg,#fff,#fff1f8)}
.active-lesson-widget h2{margin:8px 0;color:#6b4fa3}
.lesson-context{display:grid;gap:10px}.lesson-context span{display:block;border-radius:16px;background:var(--gris);padding:10px 12px;font-weight:900}
.lesson-history{display:grid;gap:10px}.lesson-history-item{border-radius:16px;background:var(--lavande);padding:10px 12px}.lesson-history-item strong{display:block}.lesson-history-item span{font-size:12px;color:var(--doux);font-weight:900}
.lesson-main{display:grid;gap:18px}.lesson-week-board{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:16px}
.lesson-week-card{padding:18px}.lesson-week-card h2{margin:0 0 12px;color:#6b4fa3}.lesson-week-list{display:grid;gap:8px}
.lesson-item{display:grid;grid-template-columns:50px 1fr auto;gap:10px;align-items:center;text-align:left;border-radius:16px;background:var(--gris);padding:10px 12px;box-shadow:none}
.lesson-item:hover{transform:translateY(-1px)}.lesson-item.active{background:linear-gradient(135deg,#ffd4e8,#fff)}.lesson-item.favorite{outline:2px solid #fff2b8}.lesson-item .week{font-weight:1000;color:#ff2f92}.lesson-item .title{font-weight:1000}.lesson-item .meta{font-size:12px;color:var(--doux);font-weight:900}.lesson-item .star{font-size:20px}
.lesson-detail{display:grid;gap:18px}.lesson-detail-card{display:grid;gap:18px}.lesson-detail-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.lesson-detail-header h2{font-size:32px;margin:0;color:#3e3357}.lesson-detail-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.lesson-detail-actions button.primary-action{background:linear-gradient(135deg,#ff2f92,#ff87c2);color:white}.lesson-metadata{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.lesson-metadata div{border-radius:18px;background:var(--gris);padding:14px}.lesson-metadata strong{display:block;color:#6b4fa3;font-size:22px}.lesson-block-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.lesson-block{border-radius:22px;background:linear-gradient(135deg,#fff,#f8f6ff);padding:18px}.lesson-block h3{margin:0 0 10px}.lesson-block ul{padding-left:20px;margin:0}.lesson-block li{margin:6px 0}.resource-status-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.resource-status-grid span{border-radius:14px;padding:10px 12px;background:var(--gris);font-weight:900}.resource-status-grid span.ok{background:var(--menthe)}.resource-status-grid span.missing{background:#fff1f8}
@media(max-width:1200px){.lesson-layout{grid-template-columns:1fr}.lesson-sidebar{position:static;grid-template-columns:1fr 1fr}.lesson-week-board{grid-template-columns:1fr 1fr}.lesson-block-grid,.lesson-metadata{grid-template-columns:1fr 1fr}}
@media(max-width:800px){.lesson-sidebar,.lesson-week-board,.lesson-block-grid,.lesson-metadata,.resource-status-grid{grid-template-columns:1fr}.lesson-actions input{min-width:100%}}


/* Teacher OS v0.5.0 · Student Manager */
.student-manager-head{align-items:flex-start}
.student-head-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.student-head-actions input{min-width:360px;border:0;border-radius:18px;background:white;padding:14px 16px;font-weight:900;box-shadow:0 10px 24px rgba(78,64,110,.08)}
.student-manager-layout{display:grid;grid-template-columns:315px 1fr;gap:22px;align-items:start}
.student-sidebar{display:grid;gap:16px;position:sticky;top:18px}.student-main{display:grid;gap:18px}
.student-panel{background:rgba(255,255,255,.94);border-radius:28px;padding:22px;box-shadow:0 14px 34px rgba(78,64,110,.1)}
.student-command h2{margin-top:0}.group-filters{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}.group-filters button{display:flex;flex-direction:column;gap:4px;align-items:center;justify-content:center;min-height:58px;background:var(--gris)}.group-filters button.active{background:linear-gradient(135deg,#ff2f92,#ff87c2);color:white}.group-filters button span{font-size:12px;opacity:.75}
.student-context{display:grid;gap:10px}.student-context span{display:block;border-radius:16px;background:var(--gris);padding:10px 12px;font-weight:900}.student-context strong{color:#ff2f92}
.student-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.student-stats div{background:rgba(255,255,255,.94);border-radius:22px;padding:18px;text-align:center;box-shadow:0 10px 22px rgba(78,64,110,.08)}.student-stats strong{display:block;font-size:34px;color:#6b4fa3}.student-stats span{font-weight:900;color:var(--doux);font-size:13px}
.selected-student-panel{background:linear-gradient(135deg,#fff,#fff1f8)}.selected-student-top{display:flex;justify-content:space-between;gap:18px;align-items:center}.selected-student-top h2{font-size:34px;margin:6px 0;color:#3e3357}.student-score-ring{width:96px;height:96px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--jaune),#fff);box-shadow:0 12px 28px rgba(78,64,110,.14)}.student-score-ring strong{font-size:34px}.student-score-ring span{font-weight:1000;color:var(--doux)}
.selected-student-detail{display:grid;gap:16px;margin-top:16px}.student-detail-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.student-detail-grid label{font-weight:1000}.student-detail-grid input,.student-detail-grid select,.selected-student-detail textarea{width:100%;margin-top:6px}.selected-student-detail textarea{min-height:105px}.badge-cloud{display:flex;gap:8px;flex-wrap:wrap}.badge-cloud span{background:var(--lavande);border-radius:999px;padding:8px 10px;font-weight:1000}.badge-cloud button{padding:2px 7px;margin-left:6px}.badge-cloud em{color:var(--doux)}.eval-timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.eval-timeline div{background:white;border-radius:16px;padding:12px}.eval-timeline strong{display:block;color:#ff2f92}.eval-timeline span{font-size:12px;font-weight:900;color:var(--doux)}
.student-manager-list{grid-template-columns:repeat(3,minmax(220px,1fr))}.student-card{cursor:pointer;transition:.15s transform,.15s box-shadow}.student-card:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(78,64,110,.13)}.student-card.active-student{outline:3px solid #ff2f92;background:linear-gradient(135deg,#ffd4e8,#fff)}.student-card-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.student-card-top strong{font-size:19px}.student-mini-score{min-width:48px;height:48px;border-radius:16px;background:#fff2b8;display:flex;align-items:center;justify-content:center;font-weight:1000;font-size:22px}.student-badges-row{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.student-badges-row span{background:white;border-radius:999px;padding:6px 9px;font-weight:900;font-size:12px}.student-badges-row .empty-badge{background:rgba(255,255,255,.55);color:var(--doux)}.student-list-tools{display:flex;gap:8px;flex-wrap:wrap}.student-list-tools button{padding:9px 12px}
@media(max-width:1300px){.student-manager-layout{grid-template-columns:1fr}.student-sidebar{position:static;grid-template-columns:repeat(3,1fr)}.student-manager-list{grid-template-columns:repeat(2,1fr)}.student-detail-grid,.student-stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:850px){.student-sidebar,.student-manager-list,.student-detail-grid,.student-stats,.eval-timeline{grid-template-columns:1fr}.student-head-actions input{min-width:100%}.selected-student-top{align-items:flex-start;flex-direction:column}}

/* Teacher OS v0.6.0 — School Setup Wizard */
.setup-wizard{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.setup-card{position:relative;background:rgba(255,255,255,.94);border-radius:30px;padding:24px;box-shadow:0 14px 34px rgba(78,64,110,.1);border:1px solid rgba(220,204,248,.55)}
.setup-card h2{margin:0 0 8px}.setup-card p{color:var(--doux);font-weight:850}.wide-setup{grid-column:span 2}.setup-step{position:absolute;top:18px;right:18px;width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(135deg,var(--rose),var(--bleu));font-weight:1000}.setup-grid-mini{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.setup-grid-mini label{font-weight:1000;color:var(--doux)}.setup-grid-mini input,.setup-grid-mini select,.setup-card select{width:100%;margin-top:6px}.setup-card textarea{min-height:170px}.setup-import-actions{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.setup-import-actions select{min-width:120px}.setup-preview{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.setup-pill{background:var(--gris);border-radius:999px;padding:9px 12px;font-weight:950}.setup-summary{background:var(--menthe);border-radius:18px;padding:12px;font-weight:950;margin:12px 0}.import-preview{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;max-height:300px;overflow:auto}.import-preview div{display:grid;grid-template-columns:50px 1fr 70px;gap:8px;align-items:center;background:var(--gris);border-radius:14px;padding:9px}.import-preview strong{color:#7858ad}.import-preview span{font-weight:900}.import-preview em{font-style:normal;color:var(--doux);font-weight:950}.setup-calendar-row{display:grid;grid-template-columns:150px 1fr auto;gap:8px}.calendar-event-row{display:grid;grid-template-columns:110px 1fr auto;gap:8px;align-items:center;background:var(--gris);border-radius:14px;padding:8px}.setup-dashboard{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.setup-dashboard div{background:linear-gradient(135deg,#fff,var(--lavande));border-radius:20px;padding:18px;text-align:center}.setup-dashboard strong{display:block;font-size:36px}.setup-dashboard span{font-weight:900;color:var(--doux)}
@media(max-width:1200px){.setup-wizard,.setup-grid-mini,.import-preview,.setup-dashboard{grid-template-columns:1fr}.wide-setup{grid-column:auto}.setup-calendar-row{grid-template-columns:1fr}}

/* Teacher OS v0.7.0 — Classroom Live */
.classroom-live-page{background:linear-gradient(135deg,#fff9fc 0%,#f7f4ff 52%,#f0fbff 100%);border-radius:30px;padding:0 0 24px}
.classroom-hero{display:grid;grid-template-columns:1fr 320px;gap:20px;align-items:center;margin-bottom:20px;background:linear-gradient(135deg,#fff,#fff1f8);border-radius:34px;padding:28px 32px;box-shadow:0 16px 36px rgba(78,64,110,.1)}
.classroom-hero h1{font-size:48px;margin:6px 0;color:#332844}.live-status-card{background:white;border-radius:28px;padding:20px;display:grid;gap:10px;text-align:center;box-shadow:0 12px 28px rgba(78,64,110,.1)}
.live-status-card span{font-size:42px;font-weight:1000;color:#ff2f92}.live-status-card strong{background:var(--lavande);border-radius:999px;padding:8px 12px}
.classroom-layout{display:grid;grid-template-columns:1fr 360px;gap:20px;align-items:start}.live-stage{display:grid;grid-template-columns:1.15fr .85fr;gap:18px}.live-mission-card,.timer-card,.live-tools-card,.live-panel{background:rgba(255,255,255,.94);border-radius:30px;padding:24px;box-shadow:0 14px 34px rgba(78,64,110,.1);border:1px solid rgba(220,204,248,.5)}
.live-mission-card{grid-column:span 2;min-height:210px;background:linear-gradient(135deg,#fff,#fff8dc)}.live-mission-top{display:flex;justify-content:space-between;gap:12px;align-items:center}.live-mission-top span{font-weight:1000;color:#6b4fa3;background:white;border-radius:999px;padding:8px 12px}.live-mission-card h2{font-size:40px;margin:18px 0 10px;color:#3e3357}.live-mission-card p{font-size:18px;font-weight:850;color:var(--doux)}
.live-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.live-chips span{background:#ffd4e8;border-radius:999px;padding:9px 12px;font-weight:1000}.timer-card{text-align:center}.timer-display{font-size:78px;font-weight:1000;color:#ff2f92;line-height:1;margin:12px 0}.timer-presets,.timer-actions,.transition-grid,.quick-note-actions,.end-class-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.timer-actions button:first-child{background:linear-gradient(135deg,#ff2f92,#ff87c2);color:white}
.transition-grid{display:grid;grid-template-columns:repeat(2,1fr);margin-top:12px}.transition-message{border-radius:18px;background:var(--menthe);padding:14px;font-weight:1000;text-align:center}.live-side{display:grid;gap:18px;position:sticky;top:18px}.random-student{min-height:105px;border-radius:24px;background:linear-gradient(135deg,var(--lavande),#fff);display:grid;place-items:center;text-align:center;font-size:26px;font-weight:1000;margin:12px 0}.random-student strong{display:block;font-size:32px}.random-student span{font-size:14px;color:var(--doux)}.live-panel select,.live-panel textarea{width:100%;margin-bottom:10px}.live-panel textarea{min-height:110px}
.team-score-board{display:grid;gap:10px}.team-score{display:grid;grid-template-columns:1fr 52px 50px 50px;gap:8px;align-items:center;background:var(--gris);border-radius:18px;padding:10px}.team-score strong{font-size:18px}.team-score span{font-size:26px;font-weight:1000;text-align:center;color:#6b4fa3}.classroom-bottom-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:20px;margin-top:20px}.live-resources{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.live-resource{min-height:80px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}.live-resource.ready{background:var(--menthe)}.live-resource.missing{background:var(--gris);opacity:.7}.live-resource span{font-size:24px}.live-resource strong{font-size:13px}.classroom-live-page .panel-head{display:flex;justify-content:space-between;align-items:center}
@media(max-width:1250px){.classroom-hero,.classroom-layout,.classroom-bottom-grid{grid-template-columns:1fr}.live-side{position:static}.live-stage{grid-template-columns:1fr}.live-mission-card{grid-column:auto}.live-resources{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){.transition-grid,.live-resources{grid-template-columns:1fr}.timer-display{font-size:56px}.classroom-hero h1{font-size:36px}}


/* Teacher OS v0.8.0 — AI Lesson Builder */
.ai-builder-head{align-items:flex-start}
.ai-head-actions{display:flex;gap:10px;flex-wrap:wrap}
.ai-builder-layout{display:grid;grid-template-columns:330px minmax(0,1fr);gap:20px;align-items:start}
.ai-builder-sidebar{display:grid;gap:16px}
.ai-builder-card,.ai-builder-output-card{background:rgba(255,255,255,.94);border:1px solid rgba(130,112,160,.12);border-radius:28px;padding:20px;box-shadow:0 16px 36px rgba(78,64,110,.1)}
.ai-builder-card h2{margin:0 0 12px}
.ai-builder-card label{display:block;margin:12px 0 6px;font-weight:700;color:#5f5478}
.ai-builder-card select,.ai-builder-card textarea{width:100%;border:1px solid rgba(110,94,140,.18);border-radius:16px;padding:12px;background:#fff;font:inherit}
#aiBuilderNotes{min-height:90px;resize:vertical}
.ai-mission-summary{background:linear-gradient(135deg,#fff7fb,#f3edff);border-radius:20px;padding:14px;margin:12px 0;color:#55476f}
.ai-mission-summary p{margin:8px 0;color:#6d6380}
.ai-mission-summary div{display:flex;gap:8px;flex-wrap:wrap}
.ai-mission-summary span,.ai-status{display:inline-flex;align-items:center;border-radius:999px;background:#eee8ff;padding:6px 10px;font-size:.82rem;color:#655680;font-weight:700}
.ai-builder-types{display:grid;gap:8px}
.ai-builder-types button{text-align:left;justify-content:flex-start;background:#faf8ff;border:1px solid rgba(120,100,160,.12)}
.ai-builder-types button.active{background:linear-gradient(135deg,#ffeaf3,#eee8ff);border-color:#dcccf8;box-shadow:0 8px 18px rgba(150,105,160,.16)}
.ai-builder-main{display:grid;gap:18px}
#aiBuilderPrompt{width:100%;min-height:610px;border:1px solid rgba(110,94,140,.15);border-radius:22px;padding:18px;font-family:Consolas,Monaco,monospace;line-height:1.45;background:#fffdfd;color:#3f3653;resize:vertical}
.ai-builder-mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.ai-checklist p,.ai-connections p{margin:8px 0;color:#5e5572}
@media(max-width:1100px){.ai-builder-layout{grid-template-columns:1fr}.ai-builder-mini-grid{grid-template-columns:1fr}}

/* Teacher OS v0.8.1 · Smart Quick Launch */
.quick-card small{font-size:11px;font-weight:800;opacity:.68;margin-top:-4px}
.quick-card.not-configured{filter:saturate(.75);opacity:.82;border:2px dashed rgba(43,32,63,.16)}
.quick-settings-card{overflow:hidden}
.quick-editor-head{display:grid;grid-template-columns:34px 64px 1fr 120px 120px 2fr 300px;gap:8px;align-items:center;margin:14px 0 8px;color:var(--doux);font-weight:1000;font-size:12px;text-transform:uppercase;letter-spacing:.04em}
.quick-link-editor-list{display:flex;flex-direction:column;gap:10px}
.quick-editor-row{display:grid;grid-template-columns:34px 64px 1fr 120px 120px 2fr 300px;gap:8px;align-items:center;background:linear-gradient(135deg,#ffffff,#fff7fb);border:1px solid rgba(78,64,110,.08);border-radius:18px;padding:10px;box-shadow:0 8px 20px rgba(78,64,110,.06)}
.quick-editor-row input,.quick-editor-row select{min-height:40px;border-radius:14px;border:1px solid rgba(78,64,110,.16);padding:0 10px;font-weight:800;background:white}
.quick-editor-row .quick-emoji{text-align:center;font-size:22px;padding:0}
.quick-editor-row .quick-target{font-family:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;font-size:12px;font-weight:700}
.quick-editor-row button{min-height:38px;border-radius:14px;padding:0 10px;margin:0 2px;background:white}
.quick-editor-row button.danger{background:#fff0f5;color:#c0185a}
.quick-drag{cursor:grab;text-align:center;font-size:20px;color:var(--doux);font-weight:1000}
@media(max-width:1200px){.quick-editor-head{display:none}.quick-editor-row{grid-template-columns:44px 60px 1fr 1fr;}.quick-editor-row .quick-target{grid-column:1 / -1}.quick-editor-row button{min-width:88px}}


/* Teacher OS v0.9.0 — Mission Workspace */
.mission-workspace-page{padding-bottom:40px;}
.workspace-hero{display:grid;grid-template-columns:1fr 320px;gap:22px;align-items:stretch;margin-bottom:18px;}
.workspace-hero>div:first-child,.workspace-launch-card{background:rgba(255,255,255,.92);border-radius:28px;padding:28px;box-shadow:0 18px 45px rgba(70,45,90,.10);}
.workspace-hero h1{font-size:34px;margin:6px 0 8px;color:#2a2038;}
.workspace-launch-card{display:flex;flex-direction:column;gap:14px;justify-content:center;}
.workspace-status{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:10px 16px;font-weight:900;background:#f4f1f8;color:#3a3049;}
.workspace-status.ready{background:#d9f5e5;}.workspace-status.progress{background:#fff2b8;}.workspace-status.empty{background:#f7c8d8;}
.launch-mission-btn{border:0;border-radius:22px;padding:18px 22px;font-size:18px;font-weight:900;background:linear-gradient(135deg,#fff2b8,#f7c8d8);box-shadow:0 12px 28px rgba(247,112,172,.18);cursor:pointer;}
.workspace-top-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;}.workspace-top-actions button,.workspace-tabs button,.workspace-action-grid button,.workspace-card-actions button,.workspace-panel button{border:0;border-radius:16px;padding:12px 14px;font-weight:850;background:#fff;box-shadow:0 10px 24px rgba(70,45,90,.08);cursor:pointer;}
.workspace-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:8px 0 18px;}.workspace-tabs button{background:#fff;}.workspace-tabs button.active{background:#dcccff;color:#2f2350;}
.workspace-body{background:rgba(255,255,255,.55);border-radius:30px;padding:22px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.6);}
.workspace-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}.workspace-panel{background:#fff;border-radius:24px;padding:22px;box-shadow:0 12px 32px rgba(70,45,90,.08);}.workspace-panel.wide{grid-column:1/-1;}.workspace-panel h2{margin:0 0 12px;color:#2d2340}.workspace-panel p,.workspace-panel li{line-height:1.55}.workspace-panel ul{padding-left:22px;margin:0}.workspace-action-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.workspace-action-grid button{background:#f7f4ff;}
.workspace-progress{background:#fff;border-radius:22px;padding:18px 20px;margin-bottom:18px;box-shadow:0 12px 32px rgba(70,45,90,.08);display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;font-weight:850}.workspace-progress .bar{grid-column:1/-1;height:14px;border-radius:999px;background:#f1edf5;overflow:hidden}.workspace-progress .bar i{display:block;height:100%;background:linear-gradient(90deg,#f72c98,#dcccff);border-radius:999px;}
.workspace-resources-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.workspace-resource-card{background:#fff;border-radius:22px;padding:18px;box-shadow:0 12px 32px rgba(70,45,90,.08);}.workspace-resource-card.linked{outline:2px solid rgba(104,190,140,.25)}.workspace-resource-card.missing{outline:2px solid rgba(247,200,216,.45)}.workspace-resource-card h3{margin:0 0 10px}.workspace-resource-card input{width:100%;box-sizing:border-box;border:0;background:#f6f3f8;border-radius:14px;padding:12px;font-weight:700}.workspace-card-actions{display:flex;gap:10px;margin-top:10px}.workspace-notes{width:100%;min-height:260px;box-sizing:border-box;border:0;border-radius:20px;background:#f8f5fb;padding:18px;font-size:16px;line-height:1.45;resize:vertical;}.workspace-history-item{background:#f8f5fb;border-radius:18px;padding:14px 16px;margin-top:12px;display:grid;gap:4px}.workspace-history-item span{color:#786b88;font-weight:700;}
@media(max-width:1100px){.workspace-hero{grid-template-columns:1fr}.workspace-grid,.workspace-resources-grid{grid-template-columns:1fr}.workspace-action-grid{grid-template-columns:repeat(2,1fr)}}

/* Teacher OS v1.1.1 — Classroom Live Pro */
.classroom-live-pro-page{padding-bottom:44px;}
.pro-hero{grid-template-columns:1fr 390px;}
.pro-status-card{min-width:320px;}
.pro-status-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;width:100%;}
.pro-status-actions button{padding:12px 10px;border-radius:16px;}
.classroom-pro-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:22px;align-items:start;}
.pro-main-stage{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}
.pro-side-stage{display:flex;flex-direction:column;gap:18px;}
.pro-card{background:rgba(255,255,255,.94);border-radius:28px;padding:22px;box-shadow:0 18px 45px rgba(70,45,90,.10);}
.mission-pro-card{grid-column:1/-1;}
.pro-toolbox select{width:100%;border:0;background:#f4f1f8;border-radius:16px;padding:12px 14px;font-weight:900;margin:12px 0;}
.pill-soft{background:#f4f1f8;border-radius:999px;padding:8px 12px;font-weight:900;color:#6b5c7c;}
.roulette-display{min-height:112px;border-radius:24px;background:linear-gradient(135deg,#f7c8d8,#eee8ff);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-size:34px;font-weight:1000;color:#2a2038;box-shadow:inset 0 0 0 2px rgba(255,255,255,.55);}
.roulette-display span,.small-random span{display:block;font-size:14px;color:#6f637d;margin-top:6px;}
.roulette-display.spinning{animation:roulettePulse .16s infinite alternate;}
@keyframes roulettePulse{from{transform:scale(.99) rotate(-.4deg)}to{transform:scale(1.02) rotate(.4deg)}}
.tool-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;}
.tool-actions button,.traffic-actions button,.pro-timer-presets button,.pro-transition-grid button,.primary-action{border:0;border-radius:16px;padding:13px 14px;font-weight:950;background:#fff;box-shadow:0 10px 24px rgba(70,45,90,.08);cursor:pointer;}
.primary-action{background:linear-gradient(135deg,#fff2b8,#f7c8d8)!important;}
.small-random{margin-top:12px;min-height:48px;font-size:18px;}
.dice-card{text-align:center;}
.dice-display{font-size:150px;line-height:1;margin:4px 0 8px;filter:drop-shadow(0 10px 18px rgba(70,45,90,.12));}
.dice-display.rolling{animation:diceRoll .12s infinite linear;}
@keyframes diceRoll{from{transform:rotate(-14deg) scale(1.02)}to{transform:rotate(14deg) scale(1.13)}}
.dice-result-text{font-weight:1000;color:#2a2038;min-height:48px;font-size:24px;}
.smart-dice-card{background:linear-gradient(135deg,#fff,#f8f0ff);}
.smart-dice-select{width:100%;border:0;border-radius:16px;background:#f4f1f8;padding:13px 14px;font-weight:950;margin:10px 0 6px;outline:0;}
.dice-mode-preview{display:flex;flex-wrap:wrap;gap:7px;justify-content:center;margin:10px 0 2px;min-height:38px;}
.dice-mode-preview span{background:#fff;border-radius:999px;padding:8px 10px;font-weight:850;color:#6c5d7d;box-shadow:0 8px 18px rgba(70,45,90,.06);}
.dice-actions{grid-template-columns:2fr 1fr 1fr;}
body.projector-mode .dice-display{font-size:240px;}
body.projector-mode .dice-card{min-height:520px;display:flex;flex-direction:column;justify-content:center;}
body.projector-mode .overlay-icon{font-size:220px;}
body.projector-mode .overlay-title{font-size:96px;}

.timer-pro-card{grid-column:1/-1;}
.pro-timer-presets{grid-template-columns:repeat(4,1fr);}
.traffic-light-display{border-radius:28px;padding:24px;text-align:center;color:#2a2038;background:#d9f5e5;display:grid;gap:7px;place-items:center;min-height:138px;margin:14px 0;transition:.25s;}
.traffic-light-display span{width:54px;height:54px;border-radius:999px;display:block;background:#33c768;box-shadow:0 0 0 14px rgba(51,199,104,.13);}
.traffic-light-display strong{font-size:28px;font-weight:1000;}.traffic-light-display small{font-weight:850;color:#5d536d;}
.traffic-light-display.yellow{background:#fff2b8;}.traffic-light-display.yellow span{background:#ffc83d;box-shadow:0 0 0 14px rgba(255,200,61,.18)}
.traffic-light-display.red{background:#ffdce8;}.traffic-light-display.red span{background:#ff3b3b;box-shadow:0 0 0 14px rgba(255,59,59,.15)}
.traffic-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;}
.pro-transition-grid{grid-template-columns:1fr 1fr;}
.pro-score-board .team-score{border-radius:22px;background:linear-gradient(135deg,#fff,#f8f5fb);padding:14px;}
.pro-score-board .team-score span{font-size:32px;font-weight:1000;}
.pro-score-board .team-score div{display:flex;gap:6px;justify-content:center;}
.pro-score-board .team-score button{border-radius:12px;padding:8px 10px;}
.pro-bottom-grid{grid-template-columns:1fr 1fr;margin-top:22px;}
.shortcut-tags{display:flex;flex-wrap:wrap;gap:8px}.shortcut-tags span{background:#f4f1f8;border-radius:999px;padding:10px 12px;font-weight:900;}
.live-overlay{position:fixed;inset:0;z-index:9999;background:radial-gradient(circle at top left,#fff2b8 0,#f7c8d8 32%,#dcccff 100%);display:none;align-items:center;justify-content:center;flex-direction:column;text-align:center;color:#241b32;padding:42px;}
.live-overlay.show{display:flex;animation:overlayIn .18s ease-out;}
@keyframes overlayIn{from{opacity:0;transform:scale(1.02)}to{opacity:1;transform:scale(1)}}
.overlay-icon{font-size:140px;line-height:1;margin-bottom:22px;filter:drop-shadow(0 20px 30px rgba(70,45,90,.18));}
.overlay-title{font-size:78px;font-weight:1000;max-width:1100px;line-height:1.05;}
.overlay-subtitle{font-size:28px;font-weight:900;margin-top:18px;color:#5f526f;}
.overlay-close{position:absolute;top:24px;right:28px;border:0;border-radius:999px;background:rgba(255,255,255,.7);width:54px;height:54px;font-size:34px;font-weight:800;cursor:pointer;}
body.projector-mode .sidebar,body.projector-mode .topbar{display:none!important;}
body.projector-mode .app{grid-template-columns:1fr!important;}
body.projector-mode main{padding:18px!important;}
body.projector-mode .classroom-live-pro-page{max-width:1600px;margin:0 auto;}
body.projector-mode .pro-hero .muted{display:none;}
@media(max-width:1250px){.classroom-pro-grid{grid-template-columns:1fr}.pro-side-stage{display:grid;grid-template-columns:repeat(2,1fr)}.pro-hero{grid-template-columns:1fr}.pro-main-stage{grid-template-columns:1fr}.pro-bottom-grid{grid-template-columns:1fr}}
@media(max-width:850px){.pro-side-stage{grid-template-columns:1fr}.tool-actions,.traffic-actions,.pro-status-actions{grid-template-columns:1fr}.pro-timer-presets{grid-template-columns:repeat(2,1fr)}.overlay-title{font-size:46px}.overlay-icon{font-size:90px}}


/* Teacher OS v1.1.2 — Projector + Shortcuts Fix */
.shortcut-buttons{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:10px;}
.shortcut-buttons button{border:0;border-radius:18px;background:#fff;padding:14px 12px;font-weight:950;box-shadow:0 10px 24px rgba(70,45,90,.08);cursor:pointer;}
.shortcut-buttons button:hover{transform:translateY(-2px);background:#fff6fb;}
.tool-highlight{outline:5px solid #ff2e93;box-shadow:0 0 0 10px rgba(255,46,147,.12),0 20px 50px rgba(70,45,90,.22)!important;transition:.18s;}
.projector-panel{display:none;position:fixed;inset:18px;z-index:8800;background:radial-gradient(circle at top left,#fff2b8 0,#f7c8d8 38%,#d0e8ff 100%);border-radius:34px;padding:34px;box-shadow:0 30px 90px rgba(40,25,55,.28);overflow:auto;}
.projector-panel.show{display:block;}
.projector-head{display:flex;align-items:center;justify-content:space-between;gap:20px;background:rgba(255,255,255,.72);border-radius:28px;padding:20px 24px;margin-bottom:24px;}
.projector-head h2{font-size:42px;margin:4px 0;color:#2a2038;}
.projector-head button{border:0;border-radius:18px;background:#fff;padding:16px 22px;font-weight:1000;box-shadow:0 12px 30px rgba(70,45,90,.12);cursor:pointer;}
.projector-grid{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:20px;}
.projector-grid button{min-height:190px;border:0;border-radius:32px;background:rgba(255,255,255,.82);font-size:64px;font-weight:1000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;box-shadow:0 18px 50px rgba(70,45,90,.12);cursor:pointer;}
.projector-grid button strong{font-size:22px;color:#2a2038;}
.projector-grid button:hover{transform:translateY(-4px) scale(1.01);background:#fff;}
body.projector-mode .projector-panel{display:block;}
body.projector-mode .page:not(#teacher){display:none!important;}
body.projector-mode #teacher{display:block!important;}
body.projector-mode .classroom-hero,body.projector-mode .classroom-pro-grid,body.projector-mode .classroom-bottom-grid{opacity:.08;pointer-events:none;filter:blur(1px);}
body.projector-mode .live-overlay.show{z-index:9999;}
body.projector-mode .dice-display{font-size:300px;}
body.projector-mode .overlay-icon{font-size:260px;}
body.projector-mode .overlay-title{font-size:112px;}
@media(max-width:900px){.projector-grid{grid-template-columns:repeat(2,1fr)}.shortcut-buttons{grid-template-columns:repeat(2,1fr)}}

/* Teacher OS v1.3.0 — Classroom Live Experience */
.sound-pro-card{display:grid;gap:12px;}
.sound-toggle{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.72);border-radius:16px;padding:10px 12px;font-weight:900;}
.sound-toggle input{width:18px;height:18px;accent-color:#ff2f92;}
.sound-volume{display:grid;gap:8px;font-weight:950;background:rgba(255,255,255,.72);border-radius:16px;padding:10px 12px;}
.sound-volume input{accent-color:#8b5cf6;}
.sound-test-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;}
.sound-test-row button{border:0;border-radius:14px;padding:11px 9px;background:#fff;font-weight:950;box-shadow:0 8px 20px rgba(70,45,90,.08);cursor:pointer;}
.live-overlay{overflow:hidden;}
.live-overlay.show .overlay-icon{animation:teacherPop .42s cubic-bezier(.2,1.6,.3,1), teacherFloat 2.2s ease-in-out infinite .42s;}
.live-overlay.show .overlay-title{animation:teacherSlideUp .35s ease-out;}
.live-overlay.show .overlay-subtitle{animation:teacherSlideUp .45s ease-out;}
.live-overlay.overlay-silence{background:radial-gradient(circle at top,#e8f4ff 0,#f7fbff 42%,#dbeafe 100%);color:#102033;}
.live-overlay.overlay-silence .overlay-icon{filter:drop-shadow(0 20px 30px rgba(30,60,90,.18));}
.live-overlay.overlay-bravo{background:radial-gradient(circle at top left,#fff2b8 0,#ffd4e8 36%,#dcccff 100%);}
.live-overlay.overlay-bravo .overlay-title{font-size:clamp(72px,10vw,160px);color:#ff2f92;text-shadow:0 12px 32px rgba(255,47,146,.24);}
.live-overlay.overlay-stop{background:radial-gradient(circle at top,#ffd6d6 0,#ff9f9f 44%,#ff6b6b 100%);color:#3b0710;}
.live-overlay.overlay-stop .overlay-title{font-size:clamp(86px,12vw,190px);letter-spacing:.06em;}
.live-overlay.overlay-timer{background:radial-gradient(circle at center,#ffffff 0,#fff2b8 45%,#ffd4e8 100%);}
.live-overlay.overlay-timer .overlay-title{font-variant-numeric:tabular-nums;font-size:clamp(100px,16vw,260px);line-height:.95;color:#6b4fa3;}
.live-overlay.overlay-dice{background:radial-gradient(circle at top,#f7f4ff 0,#e9ddff 45%,#cfe8ff 100%);}
.live-overlay.overlay-dice .overlay-icon{font-size:clamp(210px,28vw,420px);line-height:.75;filter:drop-shadow(0 26px 45px rgba(65,42,95,.24));}
.live-overlay.overlay-dice .overlay-title{font-size:clamp(68px,10vw,150px);}
.live-overlay.overlay-roulette{background:conic-gradient(from 0deg,#f7c8d8,#fff2b8,#d9f5e5,#cfe8ff,#dcccff,#f7c8d8);}
.live-overlay.overlay-roulette::before{content:"";position:absolute;inset:8%;border-radius:50%;background:rgba(255,255,255,.45);filter:blur(10px);animation:rouletteBg 2.2s linear infinite;}
.live-overlay.overlay-roulette>*{position:relative;z-index:1;}
.live-overlay.overlay-traffic{background:radial-gradient(circle at top,#ecfff4 0,#d9f5e5 45%,#cfe8ff 100%);}
.live-overlay.overlay-transition{background:radial-gradient(circle at top left,#fff 0,#fff2b8 38%,#dcccff 100%);}
.confetti-piece{position:absolute;top:-60px;z-index:5;pointer-events:none;animation:teacherConfetti 2.45s ease-in forwards;}
@keyframes teacherPop{0%{transform:scale(.45) rotate(-8deg);opacity:.1}70%{transform:scale(1.12) rotate(4deg);opacity:1}100%{transform:scale(1) rotate(0)}}
@keyframes teacherFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes teacherSlideUp{0%{transform:translateY(24px);opacity:0}100%{transform:translateY(0);opacity:1}}
@keyframes teacherConfetti{0%{transform:translateY(-60px) rotate(0deg);opacity:0}10%{opacity:1}100%{transform:translateY(110vh) rotate(720deg);opacity:0}}
@keyframes rouletteBg{0%{transform:rotate(0deg) scale(.95)}100%{transform:rotate(360deg) scale(.95)}}
body.projector-mode .overlay-dice .overlay-icon{font-size:clamp(260px,34vw,520px);}
body.projector-mode .overlay-timer .overlay-title{font-size:clamp(120px,19vw,300px);}
body.projector-mode .overlay-bravo .overlay-title,body.projector-mode .overlay-stop .overlay-title{font-size:clamp(100px,15vw,230px);}
@media(max-width:850px){.sound-test-row{grid-template-columns:1fr}.live-overlay.overlay-dice .overlay-icon{font-size:190px}.live-overlay.overlay-timer .overlay-title{font-size:92px}}


/* Teacher OS v1.4.0 — AI Studio */
.ai-studio-page .ai-studio-head{align-items:flex-start;gap:18px}
.ai-studio-shell{display:grid;grid-template-columns:320px 1fr;gap:18px;align-items:start}
.ai-studio-sidebar{display:flex;flex-direction:column;gap:14px}
.ai-studio-card,.ai-studio-panel{background:rgba(255,255,255,.86);border:1px solid rgba(151,130,190,.22);border-radius:24px;padding:18px;box-shadow:0 14px 35px rgba(88,70,130,.08)}
.ai-studio-card h2,.ai-studio-panel h2{margin-top:0}
.ai-studio-card label{display:block;margin-top:12px;font-weight:800;color:#6f5a83}
.ai-studio-card select,.ai-studio-card textarea{width:100%;margin-top:6px;border:1px solid #e5dff5;border-radius:14px;padding:10px;background:white;font:inherit}
.ai-studio-card textarea{min-height:86px;resize:vertical}
.ai-studio-types{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ai-studio-types button,.ai-studio-tabs button,.ai-template-card,.ai-studio-links button{border:0;border-radius:16px;padding:10px 12px;background:#f6f0ff;color:#5c4a74;font-weight:800;cursor:pointer;text-align:left}
.ai-studio-types button.active,.ai-studio-tabs button.active{background:linear-gradient(135deg,#f7c8d8,#dcccf8);color:#3d3150;box-shadow:0 10px 20px rgba(120,90,150,.16)}
.ai-studio-main{display:flex;flex-direction:column;gap:12px;min-width:0}
.ai-studio-tabs{display:flex;flex-wrap:wrap;gap:8px;background:rgba(255,255,255,.55);border-radius:22px;padding:8px}
#aiStudioPrompt{width:100%;min-height:430px;border:1px solid #e4ddf7;border-radius:18px;padding:16px;font:14px/1.45 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;background:#fff;color:#3d3150;resize:vertical}
.ai-template-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.ai-template-card{display:flex;flex-direction:column;gap:8px;min-height:100px;background:#fff7fb;border:1px solid #f2d3e4}
.ai-template-card span,.ai-history-item span,.ai-production-item span{font-size:.88rem;color:#7a6d86;font-weight:600}
.ai-history-list,.ai-production-board{display:grid;gap:10px}
.ai-history-item,.ai-production-item{border:1px solid #eee6fa;border-radius:18px;padding:14px;background:#fff}
.ai-history-item button{margin-top:8px}
.ai-production-board{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
.ai-production-item.done{background:#f0fff6;border-color:#cbeed8}
.ai-production-item.todo{background:#fff7f0;border-color:#ffd9b8}
.ai-studio-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
@media (max-width: 1000px){.ai-studio-shell{grid-template-columns:1fr}.ai-studio-types{grid-template-columns:1fr}}

/* Teacher OS v1.4.1 — Aujourd'hui Focus */
.today-focus-page{padding-bottom:40px;}
.today-focus-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;}
.today-hero-action{display:flex;flex-direction:column;align-items:flex-end;gap:14px;}
.today-hero-action span{padding:10px 16px;border-radius:999px;background:rgba(255,255,255,.55);font-weight:800;color:#5b4a7a;box-shadow:0 10px 25px rgba(80,70,110,.08);}
.primary-action{border:0;border-radius:22px;padding:16px 24px;font-weight:900;font-size:1rem;background:#2f2940;color:white;box-shadow:0 18px 40px rgba(47,41,64,.22);cursor:pointer;}
.primary-action:hover{transform:translateY(-1px);}
.soft-action{border:0;border-radius:18px;padding:12px 16px;background:#f4efff;color:#342a46;font-weight:800;cursor:pointer;margin-top:16px;}
.today-focus-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:24px;margin:26px 0;}
.today-next-content{display:flex;align-items:center;gap:18px;margin-top:12px;}
.today-next-time{font-size:3rem;font-weight:950;line-height:1;color:#2f2940;}
.today-next-main{display:flex;flex-direction:column;gap:4px;}
.today-next-main strong{font-size:1.7rem;color:#2f2940;}
.today-next-main span{font-size:1.05rem;color:#4b425d;}
.today-next-meta{margin-left:auto;align-self:center;padding:10px 14px;border-radius:18px;background:#eef7ff;font-weight:800;color:#31516d;}
.resource-checklist{display:grid;grid-template-columns:repeat(5,minmax(110px,1fr));gap:10px;margin-top:14px;}
.resource-check{border:0;border-radius:18px;padding:14px 12px;text-align:left;display:flex;flex-direction:column;gap:4px;cursor:pointer;background:#f7f7fb;color:#2f2940;box-shadow:inset 0 0 0 1px rgba(47,41,64,.04);}
.resource-check span{font-size:1.25rem;}
.resource-check strong{font-size:.92rem;}
.resource-check small{font-weight:700;color:#80778f;}
.resource-check.ready{background:#eefaf2;}
.resource-check.missing{background:#fff6e4;}
.today-mission-row{margin-top:0;}
.today-mission-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px;}
.today-mission-meta span{padding:9px 12px;border-radius:999px;background:#f6f2ff;font-weight:800;color:#594b75;font-size:.9rem;}
.today-timeline-card{margin-top:26px;}
.today-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;}
.today-card-head small{color:#7a7288;font-weight:800;}
.today-timeline{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;}
.timeline-item{border:0;border-radius:20px;background:#f7f7fb;padding:14px;text-align:left;display:flex;flex-direction:column;gap:5px;cursor:pointer;min-height:104px;box-shadow:inset 0 0 0 1px rgba(47,41,64,.04);}
.timeline-item span{font-weight:950;color:#70648a;}
.timeline-item strong{font-size:1.1rem;color:#2f2940;}
.timeline-item em{font-style:normal;color:#5f566d;font-size:.92rem;line-height:1.25;}
.timeline-item.done{background:#effaf2;opacity:.72;}
.timeline-item.now{background:#eef7ff;box-shadow:0 14px 30px rgba(68,120,175,.16), inset 0 0 0 2px rgba(108,158,211,.22);}
.timeline-item.upcoming{background:#ffffff;}
.timeline-item.break{background:#fff2e5;}
@media (max-width:1100px){.today-focus-grid{grid-template-columns:1fr}.resource-checklist{grid-template-columns:repeat(2,1fr)}.today-focus-hero{align-items:flex-start;flex-direction:column}.today-hero-action{align-items:flex-start}.today-next-content{align-items:flex-start;flex-direction:column}.today-next-meta{margin-left:0}}

/* Teacher OS v1.6.0 — Academic Calendar Engine */
.academic-cycle-card { border: 2px solid rgba(121, 91, 186, .18); }
.academic-grid { grid-template-columns: repeat(4, minmax(150px, 1fr)); }
.academic-status { display:flex; flex-wrap:wrap; gap:10px; margin:16px 0 8px; }
.academic-status span { background:#f3ecff; color:#4a376f; border-radius:999px; padding:10px 14px; font-weight:900; }
.academic-actions { margin-top:12px; align-items:center; flex-wrap:wrap; }
.file-button { display:inline-flex; align-items:center; justify-content:center; gap:8px; background:#fff; border-radius:18px; padding:14px 18px; font-weight:900; box-shadow:0 10px 25px rgba(70,50,90,.08); cursor:pointer; }
.file-button input { display:none; }
.small-note { font-size:.9rem; }
.calendar-day { position:relative; min-height:58px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px; }
.calendar-day strong { font-size:1rem; }
.calendar-day small { font-size:.68rem; color:#7b6a8f; font-weight:900; }
.calendar-day.no-class { background:#fff0f2; border:1px solid #ffd1d9; }
.calendar-day.academic-week-A small { color:#795bbe; }
.calendar-day.academic-week-B small { color:#f72f91; }
.calendar-dots { position:absolute; bottom:5px; display:flex; gap:3px; }
.event-dot { width:6px; height:6px; border-radius:50%; background:#795bbe; display:block; }
.event-dot.vacances { background:#2ecc71; }
.event-dot.festif, .event-dot.ferie, .event-dot.f-ri { background:#ffbe3d; }
.event-dot.suspension, .event-dot.cte, .event-dot.sans-eleves { background:#ff3b3b; }
.calendar-event-row { display:grid; grid-template-columns: 120px 90px 1fr auto; gap:10px; align-items:center; }
.calendar-event-row em { font-style:normal; font-weight:900; color:#795bbe; background:#f4edff; border-radius:999px; padding:6px 10px; text-align:center; }
.calendar-event-row.no-class-row em { color:#a12d4a; background:#ffe8ef; }
@media (max-width: 900px){ .academic-grid { grid-template-columns: repeat(2, minmax(140px, 1fr)); } }

/* Teacher OS v1.7.0 — Cloud Sync */
.sync-page .sync-hero{align-items:stretch;}
.sync-status-card{min-width:260px;background:rgba(255,255,255,.85);border:1px solid rgba(121,91,186,.18);border-radius:24px;padding:18px;display:flex;flex-direction:column;gap:6px;box-shadow:0 14px 35px rgba(88,70,130,.08)}
.sync-dot{width:14px;height:14px;border-radius:50%;display:inline-block;background:#ffbe3d;box-shadow:0 0 0 7px rgba(255,190,61,.12)}
.sync-dot.ok{background:#39c979;box-shadow:0 0 0 7px rgba(57,201,121,.12)}
.sync-dot.error{background:#ff5b77;box-shadow:0 0 0 7px rgba(255,91,119,.12)}
.sync-grid{display:grid;grid-template-columns:1.4fr .9fr;gap:18px;align-items:start}
.sync-panel{background:rgba(255,255,255,.88);border:1px solid rgba(151,130,190,.2);border-radius:24px;padding:18px;box-shadow:0 14px 35px rgba(88,70,130,.08)}
.sync-panel h2{margin-top:0}.wide-sync{grid-column:1 / -1}.sync-main-panel{min-height:250px}
.sync-folder-box{margin:14px 0;padding:16px;border-radius:18px;background:#f7f3ff;color:#4e3d68;font-weight:800;word-break:break-all;border:1px dashed rgba(121,91,186,.35)}
.sync-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.sync-actions.vertical{flex-direction:column;align-items:stretch}.sync-actions button,.sync-panel button{border:0;border-radius:16px;padding:12px 14px;background:#f4efff;color:#342a46;font-weight:900;cursor:pointer}.sync-actions .primary-action{background:#2f2940;color:#fff}
.sync-metrics{display:grid;grid-template-columns:1fr 1fr;gap:12px}.sync-metrics div{border-radius:18px;background:#f8f5ff;padding:16px}.sync-metrics span{display:block;font-size:1.55rem;font-weight:950;color:#2f2940}.sync-metrics small{font-weight:800;color:#7b708f}
.sync-provider-row{display:flex;justify-content:space-between;align-items:center;border-radius:16px;background:#eefaf2;padding:12px;margin-top:10px;font-weight:900}.sync-provider-row.disabled{background:#f6f3fb;color:#81758f}.sync-provider-row strong{color:#4a376f}.sync-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.sync-options label{background:#f9f6ff;border-radius:16px;padding:14px;font-weight:900;color:#504267}.sync-options input{margin-right:8px}
.sync-history-list{display:grid;gap:10px}.sync-history-item{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;border:1px solid #eee6fa;border-radius:18px;padding:12px 14px;background:#fff}.sync-history-item.ok{border-left:6px solid #39c979}.sync-history-item.error{border-left:6px solid #ff5b77}.sync-history-item span,.sync-history-item small{color:#7b708f;font-weight:800}
@media(max-width:980px){.sync-grid{grid-template-columns:1fr}.sync-status-card{min-width:0}.sync-history-item{grid-template-columns:1fr}}

/* Teacher OS v1.8.0 — Student Manager 2.0 */
.student-2-profile{display:grid;grid-template-columns:130px 1fr;gap:18px;align-items:center;background:linear-gradient(135deg,#fff,#f6efff);border-radius:26px;padding:18px;margin-bottom:14px}
.student-avatar-xl{width:120px;height:120px;border-radius:34px;background:linear-gradient(135deg,#dcccf8,#cfe8ff);display:grid;place-items:center;overflow:hidden;box-shadow:0 14px 32px rgba(78,64,110,.12)}
.student-avatar-xl span{font-size:38px;font-weight:1000;color:#3e3357}.student-avatar-xl img{width:100%;height:100%;object-fit:cover}
.student-identity-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.student-identity-grid label{font-weight:1000}.student-identity-grid input{width:100%;margin-top:6px}
.student-profile-actions{grid-column:1/-1;display:flex;gap:10px;flex-wrap:wrap}.student-profile-actions button{padding:10px 14px}
.student-progress-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:12px 0}.student-progress-strip div{background:white;border-radius:20px;padding:14px;text-align:center;box-shadow:0 8px 18px rgba(78,64,110,.07)}.student-progress-strip strong{display:block;font-size:27px;color:#ff2f92}.student-progress-strip span{font-weight:1000;color:var(--doux);font-size:12px}
.student-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 14px}.student-tabs button{padding:10px 13px;background:var(--gris);border-radius:999px}.student-tabs button.active{background:linear-gradient(135deg,#ff2f92,#dcccf8);color:white}
.student-tab-body{background:rgba(255,255,255,.66);border:1px solid rgba(220,204,248,.7);border-radius:24px;padding:16px}.student-detail-grid.two{grid-template-columns:repeat(2,1fr)}.student-detail-grid.three{grid-template-columns:repeat(3,1fr);align-items:end}.student-detail-grid button{height:48px}
.competence-bars{display:grid;gap:14px}.competence-bars label{display:grid;grid-template-columns:170px 1fr 52px;gap:12px;align-items:center;font-weight:1000}.competence-bars input{width:100%}.competence-bars div{grid-column:1/-1;height:12px;background:#f1eef8;border-radius:999px;overflow:hidden}.competence-bars i{display:block;height:100%;background:linear-gradient(90deg,#ff2f92,#cfe8ff);border-radius:999px}
.quick-journal{display:grid;grid-template-columns:1fr auto auto auto;gap:10px;margin-bottom:12px}.quick-journal input{min-width:0}.student-timeline{display:grid;gap:10px}.student-timeline div{background:white;border-left:6px solid #dcccf8;border-radius:18px;padding:12px 14px;box-shadow:0 8px 18px rgba(78,64,110,.06)}.student-timeline span{font-weight:1000;color:#ff2f92;font-size:12px}.student-timeline strong{display:block;margin:4px 0;color:#3e3357}.student-timeline p{margin:0;color:var(--doux);font-weight:800}.master-timeline div{border-left-color:#ff2f92}
.resource-list{display:grid;gap:10px}.resource-list div{display:grid;grid-template-columns:1fr 1.3fr auto;gap:12px;align-items:center;background:white;border-radius:18px;padding:12px}.resource-list span{color:var(--doux);font-weight:800;word-break:break-all}.resource-list button{padding:6px 10px}
.live-student-quick-panel{margin-top:12px;background:linear-gradient(135deg,#fff2b8,#ffffff);border-radius:22px;padding:14px;box-shadow:0 10px 22px rgba(78,64,110,.08)}.live-student-mini{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:10px}.live-student-mini strong{font-size:20px}.live-student-mini span{font-weight:1000;color:var(--doux)}.live-student-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.live-student-actions button{padding:10px;border-radius:14px;background:white}
@media(max-width:1100px){.student-2-profile,.student-identity-grid,.student-progress-strip,.student-detail-grid.two,.student-detail-grid.three,.quick-journal,.resource-list div{grid-template-columns:1fr}.competence-bars label{grid-template-columns:1fr}.student-profile-actions{grid-column:auto}}

/* Teacher OS v2.0.0 — Teacher Intelligence */
.smart-search-bar{display:flex;gap:8px;margin-top:14px;max-width:560px}.smart-search-bar input{flex:1;padding:12px 14px;border-radius:16px;border:1px solid rgba(80,60,120,.14);background:rgba(255,255,255,.8)}.smart-search-bar button,.resource-pro-actions button,.live-action-grid button{border:0;border-radius:14px;padding:10px 12px;background:#efe8ff;cursor:pointer;font-weight:700}.intelligence-panel,.smart-search-panel{min-height:230px}.intelligence-list{display:grid;gap:10px}.intel-row,.smart-result{display:flex;gap:12px;align-items:flex-start;width:100%;border:1px solid rgba(80,60,120,.10);background:rgba(255,255,255,.82);border-radius:18px;padding:12px;text-align:left;cursor:pointer}.intel-row.static{cursor:default}.intel-row span,.smart-result span{font-size:1.4rem}.intel-row strong,.smart-result strong{display:block;color:#2f2550}.intel-row small,.smart-result small{display:block;color:#7b718f;margin-top:3px}.smart-search-results{display:grid;gap:10px}.resource-manager-pro{margin-bottom:18px}.resource-pro-card{background:linear-gradient(135deg,#fff,#f6f0ff);border:1px solid rgba(120,80,180,.15);border-radius:24px;padding:18px;box-shadow:0 14px 35px rgba(60,40,100,.08)}.resource-progress{height:12px;border-radius:999px;background:#eee8ff;overflow:hidden;margin:10px 0}.resource-progress span{display:block;height:100%;background:linear-gradient(90deg,#d9f5e5,#cfe8ff,#dcccf8);border-radius:999px}.resource-pro-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.planning-intelligence-card{margin:18px 0}.live-student-actions{margin-top:14px}.live-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.sync-page .version-note:after{content:' · Teacher Intelligence ready'}

/* Teacher OS v2.0.2 — School Manager */
.group-admin-row{display:flex;align-items:center;gap:6px;margin:4px 0;padding:4px;border-radius:14px;background:rgba(255,255,255,.55);border:1px solid rgba(180,160,190,.18)}
.group-admin-row.active{background:linear-gradient(135deg,#ffe9f2,#eee8ff);box-shadow:0 8px 18px rgba(108,82,130,.12)}
.group-admin-row .group-pick{flex:1;display:flex;justify-content:space-between;align-items:center;border:0;background:transparent;padding:8px 10px;font-weight:700;color:#4b3d57;cursor:pointer}
.group-admin-row .group-pick span{background:#fff;border-radius:999px;padding:2px 8px;font-size:.78rem;color:#7a6388}
.mini-icon{border:0;background:#fff;border-radius:10px;padding:7px 9px;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.05)}
.mini-icon:hover{transform:translateY(-1px)}
.danger-soft{background:#fff0f0!important;color:#9b2f3f!important;border:1px solid #ffd0d8!important}
.school-manager-card{max-height:520px;overflow:auto}
.school-manager-panel{display:flex;flex-direction:column;gap:10px}
.school-manager-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.school-manager-tabs button{border:0;border-radius:12px;background:#f7f1ff;padding:8px;font-size:.82rem;cursor:pointer;color:#5b4c66}
.school-manager-tabs button.active{background:#dcccf8;color:#33233f;font-weight:800}
.manager-list{display:flex;flex-direction:column;gap:8px;font-size:.86rem}
.manager-list h3{margin:8px 0 2px;font-size:.9rem;color:#5d4769}
.manager-list>div{background:#fff;border:1px solid rgba(190,170,200,.25);border-radius:12px;padding:8px;display:flex;flex-direction:column;gap:4px}
.manager-list>div span{font-size:.78rem;color:#897790}
.manager-list button{align-self:flex-start;margin-top:4px;border:0;background:#d9f5e5;border-radius:10px;padding:6px 9px;cursor:pointer}
.student-profile-actions{flex-wrap:wrap}
.student-actions button:last-child{background:#fff7d7}


/* v2.0.3 — Student Manager UX polish: no chevauchement, responsive grid/flex */
#students, #students *{box-sizing:border-box;}
#students .page-head{min-width:0;}
#students .student-manager-layout{
  display:grid !important;
  grid-template-columns:minmax(250px,300px) minmax(0,1fr) !important;
  gap:20px !important;
  align-items:start !important;
  width:100%;
  max-width:100%;
  overflow:visible;
}

/* Pilotage hebdomadaire PH-1..PH-5 */
.weekly-pilot-page{max-width:1180px;margin:auto}.weekly-head{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:18px;padding:20px}.weekly-heading h1{margin:3px 0 7px}.weekly-badges{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.weekly-type{background:#eee7ff;color:#684da0;padding:7px 12px;border-radius:999px;font-weight:800}.weekly-arrow{width:48px;height:48px;border-radius:50%;font-size:30px;padding:0}.weekly-progress{display:flex;align-items:center;gap:12px;min-width:260px}.weekly-progress small{display:block;color:#756f7d;margin-top:3px}.progress-ring{--ring:#e5484d;--p:0;width:84px;height:84px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--ring) calc(var(--p)*1%),#ece9ef 0);position:relative;flex:0 0 auto}.progress-ring:before{content:"";position:absolute;inset:9px;background:white;border-radius:50%}.progress-ring span{position:relative;font-weight:900;font-size:19px}.progress-ring.yellow{--ring:#e5b829}.progress-ring.turquoise{--ring:#28bdb5}.progress-ring.green{--ring:#35a867}.weekly-empty{text-align:center;padding:36px}.weekly-create,.weekly-toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.weekly-toolbar{margin:15px 0;padding:12px}.weekly-toolbar select{margin-left:auto;max-width:220px}.weekly-sections{display:grid;gap:12px}.weekly-section{background:white;border:1px solid #e9e4ee;border-radius:16px;overflow:hidden;box-shadow:0 5px 18px rgba(63,45,79,.05)}.weekly-section summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;font-weight:850;font-size:17px;background:#faf8fc}.section-progress{display:flex;align-items:center;gap:9px;font-size:13px;color:#736a7c}.section-progress i{width:90px;height:7px;border-radius:8px;background:linear-gradient(90deg,#29bcb4 var(--p),#e8e4eb 0)}.weekly-task-list{padding:7px 14px}.weekly-task{display:grid;grid-template-columns:auto 1fr auto;gap:13px;align-items:start;padding:13px 4px;border-bottom:1px solid #eeeaf1}.weekly-task:last-child{border-bottom:0}.task-check input{position:absolute;opacity:0}.task-check span{display:block;width:25px;height:25px;border:2px solid #8c73b4;border-radius:7px;margin-top:2px;background:white}.task-check input:checked+span{background:#6e54a0;border-color:#6e54a0}.task-check input:checked+span:after{content:"✓";color:white;font-weight:900;display:grid;place-items:center}.task-title{font-weight:750;color:#302a36}.weekly-task.done .task-title{text-decoration:line-through;color:#8c858f}.weekly-task.excluded{opacity:.48}.task-meta{display:flex;gap:7px;flex-wrap:wrap;margin-top:6px}.task-meta span{font-size:12px;background:#f2eff5;padding:4px 7px;border-radius:8px}.task-meta .priority{font-weight:800}.task-meta .p1{background:#ffe1e3;color:#a22931}.task-meta .p2{background:#fff0cc;color:#8b6300}.task-meta .p3{background:#dff7f5;color:#16716d}.task-meta .p4{background:#e9edf5;color:#516078}.task-meta .postponed{background:#eee5ff;color:#6845a1}.task-main p{margin:8px 0 0;color:#756f7d}.task-actions{display:flex;gap:5px}.task-actions button{min-width:42px;padding:7px;background:#f5f1f8;color:#594b67}.weekly-none{text-align:center;color:#8a838d;padding:12px}.weekly-dialog{border:0;border-radius:18px;box-shadow:0 24px 70px #31243c55;padding:0;width:min(520px,calc(100% - 28px))}.weekly-dialog::backdrop{background:#2d233866}.weekly-dialog form{display:grid;gap:13px;padding:24px}.weekly-dialog h2{margin:0 0 4px}.weekly-dialog label{display:grid;gap:5px;font-weight:700}.weekly-dialog input,.weekly-dialog select,.weekly-dialog textarea{width:100%}.weekly-dialog textarea{min-height:80px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:5px}
@media(max-width:850px){.weekly-head{grid-template-columns:auto 1fr auto}.weekly-progress{grid-column:1/-1;justify-content:center}.weekly-task{grid-template-columns:auto 1fr}.task-actions{grid-column:2;justify-content:flex-end}.weekly-toolbar select{margin-left:0}.section-progress i{display:none}}
.postponed-banner{display:inline-flex;align-items:center;margin:0 0 7px;padding:5px 9px;border-radius:9px;background:#eee5ff;color:#6845a1;font-size:12px;font-weight:850}.weekly-task.was-postponed{border-left:4px solid #9a77d5;padding-left:10px}
.weekly-import-dialog{width:min(780px,calc(100% - 28px))}.weekly-import-dialog form{max-height:min(86vh,850px);overflow:auto}.weekly-import-dialog textarea{min-height:230px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:13px}.import-help{margin:0;color:#756f7d;font-size:13px}.import-options{display:flex;gap:18px;flex-wrap:wrap;padding:10px 12px;background:#f7f4fa;border-radius:12px}.import-options label{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:7px!important}.import-options input{width:auto!important}.import-preview{border:1px solid #e5dfeb;border-radius:13px;padding:12px;background:#fff}.import-preview h3{margin:0 0 8px}.import-summary{display:flex;gap:8px;flex-wrap:wrap}.import-summary span{padding:5px 8px;border-radius:8px;background:#eee9f4;font-size:12px;font-weight:750}.import-summary .ok{background:#ddf6ea;color:#1e704d}.import-summary .warn{background:#fff0cc;color:#815e00}.import-preview-list{margin:10px 0 0;padding-left:21px;max-height:180px;overflow:auto;color:#514958;font-size:13px}.import-preview-list li{margin:4px 0}.import-empty{color:#a22931;font-weight:750}.import-category{color:#72589b;font-weight:800}
#students .student-sidebar{
  position:sticky;
  top:16px;
  display:flex !important;
  flex-direction:column;
  gap:14px;
  min-width:0;
  max-height:calc(100vh - 96px);
  overflow:auto;
  padding-right:3px;
}
#students .student-main{
  display:grid !important;
  grid-template-columns:minmax(280px,410px) minmax(0,1fr);
  grid-template-areas:
    "stats stats"
    "list detail";
  gap:18px;
  min-width:0;
  width:100%;
}
#students #studentStats{grid-area:stats;min-width:0;}
#students .wide-student{grid-area:list;min-width:0;align-self:start;position:sticky;top:16px;max-height:calc(100vh - 96px);overflow:auto;}
#students .selected-student-panel{grid-area:detail;min-width:0;align-self:start;}
#students .student-panel{min-width:0;max-width:100%;overflow:hidden;}
#students .student-panel h2,#students .selected-student-top h2,#students .student-card strong,#students .student-card span,#students .group-name{
  min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;
}
#students .student-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;min-width:0;}
#students .student-stats div{min-width:0;padding:14px 10px;}
#students .student-stats strong{font-size:clamp(22px,2.8vw,32px);}
#students .group-filters{display:flex !important;flex-direction:column;gap:8px;}
#students .group-admin-row{display:grid;grid-template-columns:minmax(0,1fr) 42px 42px;gap:6px;align-items:center;width:100%;min-width:0;background:rgba(255,255,255,.7);border:1px solid rgba(220,204,248,.55);border-radius:16px;padding:5px;}
#students .group-admin-row.active{background:linear-gradient(135deg,#ffe0ef,#eef3ff);border-color:#ff2f92;}
#students .group-pick{min-width:0;width:100%;height:44px;display:grid !important;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;text-align:left;padding:8px 10px;border-radius:12px;}
#students .group-count{display:inline-flex !important;align-items:center;justify-content:center;min-width:24px;height:24px;border-radius:999px;background:rgba(255,255,255,.75);font-size:12px;}
#students .mini-icon{min-width:38px;width:38px;height:38px;padding:0;border-radius:12px;display:grid;place-items:center;}
#students .student-manager-list{display:grid !important;grid-template-columns:1fr !important;gap:12px;}
#students .student-card{min-width:0;overflow:hidden;}
#students .student-card-top{min-width:0;align-items:center;}
#students .student-card-top > div:first-child{min-width:0;}
#students .student-actions{display:flex;flex-wrap:wrap;gap:8px;}
#students .student-actions button{padding:9px 12px;min-width:44px;}
#students .selected-student-top{min-width:0;align-items:flex-start;}
#students .selected-student-top > div:first-child{min-width:0;}
#students .student-2-profile{display:grid;grid-template-columns:120px minmax(0,1fr);gap:16px;min-width:0;}
#students .student-identity-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-width:0;}
#students .student-identity-grid input,#students input,#students select,#students textarea{min-width:0;max-width:100%;}
#students .student-profile-actions{display:flex;flex-wrap:wrap;gap:9px;min-width:0;}
#students .student-profile-actions button{white-space:nowrap;}
#students .student-tabs{display:flex;gap:8px;overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px;}
#students .student-tabs button{white-space:nowrap;flex:0 0 auto;}
#students .student-tab-body{min-width:0;overflow:hidden;}
#students .student-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
#students .student-detail-grid.three{grid-template-columns:repeat(3,minmax(0,1fr));}
#students .quick-journal{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:10px;}
#students .school-manager-card{max-height:360px;overflow:auto;}
#students .manager-list>div{min-width:0;}
#students .manager-list>div strong,#students .manager-list>div span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;max-width:100%;}
@media(max-width:1500px){
  #students .student-main{grid-template-columns:minmax(260px,360px) minmax(0,1fr);}
  #students .student-manager-layout{grid-template-columns:minmax(230px,280px) minmax(0,1fr) !important;}
}
@media(max-width:1180px){
  #students .student-manager-layout{grid-template-columns:1fr !important;}
  #students .student-sidebar{position:static;max-height:none;display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr));}
  #students .student-main{grid-template-columns:1fr;grid-template-areas:"stats" "list" "detail";}
  #students .wide-student{position:static;max-height:none;}
}
@media(max-width:760px){
  #students .student-sidebar,#students .student-stats,#students .student-2-profile,#students .student-identity-grid,#students .student-progress-strip,#students .student-detail-grid,#students .student-detail-grid.two,#students .student-detail-grid.three,#students .quick-journal{grid-template-columns:1fr !important;}
  #students .student-head-actions{width:100%;}
  #students .student-head-actions input{min-width:0;width:100%;}
}


/* v2.0.5 STABLE · Student Manager Layout Fix
   Corrections only: no new module, no old-module recovery. */
#students .student-manager-layout{
  grid-template-columns:minmax(235px,280px) minmax(0,1fr) !important;
  gap:18px !important;
}
#students .student-sidebar{
  overflow:visible !important;
  max-height:none !important;
  position:relative !important;
  top:auto !important;
}
#students .student-sidebar .student-panel{
  overflow:visible !important;
}
#students .group-filters{
  max-height:300px;
  overflow:auto;
  padding-right:4px;
}
#students .student-main{
  grid-template-columns:minmax(340px,420px) minmax(560px,1fr) !important;
  align-items:start !important;
}
#students .wide-student{
  position:relative !important;
  top:auto !important;
  max-height:none !important;
  overflow:visible !important;
}
#students .selected-student-panel{
  overflow:visible !important;
}
#students .selected-student-detail{
  overflow:visible !important;
}
#students .student-2-profile{
  grid-template-columns:110px minmax(0,1fr) !important;
  align-items:start !important;
  padding:16px !important;
}
#students .student-avatar-xl{
  width:104px !important;
  height:104px !important;
  border-radius:28px !important;
}
#students .student-identity-grid{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  align-items:end !important;
}
#students .student-profile-actions{
  grid-column:1 / -1 !important;
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:10px !important;
}
#students .student-profile-actions button{
  width:100% !important;
  min-height:46px !important;
  white-space:normal !important;
  line-height:1.15 !important;
  cursor:pointer !important;
  position:relative !important;
  z-index:3 !important;
}
#students .student-tabs,
#students .student-tab-body{
  position:relative !important;
  z-index:1 !important;
}
#students .student-card{
  position:relative !important;
  z-index:1 !important;
}
#students .student-actions button{
  position:relative !important;
  z-index:2 !important;
}
#students .student-detail-grid.three,
#students .quick-journal{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
}
#students .student-detail-grid.three button,
#students .quick-journal button:last-child{
  grid-column:auto !important;
}
@media(max-width:1580px){
  #students .student-main{
    grid-template-columns:minmax(320px,390px) minmax(500px,1fr) !important;
  }
  #students .student-profile-actions{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
@media(max-width:1320px){
  #students .student-manager-layout{grid-template-columns:1fr !important;}
  #students .student-sidebar{display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr));}
  #students .student-main{grid-template-columns:1fr !important;grid-template-areas:"stats" "list" "detail" !important;}
  #students .group-filters{max-height:220px;}
}
@media(max-width:880px){
  #students .student-sidebar,
  #students .student-stats,
  #students .student-2-profile,
  #students .student-identity-grid,
  #students .student-profile-actions,
  #students .student-detail-grid.three,
  #students .quick-journal{
    grid-template-columns:1fr !important;
  }
}

/* v2.0.6 STABLE · Student Manager sketch layout
   Stable correction only: layout containment + clickable controls. */
#students .student-manager-layout-v206{
  display:grid !important;
  grid-template-columns:minmax(250px,340px) minmax(0,1fr) !important;
  grid-template-areas:
    "top top"
    "stats stats"
    "list detail"
    "school detail" !important;
  gap:18px !important;
  align-items:start !important;
  width:100% !important;
  max-width:100% !important;
  overflow:visible !important;
}
#students .student-top-grid{
  grid-area:top;
  display:grid;
  grid-template-columns:1.2fr 1fr 1fr 1fr;
  gap:14px;
  min-width:0;
  align-items:stretch;
}
#students .student-top-grid .student-panel{
  min-height:180px;
  max-height:300px;
  overflow:auto !important;
}
#students #studentStats{grid-area:stats;display:grid !important;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;min-width:0;}
#students .area-list{grid-area:list;position:relative !important;top:auto !important;max-height:560px !important;overflow:auto !important;align-self:start;}
#students .area-school{grid-area:school;max-height:330px !important;overflow:auto !important;align-self:start;}
#students .area-detail{grid-area:detail;min-height:620px;overflow:visible !important;align-self:start;}
#students .student-panel{border:0 !important;outline:0 !important;box-shadow:0 14px 34px rgba(78,64,110,.10) !important;background:rgba(255,255,255,.94) !important;}
#students .student-panel h2{font-size:clamp(20px,1.8vw,28px);line-height:1.1;margin:0 0 14px;white-space:normal !important;}
#students .group-filters{max-height:180px;overflow:auto;padding-right:4px;}
#students .add-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;}
#students .add-row input{min-width:0;}
#students .student-manager-list{display:grid !important;grid-template-columns:1fr !important;gap:12px;}
#students .student-card{overflow:hidden;}
#students .student-card strong,#students .student-card span,#students .selected-student-top h2{
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;
}
#students .selected-student-top{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;min-width:0;}
#students .student-score-ring{flex:0 0 auto;}
#students .student-2-profile{display:grid !important;grid-template-columns:130px minmax(0,1fr) !important;gap:18px !important;align-items:start !important;}
#students .student-avatar-xl{width:120px;height:120px;}
#students .student-identity-grid{display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:12px !important;}
#students .student-profile-actions{grid-column:1 / -1;display:flex !important;flex-wrap:wrap !important;gap:10px !important;position:relative;z-index:2;}
#students .student-profile-actions button,#students .student-actions button,#students .student-list-tools button,#students .group-pick,#students .mini-icon{
  pointer-events:auto !important;cursor:pointer !important;position:relative;z-index:3;
}
#students .student-tabs{position:relative;z-index:2;}
#students .student-tab-body{overflow:visible !important;}
@media(max-width:1450px){
  #students .student-top-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  #students .student-manager-layout-v206{grid-template-columns:minmax(260px,380px) minmax(0,1fr) !important;}
}
@media(max-width:1050px){
  #students .student-manager-layout-v206{
    grid-template-columns:1fr !important;
    grid-template-areas:"top" "stats" "list" "detail" "school" !important;
  }
  #students .student-top-grid{grid-template-columns:1fr;}
  #students .area-list{max-height:none !important;}
  #students .area-detail{min-height:auto;}
  #students #studentStats{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:680px){
  #students #studentStats,#students .student-2-profile,#students .student-identity-grid,#students .quick-journal,#students .student-detail-grid,#students .student-detail-grid.two,#students .student-detail-grid.three{grid-template-columns:1fr !important;}
  #students .selected-student-top{flex-direction:column;}
}

/* v2.0.9 — Changer groupe modal fix */
.student-move-modal{position:fixed;inset:0;background:rgba(30,20,45,.22);backdrop-filter:blur(3px);z-index:99999;display:flex;align-items:center;justify-content:center;padding:24px;}
.student-move-card{width:min(420px,92vw);background:#fff;border-radius:28px;padding:24px;box-shadow:0 24px 70px rgba(35,25,55,.25);border:2px solid rgba(214,190,255,.9);}
.student-move-card h3{margin:0 0 10px;font-size:24px;color:#2d2445;}
.student-move-card label{display:grid;gap:8px;font-weight:800;color:#2d2445;margin-top:16px;}
.student-move-card select{border:2px solid #dcccf8;border-radius:18px;padding:14px 16px;font-weight:800;font-size:16px;background:white;}
.student-move-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:22px;}
.student-move-actions button{border:0;border-radius:18px;padding:12px 18px;font-weight:900;background:#f7f2ff;box-shadow:0 10px 24px rgba(40,30,60,.08);cursor:pointer;}
.student-move-actions button:last-child{background:#fff2b8;}

/* v2.1.0 STABLE · Student Manager Final UX
   Reorganisation only: accordions, no horizontal tabs, stronger list space. */
#students .student-manager-layout-v206{
  grid-template-columns:minmax(300px,440px) minmax(0,1fr) !important;
  grid-template-areas:
    "top top"
    "stats stats"
    "list detail"
    "school detail" !important;
}
#students .area-list{
  min-height:620px !important;
  max-height:calc(100vh - 250px) !important;
}
#students .area-school{
  max-height:360px !important;
}
#students .area-detail{
  min-height:720px !important;
}
#students .selected-student-detail{
  overflow:visible !important;
}
#students .student-final-profile{
  margin-top:14px;
  background:linear-gradient(135deg, rgba(238,232,255,.72), rgba(255,255,255,.92));
  border-radius:30px;
  padding:22px !important;
}
#students .student-final-profile .student-avatar-xl{
  align-self:center;
}
#students .student-tabs{display:none !important;}
#students .student-final-accordions{
  display:grid;
  gap:12px;
  margin:16px 0 14px;
}
#students .student-accordion{
  background:rgba(255,255,255,.92);
  border:2px solid rgba(220,204,248,.85);
  border-radius:24px;
  overflow:hidden;
  box-shadow:0 10px 24px rgba(78,64,110,.06);
}
#students .student-accordion-head{
  width:100%;
  border:0;
  background:linear-gradient(90deg, rgba(255,255,255,.98), rgba(247,242,255,.92));
  padding:15px 18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  font-weight:900;
  font-size:17px;
  color:#2d2445;
  cursor:pointer;
}
#students .student-accordion.open .student-accordion-head{
  background:linear-gradient(90deg, rgba(247,200,216,.58), rgba(220,204,248,.7));
}
#students .student-accordion-head strong{
  width:30px;
  height:30px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:#fff2b8;
  color:#2d2445;
}
#students .student-accordion-body{
  padding:18px;
  background:rgba(255,255,255,.72);
}
#students .student-progress-strip-inline{
  margin:0 0 14px !important;
}
#students .student-actions-title{
  margin:12px 0 10px;
  font-weight:900;
  color:#6f5a83;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:12px;
}
#students .student-final-actions{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:10px !important;
  margin-top:0;
}
#students .student-final-actions button{
  min-height:48px;
  border-radius:18px;
}
#students .selected-student-panel label textarea{
  min-height:120px;
}
#students .student-detail-grid,
#students .student-detail-grid.two,
#students .student-detail-grid.three{
  min-width:0;
}
#students .student-detail-grid input,
#students .student-detail-grid select,
#students .student-detail-grid textarea,
#students .quick-journal input{
  min-width:0;
}
@media(max-width:1450px){
  #students .student-manager-layout-v206{grid-template-columns:minmax(280px,410px) minmax(0,1fr) !important;}
  #students .area-list{min-height:560px !important;}
}
@media(max-width:1050px){
  #students .area-list{max-height:none !important;min-height:auto !important;}
  #students .area-detail{min-height:auto !important;}
}

/* v2.2.0 DEV — Student Progress Redesign */
.progress-dev-note{background:#fff;border-radius:16px;padding:12px 14px;margin:10px 0 16px;color:var(--doux);font-weight:800;box-shadow:0 8px 20px rgba(78,64,110,.06)}
.competence-star-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}
.competence-card{background:#fff;border:1px solid rgba(216,196,255,.9);border-radius:20px;padding:14px 16px;box-shadow:0 10px 24px rgba(78,64,110,.06)}
.competence-card strong{display:block;margin-bottom:10px;color:var(--ink)}
.competence-stars{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.star-btn{border:0;background:#fff7cf;border-radius:12px;min-width:38px;height:38px;font-size:20px;cursor:pointer;box-shadow:0 6px 14px rgba(78,64,110,.08)}
.star-btn:not(.on){background:#f7f3ff;color:#8b7da5}
.star-btn:hover{transform:translateY(-1px)}
.competence-stars span{margin-left:8px;font-weight:1000;color:var(--doux)}
.pedagogical-synthesis{margin-top:16px;background:linear-gradient(135deg,#fff,#f7f0ff);border:1px solid rgba(216,196,255,.9);border-radius:22px;padding:16px;box-shadow:0 10px 24px rgba(78,64,110,.06)}
.pedagogical-synthesis h4{margin:0 0 10px;color:var(--ink)}
.pedagogical-synthesis p{margin:7px 0;color:var(--doux);font-weight:800}
@media(max-width:1100px){.competence-star-grid{grid-template-columns:1fr}.star-btn{min-width:34px;height:34px;font-size:18px}}

/* v2.2.2 STABLE — Student List + School Manager Fix
   Stable correction only: vertical list space + robust School Manager tabs. */
#students .student-manager-layout-v206{
  grid-template-columns:minmax(320px,440px) minmax(0,1fr) !important;
  grid-template-rows:auto auto minmax(640px,auto) auto !important;
}
#students .area-list{
  min-height:clamp(620px, calc(100vh - 285px), 920px) !important;
  max-height:clamp(620px, calc(100vh - 240px), 920px) !important;
  display:flex !important;
  flex-direction:column !important;
  overflow:hidden !important;
}
#students .area-list .panel-head{
  flex:0 0 auto !important;
}
#students #studentList.student-manager-list{
  flex:1 1 auto !important;
  min-height:0 !important;
  overflow:auto !important;
  padding-right:4px !important;
  align-content:start !important;
}
#students .area-school{
  max-height:380px !important;
  overflow:auto !important;
}
#students .school-manager-tabs button{
  pointer-events:auto !important;
  cursor:pointer !important;
  position:relative !important;
  z-index:5 !important;
  min-height:42px !important;
  font-weight:900 !important;
}
#students .school-manager-tab-content{
  margin-top:10px;
}
#students .manager-list{
  display:grid;
  gap:12px;
}
#students .manager-list > div{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px 10px;
  align-items:center;
  background:rgba(247,242,255,.72);
  border-radius:16px;
  padding:10px 12px;
}
#students .manager-list > div span{
  color:var(--doux);
  font-weight:800;
  font-size:12px;
}
#students .manager-list button{
  pointer-events:auto !important;
  cursor:pointer !important;
  position:relative !important;
  z-index:6 !important;
}
@media(max-width:1450px){
  #students .area-list{
    min-height:560px !important;
    max-height:720px !important;
  }
}
@media(max-width:1050px){
  #students .student-manager-layout-v206{grid-template-rows:auto !important;}
  #students .area-list{
    min-height:auto !important;
    max-height:none !important;
    overflow:visible !important;
  }
  #students #studentList.student-manager-list{
    overflow:visible !important;
  }
}

/* v2.3.1 DEV — Student List UX Redesign
   Compact navigation for groups of 20–35 students. */
#students .student-list-head{
  display:grid !important;
  gap:10px !important;
  align-items:stretch !important;
}
#students .student-list-title-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
#students .student-list-title-row h2{margin:0 !important;min-width:0;}
#students .compact-export{
  width:40px;
  height:40px;
  padding:0 !important;
  border-radius:14px !important;
  flex:0 0 auto;
}
#students .student-list-search{
  width:100%;
  min-width:0;
  border:2px solid #dcccf8;
  border-radius:16px;
  padding:11px 13px;
  font-weight:800;
  background:#fff;
}
#students .compact-tools{gap:6px !important;flex-wrap:nowrap !important;}
#students .compact-tools button{
  flex:1 1 auto;
  min-width:0;
  padding:8px 9px !important;
  font-size:12px;
  white-space:nowrap;
}
#students #studentList.student-manager-list{
  display:flex !important;
  flex-direction:column !important;
  gap:7px !important;
  padding:2px 4px 8px 0 !important;
}
#students .student-card-compact{
  display:grid !important;
  grid-template-columns:42px minmax(0,1fr) auto;
  grid-template-areas:
    "avatar main score"
    "avatar actions actions";
  align-items:center;
  gap:5px 10px;
  min-height:76px;
  padding:9px 10px !important;
  border-radius:17px !important;
  background:rgba(247,247,250,.96) !important;
  box-shadow:none !important;
  outline:2px solid transparent;
  transition:background .12s ease, outline-color .12s ease, transform .12s ease !important;
}
#students .student-card-compact:hover{
  transform:none !important;
  background:#fff !important;
  outline-color:rgba(220,204,248,.85);
}
#students .student-card-compact.active-student{
  outline:2px solid #ff2f92 !important;
  background:linear-gradient(135deg,#ffe1ee,#fff) !important;
}
#students .student-list-avatar{
  grid-area:avatar;
  width:42px;
  height:42px;
  border-radius:14px;
  display:grid;
  place-items:center;
  overflow:hidden;
  background:linear-gradient(135deg,#dcccf8,#cfe8ff);
  color:#3a2f63;
  font-size:15px;
  font-weight:1000;
}
#students .student-list-avatar-img{width:100%;height:100%;object-fit:cover;display:block;}
#students .student-card-main{grid-area:main;min-width:0;}
#students .student-card-main strong{
  display:block;
  font-size:14px !important;
  line-height:1.15;
  margin:0 0 4px;
}
#students .student-card-meta{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:4px 7px;
  min-width:0;
}
#students .student-card-meta > span:first-child{
  font-size:11px;
  color:var(--doux);
  font-weight:850;
  white-space:nowrap;
}
#students .student-status{
  display:inline-flex;
  align-items:center;
  padding:2px 6px;
  border-radius:999px;
  font-size:9px !important;
  line-height:1.2;
  font-weight:950;
  white-space:nowrap;
}
#students .student-status.present{background:#e7faef;color:#256d43;}
#students .student-status.follow-up{background:#fff6cf;color:#815f00;}
#students .student-status.attention{background:#ffe2e5;color:#9a2632;}
#students .student-card-score{
  grid-area:score;
  min-width:42px;
  height:42px;
  border-radius:14px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  background:#fff2b8;
  font-size:16px;
  font-weight:1000;
  line-height:1;
}
#students .student-card-score small{font-size:8px;margin-top:3px;color:#6f5a83;}
#students .student-card-actions{
  grid-area:actions;
  display:flex;
  justify-content:flex-end;
  gap:5px;
}
#students .student-card-actions button{
  width:29px;
  height:27px;
  min-height:0 !important;
  padding:0 !important;
  border-radius:10px !important;
  display:grid;
  place-items:center;
  font-size:12px;
  background:#fff;
  box-shadow:0 3px 8px rgba(78,64,110,.07);
  cursor:pointer;
}
#students .student-card-actions button.is-present{background:#d9f5e5;}
#students .student-list-empty{padding:18px;text-align:center;color:var(--doux);font-weight:800;}
@media(max-width:1450px){
  #students .student-card-compact{grid-template-columns:38px minmax(0,1fr) auto;padding:8px !important;gap:4px 8px;}
  #students .student-list-avatar{width:38px;height:38px;border-radius:12px;}
  #students .student-card-main strong{font-size:13px !important;}
  #students .student-card-actions button{width:27px;height:25px;}
}
@media(max-width:1050px){
  #students .student-list-head{position:sticky;top:0;z-index:10;background:rgba(255,255,255,.96);padding-bottom:6px;}
}


/* v2.3.2 STABLE — Student List Full Height Fix
   Stable visual correction only: the student list uses the full available
   desktop height while keeping its own internal scroll. */
@media (min-width:1051px){
  #students .area-list{
    height:calc(100vh - 92px) !important;
    min-height:680px !important;
    max-height:none !important;
    display:flex !important;
    flex-direction:column !important;
    overflow:hidden !important;
    align-self:start !important;
  }
  #students .area-list .student-list-head{
    flex:0 0 auto !important;
  }
  #students .area-list #studentList.student-manager-list{
    flex:1 1 auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    overscroll-behavior:contain;
    scrollbar-gutter:stable;
  }
}
@media (max-width:1050px){
  #students .area-list{
    height:auto !important;
    min-height:auto !important;
    max-height:none !important;
  }
}

/* v2.3.3 STABLE — Student Manager Full Height Layout
   School Manager now lives in School Setup. The student list occupies the
   complete remaining viewport height and only its rows scroll. */
#students .student-manager-layout-v206{
  grid-template-areas:
    "top top"
    "stats stats"
    "list detail" !important;
  grid-template-rows:auto auto minmax(0,auto) !important;
}
#students .area-school{display:none !important;}
@media (min-width:1051px){
  #students .area-list{
    height:var(--student-list-viewport-height, calc(100vh - 300px)) !important;
    min-height:480px !important;
    max-height:none !important;
    align-self:start !important;
    display:flex !important;
    flex-direction:column !important;
    overflow:hidden !important;
  }
  #students .area-list .student-list-head{flex:0 0 auto !important;}
  #students .area-list #studentList.student-manager-list{
    flex:1 1 auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
  }
}
@media (max-width:1050px){
  #students .student-manager-layout-v206{
    grid-template-areas:"top" "stats" "list" "detail" !important;
  }
  #students .area-list{height:auto !important;min-height:auto !important;}
}
#setup .school-manager-setup-card{overflow:visible;}
#setup .school-manager-panel{margin-top:14px;}
#setup .school-manager-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;}
#setup .school-manager-tabs button{
  border:0;border-radius:16px;background:#f7f1ff;padding:12px 10px;
  cursor:pointer;color:#5b4c66;font-weight:900;min-height:46px;
}
#setup .school-manager-tabs button.active{background:#dcccf8;color:#33233f;}
#setup .school-manager-tab-content{margin-top:14px;}
#setup .manager-list{display:grid;gap:12px;}
#setup .manager-list > div{
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;
  align-items:center;background:rgba(247,242,255,.72);border-radius:16px;padding:12px 14px;
}
#setup .manager-list > div span{color:var(--doux);font-weight:800;font-size:12px;}
@media(max-width:760px){#setup .school-manager-tabs{grid-template-columns:1fr 1fr;}}


/* v2.4.0 DEV — Classroom Live Integration */
.classroom-integration{margin:18px 0 22px;padding:18px;border:1px solid #eadcff;border-radius:28px;background:linear-gradient(135deg,#fff 0%,#fff8fc 52%,#f7f3ff 100%);box-shadow:0 14px 36px rgba(70,50,95,.08)}
.classroom-integration-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:14px}.classroom-integration-head h2{margin:2px 0 0}.classroom-group-picker{display:grid;gap:5px;font-weight:800;color:#514461}.classroom-group-picker select{min-width:150px;padding:10px 14px;border:2px solid #ddc9ff;border-radius:16px;background:#fff;font:inherit}
.classroom-live-counters{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:12px;margin-bottom:16px}.classroom-counter{padding:13px 16px;border-radius:20px;background:#fff;box-shadow:0 8px 22px rgba(72,51,91,.07);display:flex;align-items:center;gap:12px}.classroom-counter span{font-size:1.45rem}.classroom-counter strong{display:block;font-size:1.35rem;color:#f02e8a}.classroom-counter small{color:#6d6178;font-weight:750}
.classroom-integration-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:16px;align-items:start}.classroom-student-board{display:grid;grid-template-columns:repeat(auto-fill,minmax(245px,1fr));gap:10px;max-height:560px;overflow:auto;padding:2px 6px 2px 2px}.classroom-live-student{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px;border-radius:18px;background:#f9f8fb;border:2px solid transparent;transition:.15s ease}.classroom-live-student:hover,.classroom-live-student.active{border-color:#ff4aa2;background:#fff3f8}.classroom-live-avatar{width:44px;height:44px;border-radius:15px;background:linear-gradient(135deg,#e2d3ff,#cae5ff);display:grid;place-items:center;font-weight:900;color:#554776}.classroom-live-info{min-width:0}.classroom-live-info strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.classroom-live-info small{display:block;color:#74687e;font-weight:700;margin-top:2px}.classroom-live-actions{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.classroom-live-actions button{padding:8px 5px;border:0;border-radius:12px;background:#fff;box-shadow:0 4px 13px rgba(70,50,90,.07);font-weight:850;cursor:pointer}.classroom-live-actions button:hover{transform:translateY(-1px)}.classroom-live-score{min-width:42px;text-align:center;border-radius:14px;padding:7px 6px;background:#fff3b8;font-weight:900}.classroom-live-score small{display:block;font-size:.65rem}
.classroom-session-history{position:sticky;top:12px;border-radius:22px;background:#fff;padding:14px;box-shadow:0 9px 24px rgba(67,49,84,.07)}.classroom-session-history .panel-head{align-items:flex-start}.classroom-session-history .panel-head h3{margin:0}.classroom-session-history .panel-head small{color:#81748a}.classroom-session-history button{padding:8px 10px;border:0;border-radius:12px;background:#fff2b8;font-weight:800}.classroom-session-history button:disabled{opacity:.45;cursor:not-allowed}.classroom-session-events{display:grid;gap:8px;max-height:475px;overflow:auto;margin-top:12px}.classroom-session-event{display:grid;grid-template-columns:48px 28px 1fr;gap:7px;align-items:center;padding:9px;border-radius:14px;background:#faf8fc}.classroom-session-event time{font-size:.76rem;font-weight:850;color:#796b83}.classroom-session-event strong{display:block}.classroom-session-event small{color:#776a80}.classroom-session-empty{padding:28px 12px;text-align:center;color:#81758a}
@media(max-width:1150px){.classroom-integration-layout{grid-template-columns:1fr}.classroom-session-history{position:static}.classroom-live-counters{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.classroom-integration-head{align-items:stretch;flex-direction:column}.classroom-group-picker select{width:100%}.classroom-live-counters{grid-template-columns:1fr}.classroom-student-board{grid-template-columns:1fr;max-height:none}.classroom-session-history{position:static}}

/* v2.5.0 DEV — Mode Classe */
.mode-classe-shell{position:relative}
.mode-classe-head-actions{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;justify-content:flex-end}
.mode-classe-session-buttons{display:flex;gap:8px;flex-wrap:wrap}.mode-classe-session-buttons button{border:0;border-radius:14px;padding:10px 13px;font-weight:900;cursor:pointer;background:#fff;box-shadow:0 5px 14px rgba(70,50,90,.08)}.mode-classe-session-buttons button:first-child{background:#d9f5e5}.mode-classe-session-buttons button:nth-child(2){background:#fff2b8}.mode-classe-session-buttons button:last-child{background:#ffe0e5;color:#9b2942}.mode-classe-session-buttons button:disabled{opacity:.42;cursor:not-allowed}
.mode-classe-state{display:inline-flex;vertical-align:middle;margin-left:8px;padding:5px 10px;border-radius:999px;background:#eee8ff;color:#6b5890;font-size:.72rem}.mode-classe-state.active{background:#d9f5e5;color:#267852}.mode-classe-state.paused{background:#fff2b8;color:#8a6700}.mode-classe-mission{margin:5px 0 0;color:#776987;font-weight:800}
.mode-classe-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 12px;margin-bottom:14px;border-radius:18px;background:linear-gradient(90deg,#fff4f8,#f3edff)}.mode-classe-toolbar>strong{margin-right:4px;color:#564862}.mode-classe-toolbar button{border:2px solid transparent;border-radius:13px;padding:9px 12px;background:#fff;font-weight:900;cursor:pointer;box-shadow:0 4px 12px rgba(70,50,90,.06)}.mode-classe-toolbar button.active{border-color:#ff4aa2;background:#fff0f7;color:#7d2457;transform:translateY(-1px)}
.classroom-live-counters{grid-template-columns:repeat(6,minmax(105px,1fr))}
.classroom-live-student{grid-template-columns:44px minmax(0,1fr) auto;min-height:68px}.classroom-live-student.clickable{cursor:pointer}.classroom-live-student.clickable:hover{transform:translateY(-1px);box-shadow:0 7px 18px rgba(76,54,96,.10)}.classroom-live-student.disabled{opacity:.68;cursor:not-allowed}.classroom-live-actions{display:none!important}
.classroom-session-event{grid-template-columns:42px 24px 1fr;padding:8px}.classroom-session-event strong{font-size:.92rem}.classroom-session-event small{font-size:.76rem}.mode-classe-summary{margin-top:12px;padding:12px;border-radius:16px;background:linear-gradient(135deg,#fff2b8,#fff7dc)}.mode-classe-summary h4{margin:0 0 5px}.mode-classe-summary p{margin:0 0 8px;color:#66586f}.mode-classe-summary div{display:flex;gap:8px;flex-wrap:wrap}.mode-classe-summary span{background:#fff;padding:5px 8px;border-radius:10px;font-weight:850}
body.mode-classe-active .sidebar .nav:not([onclick*="teacher"]){opacity:.42;filter:saturate(.45)}body.mode-classe-active .sidebar .nav[onclick*="teacher"]{box-shadow:0 0 0 3px rgba(255,74,162,.22)}body.mode-classe-active .mode-classe-shell{box-shadow:0 0 0 3px rgba(255,74,162,.12),0 18px 42px rgba(70,50,95,.12)}
@media(max-width:1320px){.classroom-live-counters{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.mode-classe-head-actions{justify-content:flex-start}.classroom-live-counters{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.mode-classe-session-buttons{display:grid;grid-template-columns:1fr;width:100%}.mode-classe-session-buttons button{width:100%}.mode-classe-toolbar{display:grid;grid-template-columns:1fr 1fr}.mode-classe-toolbar>strong{grid-column:1/-1}.classroom-live-counters{grid-template-columns:1fr}}

/* Teacher OS v2.6.0 DEV — guided Aujourd'hui → Mode Classe launch */
.mode-classe-launch-notice{margin:0 0 14px;padding:12px 16px;border-radius:16px;font-weight:800;background:#eaf8ef;color:#315d43;border:1px solid #bfe8cd;box-shadow:0 8px 20px rgba(80,70,110,.08)}
.mode-classe-launch-notice.warning{background:#fff7d6;color:#725c16;border-color:#f1dc82}
.mode-classe-launch-notice[hidden]{display:none}

/* v2.6.1 STABLE — Roulette / Student Intelligence consolidation */
#randomStudentDisplay{display:none!important;}
#classroomLiveStudentActions{display:none!important;}
.roulette-card .live-student-quick-panel{margin-top:14px;padding:14px;border-radius:22px;background:linear-gradient(135deg,#fff7cf,#fffbea);box-shadow:0 10px 24px rgba(75,52,98,.08);}
.roulette-card .live-student-mini{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;}
.roulette-card .live-student-mini>div{min-width:0;display:flex;flex-direction:column;gap:3px;}
.roulette-card .live-student-mini strong{font-size:20px;line-height:1.15;white-space:normal;}
.roulette-card .live-student-mini small{font-weight:800;color:#776b85;}
.roulette-card .live-student-mini>span{white-space:nowrap;font-weight:1000;color:#6c5a7a;}
.roulette-card .live-student-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.roulette-card .live-student-actions button{min-height:46px;border-radius:16px;}


/* v2.7.0 DEV — Historique Élève */
.history-toolbar{display:grid;grid-template-columns:minmax(220px,1.4fr) repeat(3,minmax(145px,.75fr)) repeat(2,minmax(135px,.65fr)) minmax(160px,.8fr) auto;gap:8px;align-items:center;margin-bottom:12px}.history-toolbar input,.history-toolbar select,.history-toolbar button{min-width:0;width:100%;box-sizing:border-box}.history-summary{display:grid;grid-template-columns:repeat(4,minmax(100px,1fr));gap:8px;margin:10px 0 16px}.history-summary>div{background:linear-gradient(135deg,#fff,#f8f5ff);border:1px solid #e7def8;border-radius:14px;padding:10px;text-align:center}.history-summary strong{display:block;font-size:1.25rem;color:#654f91}.history-summary span{font-size:.78rem;color:#756d82}.student-history-timeline{display:grid;gap:16px;max-height:620px;overflow:auto;padding-right:5px}.student-history-timeline section>h4{position:sticky;top:0;z-index:2;margin:0 0 8px;padding:8px 10px;background:#eee8ff;border-radius:10px;color:#5e4e82;text-transform:capitalize}.history-event{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:10px;align-items:start;margin:0 0 8px;padding:11px 12px;background:#fff;border:1px solid #ece7f4;border-left:4px solid #dcccf8;border-radius:13px}.history-dot{width:34px;height:34px;display:grid;place-items:center;background:#f6f1ff;border-radius:50%;font-size:1rem}.history-event-head{display:flex;gap:12px;justify-content:space-between;align-items:baseline}.history-event-head time{font-size:.75rem;color:#8b8295;white-space:nowrap}.history-event p{margin:4px 0;font-size:.9rem;overflow-wrap:anywhere}.history-event small{color:#877f90}.history-points{align-self:center;padding:5px 8px;border-radius:999px;background:#d9f5e5;color:#28704b}.history-points.negative{background:#ffe0e6;color:#a63851}.history-event.type-incident{border-left-color:#f3a1b3}.history-event.type-evaluation{border-left-color:#cfe8ff}.history-event.type-badge{border-left-color:#fff2b8}.history-event.type-group_change{border-left-color:#ffdCC2}@media(max-width:1250px){.history-toolbar{grid-template-columns:repeat(3,minmax(0,1fr))}.history-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.history-toolbar{grid-template-columns:1fr}.history-summary{grid-template-columns:1fr 1fr}.history-event{grid-template-columns:34px minmax(0,1fr)}.history-points{grid-column:2;justify-self:start}.history-event-head{display:block}.history-event-head time{display:block;margin-top:2px}}

/* Teacher OS v2.8.0 DEV — Group Builder */
.group-builder-page{padding-bottom:28px}.group-builder-head{align-items:flex-start}.group-builder-head-actions{display:flex;gap:10px;flex-wrap:wrap}.group-builder-controls{padding:18px;display:grid;grid-template-columns:minmax(160px,220px) minmax(130px,170px) 1fr;gap:14px;align-items:end}.group-builder-controls label{display:grid;gap:7px;font-weight:800}.group-builder-controls select,.group-builder-controls input{width:100%;box-sizing:border-box}.gb-methods{display:flex;gap:8px;flex-wrap:wrap}.gb-methods button.active{outline:3px solid #ff3b93;background:#fff2b8}.gb-save-row{grid-column:1/-1;display:grid;grid-template-columns:minmax(220px,1fr) auto minmax(200px,320px);gap:10px}.gb-advice{grid-column:1/-1;margin:0;padding:12px 14px;border-radius:16px;background:#fff8d9;font-weight:700}.group-builder-teams{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;margin-top:16px}.gb-team{background:#fff;border:2px solid #eadcff;border-radius:26px;overflow:hidden;box-shadow:0 12px 30px rgba(57,40,90,.08)}.gb-team-head{padding:15px 17px;background:linear-gradient(110deg,#f7c8d8,#dcccf8);display:flex;justify-content:space-between;align-items:center}.gb-team-head h2{margin:0}.gb-team-score{font-size:.82rem;font-weight:800;background:#fff;border-radius:999px;padding:6px 9px}.gb-team-list{min-height:150px;padding:10px;display:grid;gap:8px}.gb-student{display:grid;grid-template-columns:42px 1fr auto;gap:10px;align-items:center;padding:10px;border-radius:16px;background:#f7f5fb;cursor:grab;border:2px solid transparent}.gb-student:active{cursor:grabbing}.gb-student:hover{border-color:#dcccf8}.gb-avatar{width:40px;height:40px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(135deg,#dcccf8,#cfe8ff);font-weight:900}.gb-student-name{font-weight:850;line-height:1.15}.gb-student-meta{font-size:.78rem;color:#756987;font-weight:700}.gb-move{display:flex;gap:4px}.gb-move button{padding:5px 8px;min-width:auto}.group-projector{position:fixed;inset:0;z-index:9999;background:linear-gradient(135deg,#fff,#eee8ff);padding:28px;overflow:auto}.group-projector .projector-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.group-projector .projector-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.group-projector .projector-team{border-radius:30px;padding:22px;background:#fff;box-shadow:0 16px 44px rgba(60,40,100,.14);font-size:1.25rem}.group-projector .projector-team h2{font-size:2rem;margin-top:0}.group-projector .projector-team li{margin:10px 0}.gb-integration-button{margin-left:8px}
@media(max-width:900px){.group-builder-controls{grid-template-columns:1fr}.gb-save-row{grid-template-columns:1fr}.group-builder-head-actions{width:100%}.group-builder-head-actions button{flex:1}.group-projector{padding:15px}}
@media print{body.gb-printing .sidebar,body.gb-printing .topbar,body.gb-printing .page:not(#groupBuilder),body.gb-printing .group-builder-controls,body.gb-printing .group-builder-head-actions{display:none!important}body.gb-printing #groupBuilder{display:block!important;padding:0}.gb-team{break-inside:avoid;box-shadow:none}}

/* Teacher OS v3.0.0 DEV — MMB Core */
.pouvoir-layout{display:grid;grid-template-columns:minmax(340px,40%) 1fr;gap:18px;align-items:start}.pouvoir-browser,.pouvoir-detail{min-height:620px}.pouvoir-search{display:grid;grid-template-columns:1fr 1fr;gap:8px}.pouvoir-search input{grid-column:1/-1}.pouvoir-stats,.calendar-kpis{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}.pouvoir-stats span,.calendar-kpis div{background:#f5f5f7;border-radius:14px;padding:10px 14px}.pouvoir-list{display:grid;gap:8px;max-height:520px;overflow:auto}.pouvoir-row{display:grid;grid-template-columns:65px 1fr auto;text-align:left;align-items:center;gap:10px;border:1px solid #eee8ff;background:white;padding:11px;border-radius:14px}.pouvoir-row.active{background:#eee8ff;border-color:#dcccf8}.pouvoir-row small{display:block;color:#6b6873;margin-top:3px}.pouvoir-detail-head{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #eee;padding-bottom:16px}.pouvoir-completion{text-align:right}.pouvoir-completion span{display:block;color:#777}.pouvoir-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}.pouvoir-field{background:#fff;border:1px solid #eee;border-radius:14px;padding:14px}.pouvoir-field h3{font-size:.92rem;margin:0 0 8px}.pouvoir-field p{white-space:normal;line-height:1.5;margin:0}.pouvoir-field.is-empty{background:#f7f7f8;color:#777}.mmb-import-banner{background:#d9f5e5;border-radius:14px;padding:12px 16px;margin-bottom:15px}.mmb-planner,.sep-calendar-panel{margin-top:18px}.planner-form{display:grid;grid-template-columns:repeat(4,1fr) auto;gap:10px;align-items:end}.planning-list{display:grid;gap:8px;margin-top:14px}.planning-item{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;background:#f5f5f7;padding:10px;border-radius:12px}.calendar-legend-v3{display:flex;gap:8px;flex-wrap:wrap}.calendar-legend-v3 span{padding:7px 10px;background:#fff2b8;border-radius:99px}.mmb-today-card{border-left:6px solid #dcccf8}.mmb-availability{display:flex;gap:12px;flex-wrap:wrap;margin:10px 0}.mmb-class-flow{margin-bottom:16px}.mmb-stage-strip{display:flex;gap:7px;overflow:auto;padding-bottom:8px}.mmb-stage-strip button{white-space:nowrap}.mmb-stage-strip button.active{background:#dcccf8}.mmb-stage-strip button.skipped{text-decoration:line-through;opacity:.55}.mmb-stage-content{min-height:100px;background:#f5f5f7;border-radius:14px;padding:16px;margin:12px 0}.mmb-flow-actions{display:flex;gap:8px;justify-content:flex-end}.student-pouvoir-add{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.student-pouvoir-add input,.student-pouvoir-add button{grid-column:auto}.student-pouvoir-list{display:grid;gap:10px;margin-top:14px}.student-pouvoir-list>div{background:#f5f5f7;border-radius:12px;padding:12px}.student-pouvoir-list span,.student-pouvoir-list small{display:block;margin-top:4px}@media(max-width:1150px){.pouvoir-layout{grid-template-columns:1fr}.planner-form{grid-template-columns:1fr 1fr}.pouvoir-field-grid{grid-template-columns:1fr}}
.mmb-progression-panel{margin-top:18px}.mmb-grand-powers{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.mmb-grand-powers>div{background:#eee8ff;border-radius:14px;padding:14px}.mmb-grand-powers span{display:block;margin-top:8px;color:#666}@media(max-width:1100px){.mmb-grand-powers{grid-template-columns:1fr 1fr}}
/* Teacher OS v3.1.2 STABLE — Planning Copy Workflow */
.pw-context{display:grid;grid-template-columns:2fr 1fr 120px 1fr auto;gap:12px;align-items:end}.pw-context label{display:grid;gap:6px}.pw-workspace{display:grid;gap:16px}.pw-sticky{position:sticky;top:0;z-index:8;background:#fff;padding:14px;border:1px solid #eee3f5;border-radius:16px;display:flex;gap:10px;align-items:center;box-shadow:0 6px 20px #5b487012}.pw-sticky div{display:grid;margin-right:auto}.pw-sticky span{font-size:13px;color:#777}.pw-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.pw-field textarea{width:100%;min-height:150px;resize:vertical}.pw-field:nth-child(6),.pw-field:nth-child(7),.pw-field:nth-child(8){grid-column:1/-1}.pw-field-head{display:flex;justify-content:space-between;align-items:center}.pw-checks{display:flex;flex-wrap:wrap;gap:10px}.pw-checks label{background:#f8f4ff;padding:8px 12px;border-radius:999px}.today-mmb-actions,.pouvoir-detail-actions{display:flex;gap:8px;flex-wrap:wrap}.pw-class-reference{margin:12px 0;padding:12px;background:#fffaf0;border-radius:12px}.pw-class-reference summary{cursor:pointer;font-weight:700}@media(max-width:1100px){.pw-context{grid-template-columns:1fr 1fr}.pw-fields{grid-template-columns:1fr}.pw-field{grid-column:1!important}}

/* Planning Copy Workflow: estado temporal de copiado por apartado */
.pw-copy-button{min-width:170px;transition:transform .15s ease,background .15s ease,border-color .15s ease}
.pw-copy-button.is-copied{background:#d9f5e5;border-color:#a8dec0;color:#245f3d}
.pw-field-copied{box-shadow:0 0 0 2px #d9f5e5 inset}
.pw-field-copied .pw-field-head h2::after{content:' · copiado';font-size:12px;font-weight:700;color:#3c7a56}

/* Teacher OS v3.1.3 STABLE — Planning Assistant UX */
.pw-empty-state{padding:48px 28px;text-align:center}.pw-assistant-context{display:grid;gap:18px}.pw-context-main{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:12px}.pw-context-main>div{padding:14px 16px;border-radius:16px;background:#f8f6ff;display:grid;gap:5px}.pw-context-main span{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:#776b80;font-weight:800}.pw-context-main strong{font-size:17px}.pw-context-main .pw-context-pouvoir{grid-column:1/-1;background:#fff2f7}.pw-context-actions{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.pw-context-actions label{display:grid;gap:6px;min-width:260px}.pw-context-actions .secondary{margin-left:auto}.planning-writer-page .page-head-actions button:disabled{opacity:.5;cursor:not-allowed}@media(max-width:900px){.pw-context-main{grid-template-columns:1fr 1fr}.pw-context-main .pw-context-pouvoir{grid-column:1/-1}.pw-context-actions .secondary{margin-left:0}}
/* Teacher OS v3.1.4 — Free Planning Drafts */
#pwDraftBadge{display:inline-flex;margin-bottom:12px;background:#fff2b8;color:#4b3d00}
.pw-draft-controls{display:grid;grid-template-columns:repeat(2,minmax(150px,1fr));gap:10px;width:min(620px,100%)}
.pw-draft-controls label{display:flex;flex-direction:column;gap:5px;font-weight:700}
.pw-draft-controls input,.pw-draft-controls select{padding:9px 11px;border:1px solid #dcccf8;border-radius:12px;background:white}
@media(max-width:900px){.pw-draft-controls{grid-template-columns:1fr}}
#pwDraftBadge[hidden],.pw-draft-controls[hidden]{display:none!important}

/* Teacher OS v3.2.0 — Teaching Patterns Engine */
.teaching-patterns-panel{margin-top:18px}.teaching-patterns-panel summary{cursor:pointer;font-size:18px}.tp-group{margin:16px 0;padding:14px;border:1px solid #eee8ff;border-radius:16px;background:#fcfbff}.tp-item{display:grid;grid-template-columns:110px minmax(180px,280px) 1fr;gap:10px;align-items:start;margin:10px 0}.tp-item input[type="text"],.tp-item input:not([type]),.tp-item textarea,.tp-group>textarea{width:100%;box-sizing:border-box}.tp-item textarea{min-height:76px}.tp-group>textarea{min-height:110px}@media(max-width:1000px){.tp-item{grid-template-columns:1fr}}

/* v3.5.0 DEV — MMB Repository 001 */
.mmb-passport{margin:12px 0 18px;padding:14px;border:1px solid #ddd7f4;border-radius:16px;background:#fbf9ff}.mmb-passport h3{margin:0 0 10px}.mmb-passport-grid{display:grid;gap:7px}.mmb-passport-row{display:grid;grid-template-columns:70px 1fr 150px;gap:10px;align-items:center;padding:8px 10px;border-radius:10px;background:white}.mmb-passport-row b{text-align:right;font-size:.86rem}.student-pouvoir-add{display:flex;flex-wrap:wrap;gap:8px;align-items:end}.student-pouvoir-add label{min-width:150px}.student-pouvoir-add input{min-width:180px}.mmb-provisional{background:#fff2b8}.planner-form small{display:block;max-width:220px;margin-top:5px}

/* Teacher OS v3.5.0 DEV · Repository 001 5e interface */
.locked-mission{background:#d9f5e5;color:#245f3f}.lesson-week-card{min-width:0}.lesson-week-list{max-height:760px;overflow:auto;padding-right:5px}.lesson-trimester{position:sticky;top:0;z-index:2;margin:8px 0 4px;padding:8px 10px;border-radius:10px;background:#eee8ff;color:#4f3a73;font-size:.86rem}.mmb-passport-official{border:2px solid #8cc7a5;background:linear-gradient(135deg,#f4fff8,#fbf9ff)}.mmb-passport-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.mmb-passport-head span{border-radius:999px;background:#d9f5e5;padding:6px 10px;font-weight:900;color:#245f3f;white-space:nowrap}.pouvoir-source-fields{margin-top:18px;border:1px solid #d8cee8;border-radius:16px;padding:14px;background:#fbf9ff}.pouvoir-source-fields summary{cursor:pointer;font-weight:900}.pouvoir-source-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.pouvoir-source-grid section{background:#fff;border-radius:12px;padding:12px}.pouvoir-source-grid h3{font-size:.82rem;margin:0 0 6px;color:#5e477f}.pouvoir-source-grid p{margin:0;line-height:1.45;overflow-wrap:anywhere}.planner-form #planGradeStatus{display:inline-block;margin-top:7px}@media(max-width:900px){.pouvoir-source-grid{grid-template-columns:1fr}.mmb-passport-head{align-items:flex-start;flex-direction:column}}
.mmb-live-reference{display:grid;grid-template-columns:150px 1fr;gap:6px 12px;margin:10px 0 14px;padding:12px;background:#f8fafc;border-radius:12px}.mmb-live-reference strong{font-size:.85rem}.mmb-live-reference span{font-size:.9rem}


/* Teacher OS v4.1.1 DEV — iPad / touch portability layer */
:root{--teacheros-safe-top:env(safe-area-inset-top,0px);--teacheros-safe-bottom:env(safe-area-inset-bottom,0px)}
html,body{overscroll-behavior:none;-webkit-text-size-adjust:100%;}
body{padding-top:var(--teacheros-safe-top);padding-bottom:var(--teacheros-safe-bottom)}
button,.nav,input,select,textarea{touch-action:manipulation}
button,.nav{min-height:44px}
@media (pointer:coarse){button,.nav{min-height:48px}.nav{padding-top:12px;padding-bottom:12px}input,select{min-height:44px}}
@media (max-width: 1180px){
  .app{grid-template-columns:220px minmax(0,1fr)}
  .workspace{min-width:0}
}
@media (max-width: 900px){
  .app{display:block}
  .sidebar{position:sticky;top:var(--teacheros-safe-top);z-index:50;width:100%;height:auto;display:flex;overflow-x:auto;gap:6px;padding:8px;border-right:0;border-bottom:1px solid rgba(0,0,0,.08)}
  .sidebar .brand,.sidebar .version{display:none}
  .sidebar .nav{flex:0 0 auto;width:auto;white-space:nowrap;padding:10px 14px}
  .workspace{padding:14px}
  .page-head,.hero{align-items:flex-start}
  .teacher-dashboard,.dashboard-grid,.student-manager-layout,.planning-layout,.mission-studio-layout{grid-template-columns:1fr!important}
}

/* v4.1 Web/PWA iPad safety layer */
html{min-height:100%;background:#f8f7fb} body{overscroll-behavior-y:none;-webkit-tap-highlight-color:transparent} button,.nav,input,select,textarea{touch-action:manipulation} button,.nav{min-height:44px}.backup-actions{display:flex;gap:12px;flex-wrap:wrap}.backup-card{max-width:900px}#pwaStatus[data-kind="ok"]{font-weight:600}@media (max-width:1024px){.workspace{min-width:0}.app{min-width:0}.rail{width:220px}.teacher-dashboard,.grid-3,.grid-4{grid-template-columns:1fr 1fr!important}.page{padding:18px}.pw-sticky{position:static!important;flex-wrap:wrap}}@media (max-width:760px){.app{display:block}.rail{position:relative!important;width:100%!important;height:auto!important;display:flex;overflow-x:auto;gap:8px;padding:10px;z-index:10}.rail .brand,.rail .version{display:none}.rail .nav{white-space:nowrap;flex:0 0 auto}.workspace{margin:0!important;width:100%!important}.teacher-dashboard,.grid-2,.grid-3,.grid-4{grid-template-columns:1fr!important}.page-head{align-items:flex-start;gap:10px}.page-head,.pw-sticky{flex-direction:column}.page{padding:12px}input,select,textarea{font-size:16px!important}}


/* v4.1.1 DEV — iPad navigation density */
.rail-toggle{display:none;width:44px;height:44px;padding:0;position:sticky;top:0;margin:0 0 8px auto;z-index:12;background:#fff;font-size:20px}
.rail .nav{display:flex;align-items:center;gap:9px;transition:padding .18s ease}
.nav-icon{flex:0 0 auto;min-width:22px;text-align:center}.nav-label{min-width:0}
@media (pointer:coarse) and (min-width:761px) and (max-width:1366px){
  .rail{width:232px;padding:12px;transition:width .2s ease}
  .workspace{margin-left:232px;width:calc(100% - 232px);padding:18px;transition:margin-left .2s ease,width .2s ease}
  .rail-toggle{display:grid;place-items:center}
  .brand{margin-bottom:8px}.brand .logo{width:48px;height:48px;border-radius:17px;font-size:22px}.brand strong{font-size:20px}
  .rail .nav{font-size:14px;padding:10px 11px;margin:3px 0}
  .rail.compact{width:76px;padding:10px}
  .rail.compact .brand>div:not(.logo),.rail.compact .nav-label,.rail.compact .version{display:none}
  .rail.compact .brand{justify-content:center}.rail.compact .logo{width:48px;height:48px}
  .rail.compact .rail-toggle{margin-left:auto;margin-right:auto}
  .rail.compact .nav{justify-content:center;padding:11px 6px}.rail.compact .nav-icon{font-size:21px;min-width:auto}
  .rail.compact + .workspace{margin-left:76px;width:calc(100% - 76px)}
}
