/* ARDALOS - Espace formateur. Memes jetons que le portail stagiaire. */
:root{
  --bleu:#0B2A6F; --bleu-fonce:#0e1730; --or:#C9A84C; --or-fonce:#b8901f;
  --encre:#1d2433; --gris:#7b8499; --gris-clair:#8a93a6;
  --bord:#e3e8f0; --fond:#f6f8fc; --blanc:#fff;
  --vert:#0f7b52; --vert-bg:#e8f6ef; --orange:#9a5b00; --orange-bg:#fdf3e3;
  --bleu-bg:#eef3fc; --rouge:#a4262c; --rouge-bg:#fdeced;
  --ombre:0 1px 3px rgba(20,40,80,.06); --ombre-h:0 10px 34px -12px rgba(11,42,111,.30);
  --r:16px;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
html,body{margin:0;padding:0;}
body{background:var(--fond);color:var(--encre);font-family:'DM Sans',system-ui,-apple-system,sans-serif;
     -webkit-font-smoothing:antialiased;font-size:15px;line-height:1.5;}
h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:700;margin:0;letter-spacing:-.01em;}
button{font-family:inherit;font-size:inherit;cursor:pointer;border:0;background:none;color:inherit;}
input,textarea{font-family:inherit;font-size:inherit;color:inherit;}
.wrap{max-width:860px;margin:0 auto;padding:0 16px;}

