/* Espace BTS MCO : bleu Ad Cognita #1F3B5A, orange #E8962E ; cartes arrondies, lisible au téléphone. */
:root{--bleu:#1F3B5A;--orange:#E8962E;--fond:#F3F5F8;--carte:#fff;--texte:#1d2430;--texte-2:#5b6575;--bord:#dde2ea;--vert:#1f7a55;--rouge:#b42318;--violet:#6a43c4;--r:18px}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--fond);color:var(--texte);font:16px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif}
a{color:var(--bleu)}
:focus-visible{outline:3px solid var(--orange);outline-offset:2px}
.haut{background:var(--bleu);color:#fff;padding:10px max(16px,env(safe-area-inset-left));display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;justify-content:space-between}
.marque{display:flex;gap:10px;align-items:center;color:#fff;text-decoration:none}
.marque b{display:block;font-size:17px}.marque small{display:block;color:#c9d5e3;font-size:13px}
.m-sigle{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:11px;background:#fff;color:var(--bleu);font-weight:800;font-size:13px;border-bottom:3px solid var(--orange)}
.haut-nav{display:flex;flex-wrap:wrap;gap:4px 14px;align-items:center}
.haut-nav a,.haut-nav .lien{color:#fff;text-decoration:none;font-weight:600;font-size:15px;padding:6px 0}
.haut-nav .lien{background:none;border:0;cursor:pointer;font:inherit;font-weight:600;color:#c9d5e3}
main{max-width:1080px;margin:0 auto;padding:18px 16px 40px}
h1{font-size:28px;line-height:1.2;margin:4px 0 6px;color:var(--bleu)}
h2{font-size:20px;margin:22px 0 10px;color:var(--bleu)}
.sous{color:var(--texte-2);margin:0 0 14px}
.fil{font-size:14px;margin:0 0 4px;color:var(--texte-2)}.fil a{color:var(--texte-2)}
footer{max-width:1080px;margin:0 auto;padding:16px;color:var(--texte-2);font-size:13px}
.en-ligne{display:inline}
.cartes{list-style:none;margin:0 0 18px;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}
.carte-nav{display:flex;flex-direction:column;gap:5px;height:100%;min-height:128px;padding:16px;border-radius:var(--r);background:var(--carte);border:1px solid var(--bord);color:inherit;text-decoration:none;box-shadow:0 1px 2px rgba(20,30,50,.06)}
.carte-nav:hover{border-color:var(--bleu);box-shadow:0 3px 10px rgba(20,30,50,.10)}
.cn-tete{display:flex;justify-content:space-between;align-items:center;min-height:36px}
.cn-num{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;border-radius:50%;background:#e7edf5;color:var(--bleu);font-weight:800}
.ic{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.cn-ic{width:30px;height:30px;color:var(--bleu)}
.cn-tag{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--texte-2)}
.cn-titre{font-weight:700;font-size:16.5px;line-height:1.3}
.carte-nav small{color:var(--texte-2);font-size:13.5px}
.carte-nav .cn-alerte{color:var(--rouge);font-weight:700}
.c-orange{border-top:4px solid var(--orange)}.c-bleu{border-top:4px solid var(--bleu)}.c-vert{border-top:4px solid var(--vert)}.c-violet{border-top:4px solid var(--violet)}.c-gris{border-top:4px solid #9aa4b2}
.titre-cartes{margin-top:18px}
.bloc{background:var(--carte);border:1px solid var(--bord);border-radius:var(--r);padding:14px 16px;margin:0 0 16px}
.bloc h2{margin-top:0}
.fichiers{list-style:none;margin:0;padding:0}
.fichiers li{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:10px 2px;border-top:1px solid var(--bord)}
.fichiers li:first-child{border-top:0}
.f-lien{display:flex;gap:10px;align-items:center;flex:1 1 280px;min-width:0;color:inherit;text-decoration:none}
.f-ic{flex:none;color:var(--bleu)}
.f-q{min-width:0}.f-q b{display:block;font-weight:600;overflow-wrap:anywhere}.f-q small{color:var(--texte-2);font-size:13.5px}
.f-lien:hover b{text-decoration:underline}
.puce{display:inline-block;font-size:12.5px;font-weight:700;border-radius:999px;padding:2px 10px;background:#e8ecf2;color:#3b4656;white-space:nowrap}
.puce.bleu{background:#e2ebf6;color:#1f3b5a}.puce.vert{background:#e1f3ea;color:#145c3d}.puce.orange{background:#fdecd9;color:#8a4b06}.puce.violet{background:#ece6fa;color:#4b2a9e}.puce.rouge{background:#fde4e1;color:#8a1300}.puce.gris{background:#eceef1;color:#4a5260}
.vide{color:var(--texte-2)}
.flash{background:#e1f3ea;color:#145c3d;border-radius:12px;padding:10px 14px}.flash.erreur{background:#fde4e1;color:#8a1300}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:0 18px;border:0;border-radius:999px;background:var(--bleu);color:#fff;font:inherit;font-weight:700;text-decoration:none;cursor:pointer}
.btn.sec{background:#e7edf5;color:var(--bleu)}.btn.danger{background:#fde4e1;color:#8a1300}
.lien{background:none;border:0;color:var(--bleu);font:inherit;font-weight:600;cursor:pointer;padding:4px 0}.lien.danger{color:var(--rouge)}
form.pile{display:grid;gap:8px;max-width:560px}
label{font-weight:600;font-size:14.5px}
input[type=text],input[type=password],input[type=email],input[type=date],input[type=number],input:not([type]),select,textarea{width:100%;font:inherit;padding:10px 12px;border:1px solid var(--bord);border-radius:12px;background:#fff}
input[type=file]{font:inherit;max-width:100%}
.connexion{max-width:420px;margin:30px auto}
table{width:100%;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden}
th,td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--bord);vertical-align:top}
th{background:#eef2f7;font-size:13.5px}
td.n,th.n{text-align:right;font-variant-numeric:tabular-nums}
.tableau-defile{overflow-x:auto}
.visionneuse{display:grid;gap:12px;max-width:980px}
.v-page{display:block;width:100%;height:auto;background:#fff;border-radius:6px;box-shadow:0 1px 4px rgba(0,0,0,.14)}
.v-outils{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}
.moyenne{font-size:40px;font-weight:800;color:var(--bleu);margin:0}
.moyenne small{font-size:17px;color:var(--texte-2)}
.courbe{width:100%;height:160px}
.courbe polyline{fill:none;stroke:var(--orange);stroke-width:2.5;vector-effect:non-scaling-stroke}
.courbe line{stroke:#d7dde6;vector-effect:non-scaling-stroke}
.progression{display:flex;height:12px;border-radius:999px;overflow:hidden;background:#eceef1;margin:6px 0}
.progression i{display:block}.progression .v{background:var(--vert)}.progression .o{background:var(--orange)}
.grille-notes input{width:84px;text-align:right}
details>summary{cursor:pointer;font-weight:600;color:var(--bleu)}
@media (max-width:600px){h1{font-size:23px}.cartes{grid-template-columns:1fr 1fr}.carte-nav{min-height:112px;padding:12px}.cn-titre{font-size:15px}}
@media (max-width:370px){.cartes{grid-template-columns:1fr}}
.agenda th{width:34%}.agenda tr.auj th,.agenda tr.auj td{background:#fff7ec}.agenda td.vide{color:#b8c0cc}
.agenda a{text-decoration:none}
/* Appli : barre d'onglets en bas sur téléphone (et en appli installée), en-tête allégé. */
.onglets{display:none}
@media (max-width:700px){
  body.avec-onglets{padding-bottom:calc(70px + env(safe-area-inset-bottom))}
  .haut{padding-top:calc(10px + env(safe-area-inset-top))}
  .haut-nav a{display:none}
  .onglets{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;left:0;right:0;bottom:0;z-index:10;background:rgba(255,255,255,.94);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid var(--bord);padding:6px 4px calc(6px + env(safe-area-inset-bottom))}
  .onglets a{display:flex;flex-direction:column;align-items:center;gap:2px;color:#5b6575;text-decoration:none;font-size:11.5px;font-weight:600;min-height:48px;justify-content:center}
  .onglets .ic{width:25px;height:25px}
}
