/* CRM MSI : sobre, lisible sur téléphone. Couleurs de Mondial Sécurité Incendie. */
:root{
  --fond:#f4f5f8; --carte:#fff; --texte:#1a2033; --doux:#5d6475; --trait:#e2e5ec;
  --bleu:#141d3c; --rouge:#c8102e; --vert:#1f7a43; --orange:#b45309; --gris:#8a90a0;
  --vert-l:#e8f5ee; --orange-l:#fdf1e3; --rouge-l:#fdecee; --gris-l:#f0f1f4;
}
*{box-sizing:border-box}
body{margin:0;background:var(--fond);color:var(--texte);font:16px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
a{color:var(--bleu)}
main{max-width:1180px;margin:0 auto;padding:20px 16px 60px}
h1{font-size:1.5rem;margin:0;color:var(--bleu)}
h2{font-size:1.05rem;margin:0 0 10px;color:var(--bleu)}
h2 small{color:var(--doux);font-weight:400}

.barre{background:var(--bleu);color:#fff;display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;padding:10px 16px}
.marque{color:#fff;text-decoration:none;font-weight:700;letter-spacing:.02em}
.marque span{background:var(--rouge);padding:2px 7px;border-radius:4px;margin-right:4px}
.barre nav{display:flex;flex-wrap:wrap;gap:4px;flex:1}
.barre nav a{color:#d6dbef;text-decoration:none;padding:6px 10px;border-radius:6px}
.barre nav a.actif,.barre nav a:hover{background:rgba(255,255,255,.12);color:#fff}
.sortie button{background:none;border:0;color:#d6dbef;cursor:pointer;font:inherit}

.entete{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.actions form{margin:0}
.btn{display:inline-block;border:1px solid var(--trait);background:#fff;color:var(--bleu);padding:8px 14px;border-radius:8px;
  text-decoration:none;font:inherit;font-weight:600;cursor:pointer}
.btn:hover{border-color:var(--bleu)}
.btn.principal{background:var(--rouge);border-color:var(--rouge);color:#fff}
.btn.ok{background:var(--vert);border-color:var(--vert);color:#fff}
.btn.petit{padding:4px 10px;font-size:.85rem}
.btn.large{width:100%;padding:14px;font-size:1.05rem}
.btn:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--rouge);outline-offset:2px}

.msg{padding:10px 14px;border-radius:8px;margin-bottom:14px;background:var(--gris-l)}
.msg.success{background:var(--vert-l);color:var(--vert)}
.msg.error{background:var(--rouge-l);color:var(--rouge)}
.msg.info{background:#eef2fb}

.chiffres{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px}
.chiffres>*{background:var(--carte);border:1px solid var(--trait);border-radius:10px;padding:12px 14px;text-decoration:none;color:inherit}
.chiffres b{display:block;font-size:1.6rem;line-height:1.1;color:var(--bleu);font-variant-numeric:tabular-nums}
.chiffres span{font-size:.85rem;color:var(--doux)}
.chiffres .alerte b{color:var(--orange)}

.semaine{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.jour{background:var(--gris-l);border-radius:10px;padding:8px;min-width:0}
.jour.auj{background:#e7ebf8;box-shadow:inset 0 0 0 2px var(--bleu)}
.jour h2{font-size:.85rem;text-transform:capitalize;display:flex;justify-content:space-between;margin-bottom:6px}
.jour h2 a{text-decoration:none;color:var(--doux);font-size:1.1rem;line-height:1}
.rdv{background:#fff;border:1px solid var(--trait);border-left:4px solid var(--gris);border-radius:8px;margin-bottom:6px}
.rdv-lien{display:block;padding:6px 8px;text-decoration:none;color:inherit;font-size:.85rem;line-height:1.35}
.rdv .h{font-size:.75rem;color:var(--doux);font-variant-numeric:tabular-nums}
.rdv b{display:block;overflow-wrap:anywhere}
.rdv .d,.rdv .etat{display:block;color:var(--doux);font-size:.75rem}
.rdv.s-confirme{border-left-color:var(--vert)} .rdv.s-propose{border-left-color:var(--orange)}
.rdv.s-replanifier{border-left-color:var(--rouge)} .rdv.s-fait{border-left-color:var(--gris);opacity:.7}
.legende{font-size:.8rem;color:var(--doux);display:flex;flex-wrap:wrap;gap:6px 14px;margin:8px 0 18px}
.legende i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:4px;vertical-align:-1px;background:var(--gris)}
.legende i.s-confirme{background:var(--vert)} .legende i.s-propose{background:var(--orange)} .legende i.s-replanifier{background:var(--rouge)}

.deux{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.carte{background:var(--carte);border:1px solid var(--trait);border-radius:12px;padding:16px;margin-bottom:14px}
.carte.etroite{max-width:560px;margin:10px auto}
.fiche p{margin:4px 0}
.notes{background:var(--gris-l);padding:8px 10px;border-radius:6px}
.ligne{display:flex;gap:12px;align-items:center;padding:10px 4px;border-bottom:1px solid var(--trait);text-decoration:none;color:inherit;flex-wrap:wrap}
.ligne:last-child{border-bottom:0}
a.ligne:hover{background:var(--gris-l)}
.ligne small{color:var(--doux)}
.ligne .grand{flex:1;min-width:0}
.mini-actions{margin-left:auto}
.ligne .tel{margin-left:auto;color:var(--doux);white-space:nowrap}
.montant{font-weight:700;color:var(--bleu);min-width:78px;text-align:right;font-variant-numeric:tabular-nums}
.mini-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.mini-actions form{margin:0}
.vide{color:var(--doux);font-style:italic}
.total{color:var(--doux)}

.tag{display:inline-block;font-size:.72rem;font-weight:700;padding:2px 8px;border-radius:99px;background:var(--gris-l);color:var(--doux)}
.tag.t-devis{background:#eef2fb;color:var(--bleu)} .tag.t-visite{background:var(--orange-l);color:var(--orange)}
.tag.t-rdv{background:var(--rouge-l);color:var(--rouge)} .tag.t-contrat{background:var(--vert-l);color:var(--vert)}
.tag.d-signe,.tag.s-confirme{background:var(--vert-l);color:var(--vert)}
.tag.d-refuse,.tag.s-replanifier{background:var(--rouge-l);color:var(--rouge)}
.tag.d-attente,.tag.s-propose{background:var(--orange-l);color:var(--orange)}

.onglets{display:flex;gap:4px;border-bottom:2px solid var(--trait);margin-bottom:10px;flex-wrap:wrap}
.onglets a{padding:8px 14px;text-decoration:none;color:var(--doux);font-weight:600;border-bottom:2px solid transparent;margin-bottom:-2px}
.onglets a.actif{color:var(--rouge);border-bottom-color:var(--rouge)}
.recherche{display:flex;gap:8px;margin-bottom:12px}
.recherche input{flex:1}

label{display:block;font-weight:600;margin:12px 0 4px}
input,select,textarea{width:100%;font:inherit;padding:9px 10px;border:1px solid #cdd2dc;border-radius:8px;background:#fff;color:var(--texte)}
input[type=checkbox]{width:auto}
.champ small{color:var(--doux);font-size:.8rem}
.erreur{color:var(--rouge);margin:4px 0}
.en-erreur input,.en-erreur select{border-color:var(--rouge)}
form .actions{margin-top:18px}
hr{border:0;border-top:1px solid var(--trait);margin:18px 0}

.public{text-align:center}
.public form{margin:14px 0}
.public details{margin-top:10px;text-align:left}
.public summary{cursor:pointer;color:var(--bleu);font-weight:600;text-align:center}
.marque-publique{font-weight:700;color:var(--bleu)}
.marque-publique span{background:var(--rouge);color:#fff;padding:2px 7px;border-radius:4px}
.quand{font-size:1.3rem;font-weight:700;color:var(--bleu);margin:6px 0}
.petit-texte{color:var(--doux);font-size:.85rem}

@media (max-width:900px){
  .semaine{grid-template-columns:1fr}
  .jour .vide{display:none}
  .chiffres{grid-template-columns:repeat(2,minmax(0,1fr))}
  .deux{grid-template-columns:1fr}
}