/* ---- en-tete ---- */
.hdr{background:linear-gradient(120deg,var(--bleu-fonce),var(--bleu));color:#fff;padding:18px 0 20px;}
.hdr .wrap{display:flex;align-items:center;gap:13px;}
.hdr .mark{width:40px;height:40px;border-radius:11px;background:rgba(212,175,55,.2);display:grid;place-items:center;flex:none;}
.hdr .mark svg{width:20px;height:20px;stroke:var(--or);}
.hdr .t{min-width:0;flex:1;}
.hdr .t b{display:block;font:700 16px/1.2 'DM Sans',sans-serif;}
.hdr .t span{display:block;font-size:11.5px;color:rgba(255,255,255,.72);letter-spacing:.05em;text-transform:uppercase;margin-top:2px;}
.hdr .out{font-size:12.5px;color:rgba(255,255,255,.8);border:1px solid rgba(255,255,255,.28);
          border-radius:9px;padding:7px 12px;flex:none;}
.hdr .out:hover{background:rgba(255,255,255,.1);}

/* ---- cartes ---- */
.card{background:var(--blanc);border:1px solid var(--bord);border-radius:var(--r);box-shadow:var(--ombre);
      padding:20px 22px;margin:18px 0;}
.card>h2{font-size:19px;color:var(--bleu-fonce);}
.card .lead{color:var(--gris);font-size:13.5px;margin:6px 0 0;}

/* ---- connexion ---- */
.login{max-width:430px;margin:8vh auto;}
.login .card{padding:26px 24px;}
.login h1{font-size:23px;color:var(--bleu-fonce);}
label{display:block;font-weight:600;font-size:13px;margin:16px 0 6px;color:var(--encre);}
.inp{width:100%;padding:13px 14px;border:1.5px solid var(--bord);border-radius:11px;background:#fbfcfe;transition:.15s;}
.inp:focus{outline:0;border-color:var(--bleu);background:#fff;box-shadow:0 0 0 3px rgba(11,42,111,.09);}
.inp.code{text-align:center;font-size:26px;font-weight:800;letter-spacing:.24em;padding:14px;}
.btn{display:block;width:100%;margin-top:18px;padding:14px 18px;border-radius:12px;font-weight:700;
     background:var(--or);color:#2a2206;transition:.15s;}
.btn:hover{background:var(--or-fonce);color:#fff;}
.btn[disabled]{opacity:.55;cursor:not-allowed;}
.btn.sec{background:#f1f4fa;color:var(--bleu);border:1px solid var(--bord);}
.btn.sec:hover{background:#e8eef9;color:var(--bleu);}
.btn.inline{display:inline-block;width:auto;margin:0;padding:11px 20px;}
.msg{margin-top:14px;padding:11px 13px;border-radius:10px;font-size:13.5px;font-weight:500;}
.msg.err{background:var(--rouge-bg);color:var(--rouge);}
.msg.ok{background:var(--vert-bg);color:var(--vert);}
.msg.info{background:var(--bleu-bg);color:var(--bleu);}

/* ---- liste stagiaires ---- */
.stg{display:flex;align-items:center;gap:13px;padding:15px 16px;border:1px solid var(--bord);
     border-radius:13px;margin-top:11px;background:#fff;text-align:left;width:100%;transition:.15s;}
.stg:hover{border-color:var(--bleu);box-shadow:var(--ombre-h);transform:translateY(-1px);}
.stg .av{width:42px;height:42px;border-radius:12px;flex:none;display:grid;place-items:center;
         font-weight:800;font-size:15px;background:linear-gradient(135deg,var(--or),var(--or-fonce));color:#2a2206;}
.stg .n{flex:1;min-width:0;}
.stg .n b{display:block;font-size:15px;font-weight:700;}
.stg .n span{display:block;font-size:12px;color:var(--gris-clair);margin-top:2px;}
.stg .ch{flex:none;color:var(--gris-clair);font-size:20px;line-height:1;}
.pill{display:inline-block;padding:4px 11px;border-radius:999px;font-size:11.5px;font-weight:700;}
.p-a_faire{background:#f2f4f8;color:#66708a;}
.p-en_cours{background:var(--orange-bg);color:var(--orange);}
.p-prete{background:var(--bleu-bg);color:var(--bleu);}
.p-attente{background:var(--orange-bg);color:var(--orange);}
.p-finalise{background:var(--vert-bg);color:var(--vert);}
.recette{background:#fff8e6;border-color:#f0d9a0;}

/* ---- grille ---- */
.bar{position:sticky;top:0;z-index:20;background:rgba(246,248,252,.94);backdrop-filter:blur(8px);
     border-bottom:1px solid var(--bord);padding:11px 0;}
.bar .wrap{display:flex;align-items:center;gap:12px;}
.bar .back{font-size:13.5px;font-weight:600;color:var(--bleu);}
.bar .save{margin-left:auto;font-size:12px;color:var(--gris-clair);}
.bar .save.on{color:var(--vert);font-weight:600;}
.sec-t{font:700 12px 'DM Sans',sans-serif;letter-spacing:.09em;text-transform:uppercase;color:var(--or-fonce);
       margin:0 0 4px;}
.ent{display:grid;grid-template-columns:150px 1fr;gap:1px;background:var(--bord);border:1px solid var(--bord);
     border-radius:11px;overflow:hidden;margin-top:14px;}
.ent dt{background:#f7f9fc;padding:11px 13px;font-weight:600;font-size:13px;}
.ent dd{background:#fff;margin:0;padding:7px 9px;}
.ent dd input{width:100%;border:1px solid transparent;border-radius:7px;padding:5px 7px;background:transparent;font-size:13.5px;}
.ent dd input:hover{background:#fafbfe;border-color:var(--bord);}
.ent dd input:focus{outline:0;background:#fff;border-color:var(--bleu);box-shadow:0 0 0 2px rgba(11,42,111,.08);}
.ent dd.fixe{padding:11px 13px;font-size:13.5px;color:var(--gris);}

.crit{border:1px solid var(--bord);border-radius:13px;padding:14px 15px;margin-top:12px;background:#fff;}
.crit.vide{border-color:#f0d9a0;background:#fffdf7;}
.crit .q{font-weight:600;font-size:14.5px;margin-bottom:11px;}
.crit .q i{font-style:normal;color:var(--gris-clair);font-weight:600;margin-right:7px;}
.niv{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;}
.niv button{padding:11px 6px;border:1.5px solid var(--bord);border-radius:10px;background:#fbfcfe;
            font-size:12.5px;font-weight:600;color:var(--gris);transition:.13s;line-height:1.25;}
.niv button:hover{border-color:var(--bleu);color:var(--bleu);}
.niv button[aria-pressed="true"]{background:var(--bleu);border-color:var(--bleu);color:#fff;box-shadow:var(--ombre-h);}
.obs{width:100%;margin-top:11px;padding:11px 12px;border:1.5px solid var(--bord);border-radius:11px;
     background:#fbfcfe;resize:vertical;min-height:74px;font-size:14px;line-height:1.55;}
.obs:focus{outline:0;border-color:var(--bleu);background:#fff;box-shadow:0 0 0 3px rgba(11,42,111,.08);}
.chk{display:flex;align-items:flex-start;gap:11px;padding:11px 13px;border:1.5px solid var(--bord);
     border-radius:11px;margin-top:8px;background:#fbfcfe;transition:.13s;text-align:left;width:100%;}
.chk:hover{border-color:var(--bleu);}
.chk[aria-pressed="true"]{background:var(--bleu-bg);border-color:var(--bleu);}
.chk .bx{width:20px;height:20px;border:2px solid var(--gris-clair);border-radius:6px;flex:none;margin-top:1px;
         display:grid;place-items:center;font-size:13px;color:#fff;font-weight:800;}
.chk[aria-pressed="true"] .bx{background:var(--bleu);border-color:var(--bleu);}
.chk span{font-size:14px;line-height:1.45;}
.radio{display:block;width:100%;text-align:left;padding:12px 14px;border:1.5px solid var(--bord);
       border-radius:11px;margin-top:8px;background:#fbfcfe;font-size:14.5px;font-weight:600;transition:.13s;}
.radio:hover{border-color:var(--bleu);}
.radio[aria-pressed="true"]{background:var(--bleu);border-color:var(--bleu);color:#fff;}
.sigbox{border:1.5px dashed var(--bord);border-radius:13px;background:#fbfcfe;padding:11px;margin-top:12px;}
.sigbox canvas{width:100%;height:190px;border-radius:9px;background:#fff;border:1px solid var(--bord);
               touch-action:none;display:block;cursor:crosshair;}
.sigbox .act{display:flex;gap:9px;margin-top:10px;}
.sigbox .act button{flex:1;padding:10px;border-radius:9px;background:#f1f4fa;border:1px solid var(--bord);
                    font-size:13px;font-weight:600;color:var(--bleu);}
.lu{border:1px solid var(--bord);border-radius:11px;padding:13px 15px;background:#fafbfe;margin-top:11px;}
.lu b{display:block;font-size:13px;margin-bottom:5px;}
.lu p{margin:0;font-size:14px;color:var(--encre);white-space:pre-wrap;}
.foot{text-align:center;color:var(--gris-clair);font-size:11.5px;padding:26px 16px 34px;line-height:1.7;}
@media(max-width:620px){
  .ent{grid-template-columns:1fr;}
  .ent dt{padding:9px 12px 3px;background:#fff;font-size:11.5px;color:var(--gris);text-transform:uppercase;letter-spacing:.05em;}
  .niv{grid-template-columns:repeat(2,1fr);}
  .card{padding:17px 15px;border-radius:13px;}
}
