/* Module consultation : enregistrement, fiche mémo, rapport d'analyse */
.citation { margin:12px 0; padding:12px 16px; background:#f2f9fd; border-left:4px solid var(--cyan); border-radius:6px; font-style:italic; }
.consult-grille { display:grid; grid-template-columns:minmax(0,1fr) 380px; gap:16px; align-items:start; }
.enregistreur { text-align:center; padding:32px 20px; }
.enregistreur__chrono { font-size:64px; font-weight:800; color:var(--bleu); font-variant-numeric:tabular-nums; }
.enregistreur__chrono--depasse { color:var(--orange); }
.enregistreur__lecture { width:100%; margin-top:16px; }
.import-audio { margin-top:24px; text-align:left; font-size:14px; }
.import-audio summary { cursor:pointer; color:var(--bleu); }
.memo { background:#fffdf5; border:1px solid #eadfb6; border-radius:var(--rayon); padding:16px 18px; font-size:14px; }
.memo h3 { margin-top:0; color:#7a5d00; text-transform:none; letter-spacing:0; font-size:15px; }
.memo h4 { margin:14px 0 4px; font-size:13px; color:#7a5d00; }
.memo__etapes { padding-left:18px; margin:0; }
.memo__etapes li { margin-bottom:6px; padding:4px 6px; border-radius:6px; }
.memo__etape--active { background:#fbefc5; }
.memo__questions { margin:0; } .memo__questions dt { font-weight:600; } .memo__questions dd { margin:0 0 6px; font-style:italic; }
.memo ul { padding-left:18px; margin:0; }

.bandeau-usage { background:#fff7e6; border:1px solid #f1dcae; color:#7a5d00; border-radius:8px; padding:8px 12px; font-size:13px; }
.attente { display:flex; gap:12px; align-items:center; }
.roue { width:20px; height:20px; border:3px solid #cfe9f4; border-top-color:var(--cyan); border-radius:50%; animation:tourner 1s linear infinite; }
@keyframes tourner { to { transform:rotate(360deg); } }
.verdict { margin:10px 0; font-size:15px; }
.checklist { list-style:none; padding:0; margin:0; columns:2; }
.checklist li { margin:4px 0; break-inside:avoid; }
.ok { color:var(--vert); font-weight:700; } .ko { color:var(--rouge); font-weight:700; }
.svs-global { display:flex; align-items:baseline; gap:8px; margin-bottom:12px; }
.svs-global__valeur { font-size:44px; font-weight:800; }
.svs-ligne { margin:8px 0; }
.svs-ligne__tete { display:flex; justify-content:space-between; font-size:14px; }
.svs-ligne p { margin:2px 0 0; }
.jauge-h { position:relative; height:8px; background:#e6eaef; border-radius:999px; margin-top:4px; overflow:visible; }
.jauge-h__plein { height:100%; border-radius:999px; }
.jauge-h__cible { position:absolute; top:-4px; width:2px; height:16px; background:var(--texte); }
.recos { padding-left:20px; margin:0; } .recos li { margin-bottom:10px; }
.etiquette { display:inline-block; font-size:11px; text-transform:uppercase; letter-spacing:.05em; background:#e3f4fb; color:var(--bleu); padding:1px 8px; border-radius:999px; margin-right:6px; }
.transcription { max-height:480px; overflow:auto; margin-top:12px; }
.tour { margin:4px 0; padding:6px 10px; border-radius:8px; }
.tour--praticien { background:#eef3f8; } .tour--patient { background:#f2fbf6; }
.tour__temps { color:var(--discret); font-size:12px; margin-right:8px; font-variant-numeric:tabular-nums; }
.tour__qui { font-weight:700; text-transform:capitalize; margin-right:6px; }
.commentaire { border-bottom:1px solid #eef1f5; padding:8px 0; } .commentaire p { margin:4px 0 0; }
@media (max-width:900px) { .consult-grille { grid-template-columns:1fr; } .checklist { columns:1; } }

/* Transcription et rôles */
.roles { display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin-bottom:10px; }
.roles__choix { display:flex; align-items:center; gap:6px; font-weight:600; }
.champ--petit { width:auto; padding:4px 8px; margin-top:0 !important; }

/* Administration */
.filtres { display:flex; gap:6px; flex-wrap:wrap; margin-bottom:14px; }
.filtre { background:#fff; border:1px solid var(--trait); border-radius:999px; padding:5px 14px; font:inherit; font-size:13px; cursor:pointer; color:var(--discret); }
.filtre--actif { background:var(--bleu); color:#fff; border-color:var(--bleu); }
.barre-analyses { display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; }
.barre-analyses .actions { margin-top:0; }
.onglet--bouton { background:none; border:0; border-bottom:3px solid transparent; font:inherit; font-weight:600; cursor:pointer; }
.onglet--bouton.onglet--actif { border-color:var(--cyan); }
.grille-transcription { display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:16px; align-items:start; }
.axe { border-left:3px solid var(--cyan); padding:4px 12px; margin:10px 0; }
.axe__formulation { font-style:italic; color:var(--bleu); margin-top:2px; }
@media (max-width:900px) { .grille-transcription { grid-template-columns:1fr; } }
.lecteur-audio { display: flex; flex-direction: column; gap: 4px; margin-bottom: 10px; } .lecteur-audio audio { width: 100%; }

/* Analyse du patient (écran praticien) : titre et bouton sur une ligne */
.carte__entete-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.carte__entete-actions h2 { margin: 0; }
.tour--parent { background:#fdf6e9; }
.motif-consultation { display:flex; gap:10px; align-items:center; max-width:560px; margin:0 0 12px; font-weight:600; } .motif-consultation .champ { flex:1; }

/* Analyse : l'essentiel en tête, le détail replié */
.essentiel { border-left: 5px solid #f0b429; background: #fffbea; }
.essentiel__resume { font-size: 15.5px; }
.essentiel__points { margin: 8px 0; padding-left: 20px; }
.essentiel__points li { margin: 4px 0; }
.essentiel__points mark, .rapport mark { background: #ffe98a; padding: 1px 3px; border-radius: 3px; color: inherit; }
.essentiel__badges { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.analyse-detail > summary { cursor: pointer; font-weight: 600; color: var(--bleu); margin: 10px 0; }
.carte--vigilance { border-left: 4px solid #e07b39; }

/* Séance de prophylaxie enregistrée (assistante) */
.btn--grand { font-size: 18px; padding: 14px 26px; min-width: 200px; }
.enregistreur__etat { font-weight: 700; margin: 4px 0; color: var(--bleu); }
.enregistreur--enregistrement .enregistreur__etat { color: #c8423b; }
.enregistreur--pause .enregistreur__chrono { opacity: .55; }
.enregistreur__boutons { flex-wrap: wrap; }
.seances-prophy { margin-bottom: 16px; }
.seance-rappel { background: #fffdf5; border: 1px solid #eadfb6; border-radius: var(--rayon); padding: 12px 16px; margin: 10px 0; }
.seance-rappel__titre { margin: 0 0 8px; font-weight: 700; color: #7a5d00; }
.seance-rappel__titre a { font-weight: 400; margin-left: 8px; }
.seances-prophy__liste summary { cursor: pointer; font-weight: 600; margin: 8px 0; }
.synthese-seance .essentiel { margin-bottom: 12px; padding: 12px 16px; border-radius: 8px; }
.synthese-seance .essentiel h3 { margin: 0 0 6px; }
.synthese-seance--compacte .essentiel { padding: 10px 12px; }
.seance-grille { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 12px 20px; }
.seance-bloc h4 { margin: 10px 0 4px; font-size: 14px; color: var(--bleu); }
.seance-bloc ul { margin: 0; padding-left: 18px; }
.seance-bloc li { margin-bottom: 3px; }
.seance-signaler { padding: 10px 14px; border-radius: 8px; margin-bottom: 10px; }
.seance-signaler h4 { margin: 0 0 6px; }
.seance-signaler ul { margin: 0; padding-left: 18px; }
.synthese-seance q { color: #5f6b7a; font-style: italic; }
.memo .synthese-seance { font-size: 13.5px; }
.pastille--neutre { background:#f3f4f6; color:#6b7480; font-weight:600; }

/* Séance de prophylaxie : fiche des 5 étapes et déroulé */
.fiche-etape { border: 1px solid #dde4ec; border-radius: 10px; margin: 10px 0; background: #fff; }
.fiche-etape--active { border-color: var(--cyan, #00a6d6); box-shadow: 0 0 0 2px rgba(0,166,214,.15); }
.fiche-etape__tete { display: flex; align-items: center; gap: 10px; width: 100%; background: #f5f8fb; border: 0; border-radius: 10px 10px 0 0; padding: 8px 12px; font: inherit; font-weight: 700; color: var(--bleu); cursor: pointer; text-align: left; }
.fiche-etape__tete .discret { margin-left: auto; font-weight: 400; font-size: 13px; }
.fiche-etape--active .fiche-etape__tete { background: #e6f6fb; }
.fiche-etape__num { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 50%; background: var(--bleu); color: #fff; font-size: 13px; }
.fiche-etape__corps { padding: 10px 12px; display: grid; gap: 8px; }
.fiche-etape__corps label { display: grid; gap: 4px; font-size: 14px; }
.fiche-grille { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 8px 14px; align-items: start; }
.fiche-grille .pastille { justify-self: start; }
.fiche-libelle { font-weight: 600; font-size: 14px; margin-top: 4px; }
.fiche-cases { display: flex; flex-wrap: wrap; gap: 4px 16px; }
.fiche-cases .case { display: flex !important; grid-template-columns: none; gap: 6px; align-items: center; font-size: 14px; }
.fiche-alerte { background: #fff1e0; border: 1px solid #f0c48a; color: #8a4b00; border-radius: 8px; padding: 6px 10px; margin: 0; font-weight: 600; }
.fiche-prochaine { margin: 22px 0 0; }
.deroule h3 { margin-top: 0; }
.deroule__etapes { padding-left: 0; list-style: none; margin: 8px 0; }
.deroule__etapes > li { padding: 6px 8px; border-radius: 6px; margin-bottom: 6px; }
.deroule__etape--active { background: #fbefc5; }
.deroule__titre { background: none; border: 0; padding: 0; font: inherit; color: inherit; cursor: pointer; text-align: left; }
.deroule__exemples { margin: 4px 0 0; padding-left: 16px; font-style: italic; }
.resultats-seance p { margin: 6px 0; }
.evolution-tests { margin: 8px 0 12px; }
.etapes-eval li { margin-bottom: 8px; }
.consult-grille > aside.memo { position: sticky; top: 72px; max-height: calc(100vh - 90px); overflow: auto; }
@media (max-width:900px) { .consult-grille > aside.memo { position: static; max-height: none; } }
