:root{font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:#162d40;background:#f4f6f5;font-synthesis:none;--navy:#132d42;--green:#c7ef87;--muted:#6d7d86;--line:#e0e7e5}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,textarea,select{outline-offset:4px}button{cursor:pointer;border:1px solid var(--line);border-radius:10px;background:white;color:var(--navy);padding:11px 16px;transition:background .15s}button:hover{background:#eaf1eb}button:disabled{opacity:.55;cursor:wait}button.primary,.primary{background:var(--navy);color:white;border-color:var(--navy)}button.primary:hover{background:#284f65}a{color:inherit}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(32px,4vw,50px);letter-spacing:-1.8px;line-height:1.12;font-weight:650}h2{font-size:25px;letter-spacing:-.8px}h3{font-size:17px}p{line-height:1.65}.eyebrow,.nav-label{font-size:10px;letter-spacing:1.8px;font-weight:750}.eyebrow{color:#718a7b}.muted,.hint{color:var(--muted)}.hint{font-size:12px;line-height:1.6}.brand{text-decoration:none;display:flex;align-items:center;gap:5px;font-size:32px;font-weight:800;letter-spacing:-2px}.brand span{color:#90be66;font-size:31px}.brand b{font-size:17px;letter-spacing:-.7px;margin-left:6px}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.spread{justify-content:space-between}.auth{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.auth-story{background:var(--navy);color:#f3f7ed;padding:45px 9%;overflow:hidden;position:relative;min-height:700px}.auth-story .eyebrow{margin-top:75px;color:var(--green)}.auth-story h1{font-size:clamp(40px,5.3vw,72px);letter-spacing:-3px;position:relative;z-index:1}.auth-story em{color:var(--green);font-style:normal}.auth-story>p:not(.eyebrow){color:#bfd0d4}.auth-story>small{display:block;margin-top:80px;font-size:9px;letter-spacing:2px}.orbit{position:absolute;bottom:60px;right:-50px;width:280px;height:280px;border:1px solid #446071;border-radius:50%;transform:rotate(-14deg);display:grid;place-items:center}.orbit b{color:var(--green);font-size:120px}.orbit span{position:absolute;background:#28465b;padding:14px 18px;border-radius:14px;font-size:25px}.orbit span:first-child{top:-15px}.orbit span:nth-child(2){right:-10px}.orbit span:nth-child(3){left:-10px;bottom:20px}.auth-panel{display:grid;align-items:center;padding:60px max(30px,12%)}.auth-panel label{margin-top:22px}.auth-panel button{width:100%;margin-top:18px}label{display:block;font-size:12px;font-weight:600;margin-bottom:16px}input,textarea,select{display:block;width:100%;padding:12px;border:1px solid #d6dfdd;border-radius:9px;background:#fff;color:#142e40;margin-top:7px}textarea{resize:vertical;min-height:100px;line-height:1.6}input[type=checkbox]{display:inline-block;width:18px;height:18px;accent-color:#254839;margin:0}label.check{display:flex;align-items:center;gap:10px;font-weight:400;line-height:1.5}.shell{display:grid;grid-template-columns:236px 1fr;min-height:100vh}aside{background:#fff;border-right:1px solid var(--line);padding:32px 20px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.nav-label{color:#89928f;margin:48px 14px 14px}nav{display:grid;gap:6px}nav button{border:0;text-align:left;display:flex;gap:12px;font-size:17px;color:#687980}nav button span{font-size:13px}nav button.selected{color:var(--navy);background:#eaf1e8;font-weight:650}.focus{margin-top:auto;background:#f3f6f0;border-radius:14px;padding:20px 15px}.focus>p{font-size:38px;letter-spacing:-2px;margin:8px 0}.focus button{font-size:11px;padding:8px 12px}.focus small{color:var(--muted);font-size:10px;display:block;margin-top:15px}.logout{border:0;margin-top:20px;font-size:12px;text-align:left;color:var(--muted)}main{min-width:0;padding:0 42px}header{height:90px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.breadcrumb{font-size:9px;letter-spacing:1.6px;color:#8b989b}.breadcrumb span{color:#3d5b65}.user{font-size:12px;display:flex;align-items:center;gap:9px}.online-dot{width:7px;height:7px;background:#71a779;border-radius:50%}#view{max-width:1150px;margin:38px auto;min-height:70vh}.hero{background:#e6efdf;border:1px solid #d8e4cc;border-radius:22px;padding:34px 38px;position:relative;overflow:hidden;min-height:246px}.hero h1{font-size:40px;max-width:620px;margin:15px 0}.hero p{font-size:13px;max-width:440px;color:#526d60}.hero .spark{position:absolute;right:45px;top:38px;font-size:160px;line-height:1;color:#b5d699;opacity:.65}.hero>*:not(.spark){position:relative;z-index:1}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:22px 0 32px}.stat{background:white;border:1px solid var(--line);border-radius:15px;padding:20px}.stat strong{display:block;font-size:30px;font-weight:600;margin-bottom:6px}.stat span{font-size:11px;color:var(--muted)}.grid2{display:grid;grid-template-columns:1.3fr 1fr;gap:22px}.panel{background:white;border:1px solid var(--line);border-radius:17px;padding:25px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:24px}.section-head h1,.section-head h2,.section-head p{margin-bottom:5px}.section-head p{font-size:13px;color:var(--muted)}.quiet{border:0;background:transparent;font-size:12px;color:#54726a;padding:6px}.task{display:flex;gap:14px;padding:18px 0;align-items:center;border-bottom:1px solid #eef0ef}.task:last-child{border-bottom:0}.task div{flex:1}.task p{margin:0;font-size:14px;font-weight:550}.task small{font-size:11px;color:var(--muted)}.task.done p{text-decoration:line-through;color:#89948f}.tag{display:inline-block;background:#edf2eb;padding:5px 9px;border-radius:6px;font-size:10px;color:#4a6654;margin-bottom:8px}.tag.warn{background:#fff0dc;color:#985c26}.empty{padding:35px 20px;text-align:center;border:1px dashed #d5dfd8;border-radius:13px;color:var(--muted);font-size:13px;line-height:1.8}.shortcut{display:block;text-align:left;width:100%;margin-top:12px;padding:19px;border-radius:12px}.shortcut small{display:block;margin-top:6px;color:var(--muted);font-size:11px}.filters{display:flex;gap:10px;align-items:center;margin:20px 0}.filters input,.filters select{margin:0}.filters select{width:auto}.notegrid,.cardgrid,.mediagrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px}.note{display:flex;flex-direction:column;min-height:190px}.note pre{white-space:pre-wrap;font:inherit;font-size:13px;color:#667973;line-height:1.7;max-height:180px;overflow:auto}.note .row{margin-top:auto}.flash{min-height:230px;display:flex;flex-direction:column}.flash .answer{white-space:pre-wrap;margin:15px 0;font-size:14px;color:#42733f}.flash button{margin-top:auto}.chat{height:46vh;min-height:260px;overflow:auto;padding:10px;display:flex;flex-direction:column;gap:16px;scroll-behavior:smooth}.bubble{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.8;padding:18px 22px;background:#f0f4ef;border-radius:14px;max-width:92%}.bubble.user{display:block;background:#e5eef4;align-self:flex-end}.bubble b{display:block;font-size:10px;text-transform:uppercase;letter-spacing:1px;margin-bottom:7px}.chips{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0}.chips button{font-size:11px;padding:9px 12px}.composer{border-top:1px solid var(--line);padding-top:15px}.composer textarea{min-height:82px;margin-bottom:12px}.info{background:#eaf0f5;color:#4b6272;padding:14px 18px;border-radius:10px;font-size:12px;line-height:1.7;margin-bottom:20px}.studio-form{margin-bottom:24px}.studio-form textarea{min-height:100px}.media img,.media video{width:100%;border-radius:10px;margin:10px 0;background:#f0f3ef}.media p{font-size:12px;overflow-wrap:anywhere}.media .status{font-size:11px;color:#597565}.media a{font-size:12px}.settings code{display:block;background:#eff3f0;padding:14px;border-radius:8px;overflow-wrap:anywhere;margin:12px 0;font-size:12px}.settings h3{margin-top:22px}.settings p{font-size:13px}.settings ul{padding-left:19px;font-size:13px;line-height:1.9}dialog{border:1px solid var(--line);border-radius:20px;width:min(600px,94vw);padding:28px;color:var(--navy);max-height:90vh}dialog::backdrop{background:#132d4277}dialog h2{margin-bottom:20px}#editorFields textarea{min-height:220px}footer{font-size:10px;color:#8b9690;border-top:1px solid var(--line);padding:22px 0}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:50;background:#17394a;color:white;border:1px solid #668076;padding:15px 24px;border-radius:12px;box-shadow:0 8px 40px #0002;max-width:90vw;font-size:13px;line-height:1.6}[hidden]{display:none!important}body.dark{filter:none;background:#142a38;color:#dce9e9}body.dark aside,body.dark .panel,body.dark .stat{background:#1b3444;color:#dce9e9}body.dark main{background:#142a38}body.dark .section-head p{color:#b1c0c6}body.dark .task p,body.dark h1,body.dark h2,body.dark h3{color:inherit}body.dark .hero{background:#294938;color:#e7f4e0}body.dark .hero p{color:#d6e5d0}body.dark .bubble{background:#284535}body.dark .bubble.user{background:#274655}body.dark .note pre{color:#cadbd3}body.dark .focus{color:#17394a}@media(max-width:1000px){main{padding:0 24px}.hero .spark{right:10px;opacity:.25}.grid2{grid-template-columns:1fr}.shell{grid-template-columns:200px 1fr}.brand b{font-size:14px}aside{padding:25px 14px}}@media(max-width:700px){.auth{grid-template-columns:1fr}.auth-story{min-height:auto;padding:24px}.auth-story .eyebrow{margin-top:30px}.auth-story h1{font-size:40px}.auth-story>small,.orbit{display:none}.auth-panel{padding:30px 24px}.shell{display:block}aside{position:static;height:auto;padding:18px;border-right:0;border-bottom:1px solid var(--line)}.nav-label,.focus,.logout{display:none}nav{display:flex;overflow:auto;margin-top:15px;gap:4px}nav button{white-space:nowrap;padding:10px}.brand b{font-size:17px}main{padding:0 18px}header{height:62px}#view{margin-top:24px}.hero{padding:25px}.hero h1{font-size:32px}.stats{gap:8px}.stat{padding:14px}.stat strong{font-size:25px}.stat span{font-size:10px}.section-head{align-items:flex-start}.section-head h1{font-size:29px}.filters{flex-wrap:wrap}.panel{padding:19px}.breadcrumb{font-size:8px}.chat{height:50vh}.logout{display:block;position:absolute;right:12px;top:4px}.user{display:none}}@media print{aside,header,footer,button,.filters,.info{display:none!important}.shell{display:block}main{padding:0}body{background:#fff}.panel{break-inside:avoid}.note pre{max-height:none;overflow:visible}.notegrid{display:block}.note{margin:15px 0}#view{margin:0}}


/* ===== PRONOTE / EMPLOI DU TEMPS ===== */

.calendar-tools{
  margin-bottom:32px;
}

.import-box{
  display:block;
  margin-top:18px;
  padding:18px;
  border:1px dashed currentColor;
  border-radius:16px;
  cursor:pointer;
}

.import-box input{
  display:block;
  margin-top:12px;
  width:100%;
}

.timetable-heading{
  margin:30px 0 16px;
}

.timetable{
  display:grid;
  gap:18px;
}

.timetable-day{
  display:grid;
  grid-template-columns:170px 1fr;
  gap:24px;
}

.timetable-date{
  display:flex;
  flex-direction:column;
  gap:5px;
  text-transform:capitalize;
}

.timetable-date strong{
  font-size:1.1rem;
}

.timetable-date span{
  opacity:.7;
}

.timetable-list{
  display:grid;
  gap:10px;
}

.lesson{
  display:grid;
  grid-template-columns:80px 1fr;
  gap:16px;
  padding:14px 0;
  border-bottom:1px solid rgba(127,127,127,.2);
}

.lesson:last-child{
  border-bottom:0;
}

.lesson-time{
  font-weight:700;
  display:flex;
  flex-direction:column;
}

.lesson-time small{
  opacity:.6;
  font-weight:400;
}

.lesson p,
.lesson small{
  margin:4px 0 0;
}

@media(max-width:750px){
  .timetable-day{
    grid-template-columns:1fr;
  }

  .lesson{
    grid-template-columns:65px 1fr;
  }
}



/* ==================================================
   EMPLOI DU TEMPS PRONOTE V2
   ================================================== */

.timetable{
  display:grid;
  gap:22px;
}

.timetable-day{
  overflow:hidden;
}

.timetable-date{
  padding-bottom:14px;
  border-bottom:1px solid rgba(127,127,127,.18);
}

.timetable-date strong{
  font-size:1.2rem;
  text-transform:capitalize;
}

.timetable-date span{
  margin-top:3px;
}

.timetable-list{
  gap:12px;
}

.lesson{
  position:relative;
  display:grid;
  grid-template-columns:7px 86px 1fr;
  gap:14px;
  padding:0;
  border:1px solid rgba(127,127,127,.16);
  border-radius:15px;
  overflow:hidden;
  background:rgba(255,255,255,.55);
}

body.dark .lesson{
  background:rgba(255,255,255,.035);
}

.lesson-color{
  width:100%;
  height:100%;
}

.lesson-time{
  padding:15px 0;
  justify-content:center;
}

.lesson-time strong{
  font-size:1rem;
}

.lesson-time small{
  margin-top:3px;
}

.lesson-main{
  padding:13px 15px 13px 0;
  min-width:0;
}

.lesson-top{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}

.lesson-subject{
  display:inline-flex;
  align-items:center;
  min-height:25px;
  padding:4px 9px;
  border-radius:999px;
  font-size:.75rem;
  font-weight:750;
}

.lesson-title{
  font-size:1rem;
}

.lesson-meta{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:10px;
}

.lesson-meta-item{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:5px 9px;
  border-radius:9px;
  background:rgba(127,127,127,.09);
  font-size:.82rem;
}

.lesson-meta-item b{
  font-size:.72rem;
  text-transform:uppercase;
  opacity:.6;
}


/* MATIÈRES */

.subject-maths .lesson-color{
  background:#4f7cff;
}
.subject-maths .lesson-subject{
  background:#eaf0ff;
  color:#2349b5;
}

.subject-francais .lesson-color{
  background:#e0528d;
}
.subject-francais .lesson-subject{
  background:#fdeaf2;
  color:#a72d60;
}

.subject-allemand .lesson-color{
  background:#f0a63b;
}
.subject-allemand .lesson-subject{
  background:#fff2df;
  color:#a55c00;
}

.subject-anglais .lesson-color{
  background:#7557d9;
}
.subject-anglais .lesson-subject{
  background:#eee9ff;
  color:#5035aa;
}

.subject-chinois .lesson-color{
  background:#e45745;
}
.subject-chinois .lesson-subject{
  background:#ffebe7;
  color:#a62d20;
}

.subject-histoire .lesson-color{
  background:#ad7a45;
}
.subject-histoire .lesson-subject{
  background:#f7eddf;
  color:#72502c;
}

.subject-sciences .lesson-color{
  background:#39a873;
}
.subject-sciences .lesson-subject{
  background:#e5f6ee;
  color:#23734d;
}

.subject-arts .lesson-color{
  background:#9c5ac7;
}
.subject-arts .lesson-subject{
  background:#f2e9f8;
  color:#67368a;
}

.subject-autre .lesson-color{
  background:#7f8a9a;
}
.subject-autre .lesson-subject{
  background:#edf0f3;
  color:#4e5968;
}


/* MODE SOMBRE */

body.dark .lesson-subject{
  filter:brightness(.85);
}


/* MOBILE */

@media(max-width:750px){

  .timetable-day{
    grid-template-columns:1fr;
  }

  .lesson{
    grid-template-columns:6px 68px 1fr;
  }

  .lesson-main{
    padding-right:10px;
  }

  .lesson-meta{
    flex-direction:column;
    gap:5px;
  }

  .lesson-meta-item{
    width:max-content;
    max-width:100%;
  }

}



/* ===== SPORT / EPS ===== */

.subject-sport .lesson-color{
  background:#16a6a1;
}

.subject-sport .lesson-subject{
  background:#e2f7f5;
  color:#08716d;
}

.home-lesson.subject-sport .home-lesson-color{
  background:#16a6a1;
}



/* ===== TIMER MODIFIABLE ===== */

.timer-duration{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin:8px 0 12px;
  font-size:.78rem;
}

.timer-duration > span{
  opacity:.7;
}

.timer-duration > div{
  display:flex;
  align-items:center;
  gap:5px;
}

.timer-duration input{
  width:58px;
  min-width:0;
  padding:7px 6px;
  text-align:center;
  border-radius:9px;
}



/* ===== EMPLOI DU TEMPS HOMEPAGE ===== */

.home-calendar-panel{
  min-width:0;
}

.home-edt-subtitle{
  margin:14px 0 8px;
  font-size:.76rem;
  text-transform:uppercase;
  font-weight:750;
  opacity:.6;
}

.home-edt-list{
  display:grid;
  gap:8px;
}

.home-edt-course{
  display:grid;
  grid-template-columns:5px 62px 1fr;
  align-items:center;
  border:1px solid rgba(127,127,127,.16);
  border-radius:12px;
  overflow:hidden;
}

.home-edt-color{
  height:100%;
  min-height:58px;
  background:#7f8a9a;
}

.home-edt-time{
  padding:10px;
  font-weight:750;
}

.home-edt-info{
  padding:10px 12px;
  min-width:0;
}

.home-edt-info strong{
  display:block;
}

.home-edt-info small{
  display:block;
  margin-top:3px;
  opacity:.65;
}

.home-edt-empty{
  padding:22px 0;
  display:flex;
  flex-direction:column;
  gap:10px;
  opacity:.8;
}

.subject-maths .home-edt-color{background:#4f7cff}
.subject-francais .home-edt-color{background:#e0528d}
.subject-allemand .home-edt-color{background:#f0a63b}
.subject-anglais .home-edt-color{background:#7557d9}
.subject-chinois .home-edt-color{background:#e45745}
.subject-histoire .home-edt-color{background:#ad7a45}
.subject-sciences .home-edt-color{background:#39a873}
.subject-arts .home-edt-color{background:#9c5ac7}
.subject-sport .home-edt-color{background:#16a6a1}

