:root{--bg:#f3f5f9;--surface:#ffffff;--surface2:#f1f4f9;--ink:#0f1d33;--muted:#45526b;--line:#d8dee9;--accent:#ff5a1f;--maths:#1f5fd6;--physique:#d9480f;--svt:#1f8a47;--francais:#c2185b;--ok:#1b8a4a;--ok-bg:#e3f5ea;--ko:#b7410c;--ko-bg:#fdeee5;--info-bg:#fff6d6;--display:"Bricolage Grotesque","Arial Black",system-ui,sans-serif;--body:"Atkinson Hyperlegible",Verdana,system-ui,sans-serif}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0d1626;--surface:#142037;--surface2:#1b2a46;--ink:#eef2f8;--muted:#b9c4d6;--line:#2a3a55;--maths:#6ea2ff;--physique:#ff8a50;--svt:#4cc97f;--francais:#ff6fa3;--ok:#4cc97f;--ok-bg:#12321f;--ko:#ff8a50;--ko-bg:#3a1d0f;--info-bg:#3a3110;color-scheme:dark}}:root[data-theme=dark]{--bg:#0d1626;--surface:#142037;--surface2:#1b2a46;--ink:#eef2f8;--muted:#b9c4d6;--line:#2a3a55;--maths:#6ea2ff;--physique:#ff8a50;--svt:#4cc97f;--francais:#ff6fa3;--ok:#4cc97f;--ok-bg:#12321f;--ko:#ff8a50;--ko-bg:#3a1d0f;--info-bg:#3a3110;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:400 17px/1.55 var(--body)}[hidden]{display:none!important}.maquette{background:#ffd84d;color:#3a2e00;font-size:.82rem;text-align:center;padding:5px 16px;margin:0}.p-head{background:var(--surface);border-bottom:1px solid var(--line)}.p-head .in{max-width:1180px;margin:0 auto;padding:10px 16px;display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:space-between}.p-logo{font:800 1.15rem var(--display);text-decoration:none;color:var(--ink);display:flex;align-items:center;gap:8px}.p-logo span{font:700 .78rem var(--body);background:var(--accent);color:#fff;border-radius:999px;padding:3px 10px}.p-out{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.p-out select,.p-out button{font:700 .9rem var(--body);min-height:40px;border-radius:12px;border:1px solid var(--line);background:var(--surface2);color:var(--ink);padding:0 12px;cursor:pointer}.tab{max-width:1180px;margin:0 auto;padding:20px 16px 80px;display:grid;gap:18px}.intro{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px}.intro h1{margin:0;font:800 clamp(1.6rem,4vw,2.3rem)/1.1 var(--display);text-wrap:balance}.intro p{margin:4px 0 0;color:var(--muted)}.resume{background:var(--surface);border:1px solid var(--line);border-left:6px solid var(--ok);border-radius:18px;padding:16px 18px}.resume h2{margin:0 0 6px;font:800 1.1rem var(--display)}.resume p{margin:0}.alerte{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;background:var(--ko-bg);border-radius:18px;padding:14px 16px}.alerte .i{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--ko);color:#fff;font:800 1rem var(--body)}.alerte b{display:block;font:800 1rem var(--display);color:var(--ko)}.alerte p{margin:2px 0 0;font-size:.95rem}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.kpi{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:14px 16px}.kpi b{display:block;font:800 1.8rem/1 var(--display);font-variant-numeric:tabular-nums}.kpi span{display:block;font-size:.85rem;color:var(--muted);margin-top:4px}.kpi small{display:inline-block;margin-top:6px;font:700 .75rem var(--body);padding:2px 8px;border-radius:999px;background:var(--ok-bg);color:var(--ok)}.grille{display:grid;grid-template-columns:1.3fr .7fr;gap:18px;align-items:start}.bloc{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:clamp(16px,3vw,22px)}.bloc h2{margin:0 0 4px;font:800 1.2rem var(--display)}.bloc .chap{margin:0 0 14px;color:var(--muted);font-size:.92rem}.mats{display:grid;gap:12px}.mat{display:grid;grid-template-columns:150px 1fr;gap:14px;align-items:center;padding:12px;border-radius:14px;background:var(--surface2);border-left:5px solid var(--c)}.mat b{font:800 1rem var(--display);display:block}.mat .prof{font-size:.8rem;color:var(--muted)}.barres{display:grid;gap:6px}.lb{display:grid;grid-template-columns:150px 1fr 44px;gap:8px;align-items:center;font-size:.82rem;color:var(--muted)}.lb .b{height:10px;border-radius:99px;background:var(--line);overflow:hidden}.lb .b i{display:block;height:100%;border-radius:99px}.lb .v{font:700 .85rem var(--body);color:var(--ink);text-align:right;font-variant-numeric:tabular-nums}.frag{grid-column:1/-1;font-size:.85rem;color:var(--muted)}.frag span{display:inline-block;margin:2px 4px 0 0;padding:2px 8px;border-radius:999px;background:var(--ko-bg);color:var(--ko);font-weight:700;font-size:.78rem}.lat{display:grid;gap:18px}.graph svg{width:100%;height:auto;max-width:100%;display:block}.graph text{fill:var(--muted);font:700 11px var(--body)}.graph .val{fill:var(--ink);font:800 12px var(--body)}.ctrls{list-style:none;margin:0;padding:0;display:grid;gap:8px}.ctrls li{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;padding:10px 12px;border-radius:12px;background:var(--surface2);border-left:4px solid var(--c)}.ctrls b{font:800 .95rem var(--display);display:block}.ctrls span{font-size:.8rem;color:var(--muted)}.etat{font:700 .72rem var(--body);padding:2px 9px;border-radius:999px;white-space:nowrap}.etat.pret{background:var(--ok-bg);color:var(--ok)}.etat.encours{background:var(--info-bg);color:var(--ink)}.bouton{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 16px;border-radius:12px;border:2px solid var(--ink);background:transparent;color:var(--ink);font:800 .92rem var(--body);cursor:pointer;margin-top:12px;text-decoration:none}.bouton.plein{background:var(--accent);border-color:var(--accent);color:#fff}.conseil{margin:12px 0 0;padding:12px 14px;border-radius:12px;background:var(--info-bg);font-size:.92rem}.reglages{display:grid;gap:10px}.reg{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;background:var(--surface2)}.reg b{font-size:.95rem}.reg span{display:block;font-size:.8rem;color:var(--muted)}.reg select{font:700 .9rem var(--body);min-height:38px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:0 8px}.inter{position:relative;width:48px;height:28px;flex:none}.inter input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.inter i{position:absolute;inset:0;border-radius:99px;background:var(--line);transition:background .15s}.inter i:after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;transition:transform .15s}.inter input:checked+i{background:var(--ok)}.inter input:checked+i:after{transform:translate(20px)}.inter input:focus-visible+i{outline:3px solid var(--maths);outline-offset:2px}.prive{margin:0;padding:12px 14px;border-radius:12px;border:1px dashed var(--line);font-size:.88rem;color:var(--muted)}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid var(--maths);outline-offset:2px}@media(max-width:980px){.grille{grid-template-columns:1fr}.kpis{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.mat{grid-template-columns:1fr}.lb{grid-template-columns:110px 1fr 40px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}.f-enfant{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;align-items:end}.f-enfant label{display:grid;gap:6px;font:700 .88rem var(--body,inherit)}.f-enfant input:not([type=checkbox]),.f-enfant select{min-height:44px;padding:0 12px;border-radius:12px;border:1px solid var(--line);background:var(--surface);color:inherit;font:inherit}.f-enfant .f-accord{grid-column:1/-1;display:flex;gap:10px;align-items:flex-start;font-weight:400}.f-go{justify-self:start;min-height:44px;padding:0 20px;border-radius:12px;border:0;background:#ff5a1f;color:#fff;font:700 .95rem inherit;cursor:pointer}.f-msg{grid-column:1/-1;margin:0;font-size:.9rem;color:var(--muted)}.f-msg a{color:inherit;font-weight:700}.suppr-enfant{margin-top:16px;display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-size:.9rem}.suppr-enfant button{min-height:40px;padding:0 14px;border-radius:10px;border:1px solid var(--line);background:transparent;color:inherit;font:700 .85rem inherit;cursor:pointer}#b-suppr-ok{border-color:#c0392b;color:#c0392b}@media(max-width:640px){.f-enfant{grid-template-columns:1fr}}
