/*
extensions/css/css_medecin.css - 16.15 docpilot : refonte complète du site praticiens
Écran large : menu à gauche, page à droite. 950px ou moins : barre du haut, barre du bas, menu latéral.
« html body » : passe devant les CSS des pages, chargés après celui-ci.
*/

:root{
	--fond:#f2f4f7;
	--surface:#fff;
	--bord:#d9dfe6;
	--bord-doux:#e8ecf1;
	--texte:#1d2733;
	--doux:#667085;
	--accent:#2878cc;
	--accent-fonce:#1d5fa6;
	--accent-pale:#e7f1fb;
	--danger:#c7303d;
	--ok:#1b9150;
	--menu:#1e2935;
	--menu-survol:#2a3846;
	--menu-actif:#34475a;
	--rayon:10px;
	--rayon-petit:6px;
	--ombre:0 1px 2px rgba(16,24,40,0.08),0 1px 4px rgba(16,24,40,0.06);
	--ombre-forte:0 8px 28px rgba(16,24,40,0.24);
	--police:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
	--largeur-menu:248px;
	--haut-page:56px;
	--creneau:24px;
}

/* ---------- Base ---------- */
html , body{
	width:100%;
	min-height:100%;
	margin:0;
	padding:0;
}

html{overflow:auto;-webkit-text-size-adjust:100%;text-size-adjust:100%;}

body{
	background:var(--fond);
	font-family:var(--police);
	font-size:15px;
	line-height:1.45;
	color:var(--texte);
}

a{color:var(--accent);text-decoration:none;}
a:hover{color:var(--accent-fonce);}

h1 , h2 , h3{font-family:var(--police);color:var(--texte);font-weight:700;line-height:1.2;margin:10px 0;}
h1{font-size:26px;}
h2{font-size:21px;}
h3{font-size:17px;}

img , embed{max-width:100%;}

a:focus-visible , button:focus-visible , input:focus-visible , select:focus-visible , textarea:focus-visible{
	outline:2px solid var(--accent);
	outline-offset:2px;
}

/* ---------- Structure ---------- */
.dp_app{display:block;float:none;width:100%;min-height:100vh;margin:0;}

.dp_page{
	display:flex;
	flex-direction:column;
	min-height:100vh;
	margin-left:var(--largeur-menu);
	transition:margin-left 0.18s ease;
}

body[data-menu=reduit]{--largeur-menu:68px;}

main{display:block;float:none;flex:1;width:100%;min-width:0;}

article{display:block;float:none;width:100%;padding:20px 24px 32px;}

.conteneur_1200{width:100%;max-width:1200px;margin:0 auto;clear:both;}

/* Barre du haut */
.nom_page{
	position:sticky;
	top:0;
	display:flex;
	align-items:center;
	height:var(--haut-page);
	padding:0 24px;
	background:var(--surface);
	border-bottom:1px solid var(--bord);
	font-size:18px;
	font-weight:600;
	z-index:40;
}

.dp_nom_page_titre{
	flex:1;
	min-width:0;
	overflow:hidden;
	white-space:nowrap;
	text-overflow:ellipsis;
}

.dp_menu_bouton , .dp_barre_bas , .dp_voile , .dp_agenda_outils_bouton{display:none;}
.menu_mobile{display:none;}

/* ---------- Menu ---------- */
.dp_menu{
	position:fixed;
	display:flex;
	flex-direction:column;
	top:0;
	bottom:0;
	left:0;
	width:var(--largeur-menu);
	background:var(--menu);
	color:#fff;
	transition:width 0.18s ease;
	z-index:50;
}

.dp_menu_reduire{
	display:flex;
	flex:none;
	align-items:center;
	justify-content:flex-end;
	width:100%;
	height:var(--haut-page);
	padding:0 22px;
	border:none;
	border-bottom:1px solid rgba(255,255,255,0.08);
	background:none;
	cursor:pointer;
}

.dp_menu_reduire span{
	width:10px;
	height:10px;
	border-left:2px solid #c3cdd8;
	border-bottom:2px solid #c3cdd8;
	transform:rotate(45deg);
}

body[data-menu=reduit] .dp_menu_reduire{justify-content:center;padding:0;}
body[data-menu=reduit] .dp_menu_reduire span{transform:rotate(225deg);}

.menu_principal , .menu_principal ul{list-style:none;margin:0;padding:0;}

.menu_principal{
	flex:1;
	overflow-x:hidden;
	overflow-y:auto;
	padding:8px 0;
	scrollbar-width:thin;
	scrollbar-color:#46586b transparent;
}

.menu_principal li{position:relative;margin:0;padding:0;}
.menu_principal>li.inactif{opacity:0.45;}

.menu_principal a{
	display:flex;
	align-items:center;
	min-height:44px;
	padding:7px 16px;
	color:#dfe6ed;
	font-size:15px;
	line-height:1.25;
}

.menu_principal a:hover{background:var(--menu-survol);color:#fff;}

.menu_principal>li>a{font-weight:600;color:#fff;}
.menu_principal>li.dp_rubrique>a{padding-right:44px;}
.menu_principal>li.sur>a{color:#fff;background:var(--menu-survol);box-shadow:inset 3px 0 0 #5aa7f0;}

.menu_principal img , .dp_menu_icone{
	flex:none;
	width:26px;
	height:26px;
	margin:0 12px 0 0;
	object-fit:contain;
	border-radius:6px;
}

.dp_menu_icone{width:24px;height:24px;color:#b9c7d4;border-radius:0;}
.menu_principal>li>a:hover .dp_menu_icone , .menu_principal>li.sur>a .dp_menu_icone{color:#fff;}

.menu_principal font{
	display:flex;
	flex:1;
	align-items:center;
	justify-content:space-between;
	gap:8px;
	min-width:0;
}

.menu_principal ul{background:rgba(0,0,0,0.16);padding:2px 0 6px;}
.menu_principal ul a{min-height:38px;padding:5px 16px 5px 54px;font-size:14px;font-weight:400;}
.menu_principal ul img{width:20px;height:20px;margin:0 8px 0 -30px;}
.menu_principal ul>li.sur>a{background:var(--menu-actif);color:#fff;box-shadow:inset 3px 0 0 #5aa7f0;}

html.dp_js .menu_principal>li.dp_rubrique>ul{display:none;}
html.dp_js .menu_principal>li.dp_rubrique.dp_ouvert>ul{display:block;}

.dp_deplier{
	position:absolute;
	top:0;
	right:0;
	width:44px;
	height:44px;
	padding:0;
	border:none;
	background:none;
	cursor:pointer;
}

.dp_deplier:before{
	content:"";
	position:absolute;
	top:15px;
	left:18px;
	width:8px;
	height:8px;
	border-right:2px solid #c3cdd8;
	border-bottom:2px solid #c3cdd8;
	transform:rotate(45deg);
	transition:transform 0.15s;
}

.dp_ouvert>.dp_deplier:before{top:19px;transform:rotate(-135deg);}

/* Compteurs */
.menu_principal p , .connexion_liste_compte p , .popup ul p , .dp_barre_bas font>p{
	flex:none;
	order:2;
	min-width:20px;
	height:20px;
	margin:0;
	padding:0 5px;
	background:#d63344;
	border-radius:10px;
	color:#fff;
	font-size:12px;
	font-weight:600;
	line-height:20px;
	text-align:center;
}

/* Compte, en bas du menu */
.connexion_liste_compte{
	flex:none;
	float:none;
	display:block;
	width:100%;
	border-top:1px solid rgba(255,255,255,0.08);
}

.connexion_liste_compte a{
	display:flex;
	align-items:center;
	gap:10px;
	min-height:56px;
	padding:8px 18px;
	color:#fff;
	font-size:14px;
}

.connexion_liste_compte a:hover{background:var(--menu-survol);color:#fff;}
.connexion_liste_compte img{flex:none;width:22px;height:22px;margin:0;filter:brightness(1.4);}

/* Menu réduit : icônes, sous-menu au survol */
body[data-menu=reduit] .menu_principal{overflow:visible;}
body[data-menu=reduit] .menu_principal>li>a{justify-content:center;padding:7px 0;}
body[data-menu=reduit] .menu_principal>li>a img , body[data-menu=reduit] .menu_principal>li>a .dp_menu_icone{margin:0;}
body[data-menu=reduit] .menu_principal>li>a font{position:static;flex:0;width:0;overflow:visible;font-size:0;}
body[data-menu=reduit] .menu_principal>li>a font>p{position:absolute;top:2px;right:6px;font-size:11px;min-width:17px;height:17px;line-height:17px;padding:0 3px;}
body[data-menu=reduit] .dp_deplier{display:none;}

html.dp_js body[data-menu=reduit] .menu_principal>li>ul{
	position:absolute;
	display:none;
	top:0;
	left:100%;
	width:240px;
	padding:6px 0;
	background:var(--menu);
	border-radius:0 var(--rayon) var(--rayon) 0;
	box-shadow:var(--ombre-forte);
}

html.dp_js body[data-menu=reduit] .menu_principal>li:hover>ul{display:block;}
body[data-menu=reduit] .menu_principal ul a{padding-left:16px;}
body[data-menu=reduit] .menu_principal ul img{margin-left:0;}
body[data-menu=reduit] .connexion_liste_compte a{justify-content:center;padding:8px 0;font-size:0;}

/* ---------- Boutons ---------- */
div.bouton_bleu , input.bouton_bleu , a.bouton_bleu ,
div.bouton_rouge , input.bouton_rouge , a.bouton_rouge ,
div.bouton_vert , input.bouton_vert , a.bouton_vert{
	min-height:40px;
	margin:0 5px 10px;
	padding:8px 16px;
	border:1px solid var(--accent);
	border-radius:var(--rayon-petit);
	background-color:var(--accent);
	font-family:var(--police);
	font-size:15px;
	font-weight:600;
	line-height:1.5;
	text-align:center;
	color:#fff;
	cursor:pointer;
	transition:background-color 0.12s;
}

a.bouton_bleu , a.bouton_rouge , a.bouton_vert{display:block;color:#fff;}

.bouton_bleu:hover , .bouton_bleu.sur{background-color:var(--accent-fonce)!important;color:#fff;}
.bouton_bleu.align_left , .bouton_rouge.align_left{text-align:left;}
.bouton_bleu.align_right , .bouton_rouge.align_right{text-align:right;}

div.bouton_rouge , input.bouton_rouge , a.bouton_rouge{border-color:var(--danger);background-color:var(--danger)!important;}
.bouton_rouge:hover{filter:brightness(0.9);}

div.bouton_vert , input.bouton_vert , a.bouton_vert{border-color:var(--ok);background-color:var(--ok)!important;}
.bouton_vert:hover{filter:brightness(0.9);}

.bouton_rond{border-radius:var(--rayon-petit);}

div.bouton_bleu img , input.bouton_bleu img , div.bouton_rouge img , input.bouton_rouge img , a.bouton_bleu img , a.bouton_rouge img{
	display:inline-block;
	max-height:24px;
	vertical-align:middle;
}

/* ---------- Champs ---------- */
input[type=text] , input[type=email] , input[type=date] , input[type=time] , input[type=datetime] , input[type=number] ,
input[type=color] , input[type=range] , input[type=tel] , input[type=url] , input[type=password] , input[type=search] ,
select , textarea{
	width:100%;
	min-height:40px;
	margin-top:3px;
	padding:8px 10px;
	border:1px solid var(--bord);
	border-radius:var(--rayon-petit);
	background-color:#fff;
	font-family:var(--police);
	font-size:15px;
	color:var(--texte);
	box-sizing:border-box;
}

input[type=text]:focus , input[type=email]:focus , input[type=tel]:focus , input[type=password]:focus , input[type=search]:focus , input[type=number]:focus , select:focus , textarea:focus{
	border-color:var(--accent);
	box-shadow:0 0 0 3px var(--accent-pale);
	outline:none;
}

select.heure{width:5em;}

.modifier_gris{
	float:left;
	display:block;
	width:100%;
	padding:18px;
	background:var(--surface);
	border:1px solid var(--bord);
	border-radius:var(--rayon);
	box-shadow:var(--ombre);
}

.modifier_gris_input{
	float:left;
	display:inline;
	width:19%;
	margin:0 1% 16px 0;
	color:var(--doux);
	font-size:14px;
	font-weight:500;
}

body html .modifier_gris label{
	float:left;
	display:block;
	width:19%;
	margin:10px 1%;
	padding:5px;
	font-size:15px;
	cursor:pointer;
}

.modifier_gris label:hover{background:var(--fond);border-radius:var(--rayon-petit);}

html body .double{width:39%;margin:10px 1%;}
html body .triple{width:59%;margin:10px 1%;}
html body .champs25{width:23%;margin:10px 1%;}
html body .champs33{width:31.33333%;margin:10px 1%;}
html body .champs50{width:48%;margin:10px 1%;}
html body .champs66{width:64%;margin:10px 1%;}
html body .champs75{width:73%;margin:10px 1%;}
html body .champs100{width:98%;margin:10px 1%;}
html body .decalage_gauche{padding-left:3%;}
html body .modifier_gris .margin_gauche_100{margin-left:20%;}

.clear_mobile{float:left;display:none;height:1px;}
.tableau_bord_33{float:left;display:inline;width:33%;}
font.liste{margin-left:20px;line-height:1.7em;font-size:20px;}

.npm_liste{
	float:left;
	display:inline;
	width:100%;
	margin-top:6px;
	padding:6px 14px;
	border:1px solid var(--bord);
	border-radius:var(--rayon-petit);
	background-color:var(--surface);
	font-size:16px;
	font-weight:500;
	line-height:1.8em;
	color:var(--texte);
}

.npm_liste img{float:left;display:inline;margin:4px 10px 4px 0;max-height:24px;}
.npm_liste:hover{background-color:var(--accent-pale);}
.npm_sous_liste{float:left;display:inline;margin-left:2%;width:98%;}

/* ---------- Listes ---------- */
table.liste{
	width:100%;
	margin:18px 0;
	border-collapse:separate;
	border-spacing:0;
	background:var(--surface);
	border:1px solid var(--bord);
	border-radius:var(--rayon);
	box-shadow:var(--ombre);
	font-size:15px;
}

table.liste td{padding:10px 14px;vertical-align:middle;border-bottom:1px solid var(--bord-doux);}
table.liste tr:last-child td{border-bottom:none;}
table.liste tr td:last-child{max-width:260px;}
table.liste tr:not(:first-child):hover td{background:#f7f9fb;}
table.liste .bord{border:none;}

table.liste tr:first-child td , table.liste tr:first-child td a{
	background:#f7f9fb;
	color:var(--doux);
	font-size:13px;
	font-weight:600;
}

table.liste tr:first-child td:first-child{border-radius:var(--rayon) 0 0 0;}
table.liste tr:first-child td:last-child{border-radius:0 var(--rayon) 0 0;}
table.liste tr:not(:first-child) td:first-child a , table.liste tr td a{font-weight:500;}
table.liste font.mobile{display:none;}

/* Liste des actes d'un patient : en-tête en 2 bandes, liste sur toute la largeur */
.dp_actes_tete{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;clear:both;margin:4px 0 6px;}
.dp_actes_tete h1{margin:0;}
.dp_actes_actions , .dp_actes_boutons{display:flex;flex-wrap:wrap;gap:8px;}
html body a.dp_bouton_secondaire{
	display:inline-flex;align-items:center;min-height:40px;padding:0 16px;
	background:var(--surface);color:var(--accent);border:1px solid var(--bord);border-radius:var(--rayon-petit);
	font-size:14px;font-weight:600;text-decoration:none;white-space:nowrap;
}
html body a.dp_bouton_secondaire:hover{background:var(--accent-pale);border-color:var(--accent);}
html body a.dp_actes_imprimer::before{
	content:"";width:18px;height:18px;margin-right:8px;flex:none;background-color:currentColor;
	-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9V2h12v7'/%3E%3Cpath d='M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2'/%3E%3Crect x='6' y='14' width='12' height='8'/%3E%3C/svg%3E") center/contain no-repeat;
	mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9V2h12v7'/%3E%3Cpath d='M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2'/%3E%3Crect x='6' y='14' width='12' height='8'/%3E%3C/svg%3E") center/contain no-repeat;
}
html body a.dp_actes_ajouter{float:none;display:inline-flex;align-items:center;min-height:40px;margin:0;padding:0 18px;white-space:nowrap;}
.dp_actes_titre{clear:both;margin:14px 0 8px;}
.dp_actes_outils{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px;clear:both;}
.dp_actes_recherche{flex:1 1 320px;max-width:520px;margin:0;}
html body table.dp_actes_liste{clear:both;width:100%;margin-top:14px;}
html body table.dp_actes_liste td.dp_actes_col_bouton{width:52px;}
html body table.dp_actes_liste a.bouton_rond{display:inline-flex;align-items:center;justify-content:center;width:38px!important;min-width:0;height:34px;min-height:0;margin:0 6px 0 0;padding:0;}
html body table.dp_actes_liste a.bouton_rond img{max-width:20px;max-height:20px;}

.fleche_trie_asc , .fleche_trie_desc{
	float:left;
	display:inline;
	width:20px;
	height:20px;
	margin:0 1px;
	background-color:transparent;
	background-repeat:no-repeat;
	background-position:center;
}

.fleche_trie_asc{background-image:url(/images/fleche_bas.png);}
.fleche_trie_desc{background-image:url(/images/fleche_haut.png);}
.fleche_trie_asc.sur{background-image:url(/images/fleche_sur_bas.png);}
.fleche_trie_desc.sur{background-image:url(/images/fleche_sur_haut.png);}

.acte_changement_horaire select{display:inline-block;width:6em;margin:0 0.5em;}

.dp_scroll_x{display:flow-root;max-width:100%;}

/* Tuiles */
#contenu_article_104 ul{
	display:grid;
	grid-template-columns:repeat( auto-fill , minmax(150px,1fr) );
	gap:12px;
	margin-top:1em;
	padding:0;
	list-style:none;
}

main #contenu_article_104 ul li{float:none;display:block;width:auto;height:auto;margin:0;padding:0;}

#contenu_article_104 ul a{
	display:block;
	height:100%;
	padding:16px;
	background:var(--surface);
	border:1px solid var(--bord);
	border-radius:var(--rayon);
	box-shadow:var(--ombre);
	text-align:center;
	text-transform:capitalize;
	color:var(--texte);
}

#contenu_article_104 ul a:hover{border-color:var(--accent);}
#contenu_article_104 ul img{height:64px;}
#contenu_article_104 ul font{display:block;width:100%;}
#contenu_article_104 ul picture{display:block;width:100%;}

/* ---------- Tableau de bord ---------- */
html body .calendrier{color:var(--texte);font-style:normal;font-size:15px;}
html body form>.-g-33-100m-mbm-{min-height:60px;}
html body table.liste td.patient_bouton{width:42px;padding:6px 2px;}
html body table.liste td.patient_bouton a{min-width:0;width:36px!important;min-height:0;height:34px;margin:0;padding:4px;}
html body table.liste td.patient_bouton img{max-height:24px;}
html body .calendrier_date_texte{line-height:1.3;}

html body .recherche{
	height:42px;
	border:1px solid var(--bord);
	border-radius:var(--rayon-petit);
	background:#fff;
	overflow:hidden;
}

html body .recherche #recherche_texte{
	top:0;
	bottom:0;
	height:100%;
	min-height:0;
	margin:0;
	padding:0 14px;
	font-family:var(--police);
	font-size:15px;
	box-shadow:none;
}

html body .recherche #recherche_bouton , html body .recherche #parametres_bouton{background-color:#eef1f5;height:40px;border-left:1px solid var(--bord);min-height:0;}
html body .recherche #nouveau_bouton{min-height:0;height:40px;}
html body .recherche #nouveau_bouton.dp_bouton_compteur{width:auto;padding:0 14px;background-image:none;background-color:#e8f0fe;color:#1a56b0;font-weight:600;font-size:13px;white-space:nowrap;border-left:1px solid var(--bord);cursor:pointer;}
html body .recherche #nouveau_bouton.dp_bouton_compteur:hover{background-color:#d3e3fd;}
html body .parametres{border-color:var(--bord);border-radius:0 0 var(--rayon-petit) var(--rayon-petit);background:#fff;padding:10px;}
html body .message_application{border-color:var(--accent);background-color:var(--accent);font-family:var(--police);border-radius:var(--rayon);}
html body .nouveau_code{font-family:var(--police);border-radius:var(--rayon-petit);}
html body .photo_gris{background:var(--fond);border-radius:var(--rayon);}
html body .alert_patient.alert_patient_js{z-index:70;}
html body .alert_patient div{border:none;border-radius:var(--rayon);box-shadow:var(--ombre-forte);}

/* ---------- Messagerie ---------- */
html body .message_dialogue{
	padding:12px 14px;
	background-color:var(--surface);
	border:1px solid var(--bord);
	border-radius:var(--rayon);
	box-shadow:var(--ombre);
}

html body .message_dialogue.message_legende{padding:2px 12px;font-size:12px;box-shadow:none;}
html body .message_dialogue.message_liste{background:var(--surface);color:var(--texte);}
html body .message_dialogue.message_liste.non_vu{background:#fff8d6;border-color:#ecd97a;font-weight:600;}
html body .message_dialogue.message_liste:hover{border-color:var(--accent);}
html body .message_relance{background:var(--surface);}
html body .message_reception{background:#fff8d6;}
html body .message_envoi{background:var(--accent-pale);}
html body .messagerie_onglet_message , html body .messagerie_formulaire{background-color:var(--accent-pale);border-radius:var(--rayon);font-size:16px;}
html body .messagerie_onglet_telephone{background-color:#f1f6fc;border-radius:var(--rayon);font-size:16px;}

html body .messagerie_poster_un_message{
	left:var(--largeur-menu);
	right:0;
	width:auto;
	padding:12px;
	border-top:1px solid var(--bord);
	background-color:var(--accent);
	box-shadow:0 -2px 8px rgba(16,24,40,0.14);
	font-size:16px;
	font-weight:600;
	color:#fff;
	z-index:30;
}

/* ---------- Fenêtres ---------- */
html body .popup_fond{z-index:70;}
html body .popup.fixed{z-index:71;}
html body .popup.fixed>div{border-radius:var(--rayon);box-shadow:var(--ombre-forte);max-height:85vh;overflow-y:auto;}
html body .popup ul li{background:var(--menu);border-radius:var(--rayon-petit);padding:0;}
html body .popup ul li:hover{background:var(--menu-survol);}
html body .popup ul li a{display:flex;align-items:center;gap:10px;min-height:46px;padding:8px 14px;font-size:15px;color:#fff;}
html body .popup ul li a .rond{flex:none;float:none;margin:0;width:18px;height:18px;background:var(--menu-survol);border:4px solid #55697d;}
html body .popup a:hover .rond , html body .popup a.sur .rond{background:#5aa7f0;border-color:var(--menu);}
html body #ui-datepicker-div{z-index:80!important;}

/* ---------- Agenda ---------- */
.calendrier_option{
	position:sticky;
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:6px;
	top:var(--haut-page);
	margin:-20px -24px 0;
	padding:8px 24px;
	background:var(--surface);
	border-bottom:1px solid var(--bord);
	z-index:30;
}

.picto_affichage{
	display:inline-flex;
	flex:none;
	align-items:center;
	justify-content:center;
	gap:6px;
	min-width:38px;
	height:38px;
	padding:0 8px;
	border:1px solid var(--bord);
	border-radius:var(--rayon-petit);
	background:var(--surface);
	color:var(--texte);
	font-size:14px;
	font-weight:600;
	white-space:nowrap;
}

.picto_affichage:hover{background:var(--fond);color:var(--texte);}
.picto_accueil{padding:0 12px;}

.dp_agenda_date{
	position:relative;
	display:block;
	flex:1 1 180px;
	min-width:0;
	padding:0 10px;
	font-size:17px;
	font-weight:600;
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
	cursor:pointer;
}

.dp_agenda_titre_court{display:none;}

html body .dp_agenda_date input{
	position:absolute;
	top:0;
	left:0;
	width:100%!important;
	height:100%;
	min-height:0;
	margin:0;
	padding:0;
	border:none;
	opacity:0;
	cursor:pointer;
}

.dp_agenda_vues{display:inline-flex;flex:none;}
.dp_agenda_vues .picto_affichage{border-radius:0;margin-left:-1px;padding:0 12px;}
.dp_agenda_vues .picto_affichage svg{display:none;}
.dp_agenda_vues span{text-transform:capitalize;}
.dp_agenda_vues .picto_affichage:first-child{border-radius:var(--rayon-petit) 0 0 var(--rayon-petit);margin-left:0;}
.dp_agenda_vues .picto_affichage:last-child{border-radius:0 var(--rayon-petit) var(--rayon-petit) 0;}
.dp_agenda_vues .picto_affichage_select{background:var(--accent);border-color:var(--accent);color:#fff;position:relative;z-index:1;}
.dp_agenda_vues .picto_affichage_select:hover{background:var(--accent-fonce);color:#fff;}

.picto_ajouter{background:var(--accent);border-color:var(--accent);color:#fff;padding:0 14px 0 10px;}
.picto_ajouter:hover{background:var(--accent-fonce);color:#fff;}

.dp_agenda_secondaires{display:inline-flex;flex:none;gap:4px;}
.dp_agenda_secondaires .picto_affichage{border-color:transparent;color:var(--doux);padding:0 6px;}
.dp_agenda_secondaires .picto_affichage:hover{background:var(--fond);color:var(--texte);}

.picto_affichage.hide{display:none;}
.supprimer_patient{float:left;display:inline;margin:10px 5px 0 0;cursor:pointer;}

/* Filtres par acte */
.agenda_groupe_actes{
	display:none;
	margin:10px 0 0;
	white-space:nowrap;
	overflow-x:auto;
	scrollbar-width:none;
}

.agenda_groupe_actes a , .agenda_groupe_actes div{
	display:inline-block;
	margin:0 6px 0 0;
	padding:5px 12px;
	border-radius:14px;
	background:#b5bec9;
	color:#000;
	font-size:13px;
	opacity:0.45;
	cursor:pointer;
}

.agenda_groupe_actes a.texte_blanc{color:#fff;}
.agenda_groupe_actes a.mini{display:none;}
.agenda_groupe_actes a.actif{opacity:1;}
.agenda_groupe_actes div{display:none;opacity:1;}

article:has(.agenda_cadre){padding-bottom:12px;}

/* Grille : l'agenda défile dans son cadre, titres des jours et heures restent visibles */
.agenda_cadre{
	max-height:calc( 100vh - var(--haut-page) - 80px );
	margin-top:12px;
	background:var(--surface);
	border:1px solid var(--bord);
	border-radius:var(--rayon);
	box-shadow:var(--ombre);
	overflow:auto;
	overscroll-behavior:contain;
	scrollbar-width:thin;
}

.agenda{
	display:grid;
	grid-template-columns:56px repeat( 7 , minmax(96px,1fr) );
	width:100%;
	min-width:100%;
}

.agenda.agenda_affichage_jour{grid-template-columns:56px minmax(0,1fr);}
.agenda.agenda_affichage_jour .agenda_jour:not(.jour_selectionne){display:none;}
.agenda.agenda_affichage_jour .agenda_jour_semaine_min , .agenda.agenda_affichage_semaine .agenda_jour_semaine_complet{display:none;}
.agenda_jour_semaine_complet{display:block;}
.agenda.agenda_affichage_jour .agenda_num_semaine , .agenda.agenda_affichage_semaine .agenda_num_semaine{display:none;}

.agenda_heure{
	position:sticky;
	left:0;
	padding-top:34px;
	background:var(--surface);
	border-right:1px solid var(--bord);
	color:var(--doux);
	font-size:11px;
	text-align:right;
	z-index:16;
}

.agenda_heure div{height:var(--creneau);padding:0 6px;line-height:1;color:transparent;}
.agenda_heure div.h0{color:var(--doux);font-weight:600;font-size:12px;}
.agenda_heure div.hide{display:none;}

.agenda_jour{
	position:relative;
	min-width:0;
	border-right:1px solid var(--bord-doux);
}

.agenda_jour:last-child{border-right:none;}

.agenda_jour_semaine_complet , .agenda_jour_semaine_min{
	position:sticky;
	top:0;
	height:34px;
	padding:0 6px;
	background:#f7f9fb;
	border-bottom:1px solid var(--bord);
	text-align:center;
	line-height:33px;
	overflow:hidden;
	white-space:nowrap;
	z-index:15;
}

.agenda_jour_semaine_complet a , .agenda_jour_semaine_min a{display:block;color:var(--texte);font-size:13px;font-weight:600;}
.aujourdhui .agenda_jour_semaine_complet a , .aujourdhui .agenda_jour_semaine_min a{color:var(--accent);}
.aujourdhui{background:#fbfdff;}

.agenda_heure_rdv{
	position:relative;
	height:var(--creneau);
	border-top:1px dotted var(--bord-doux);
	font-size:12px;
	line-height:1.25;
	cursor:copy;
}

.agenda_heure_rdv.h0{border-top:1px solid #d3d9e0;}
.agenda_heure_rdv:hover{background-color:var(--accent-pale);}

.agenda_heure_rdv:hover:after{
	content:"+";
	position:absolute;
	top:0;
	left:6px;
	color:var(--accent);
	font-weight:700;
	line-height:calc( var(--creneau) - 2px );
	pointer-events:none;
}

.agenda_heure_rdv.hors_horaire{background:#eef1f4;}
.agenda_heure_rdv.hide{display:none;}
.proposition_rdv{background:url(/images/fond-proposition-rdv.png);}

.agenda_groupe_acte{position:absolute;display:block;top:0;bottom:0;left:90%;width:10%;z-index:12;}
.agenda_groupe_acte a{display:block;width:100%;height:100%;color:#fff;font-size:11px;text-align:center;overflow:hidden;}

.agenda_heure_rdv a.agenda_lien_heure{
	position:absolute;
	display:block;
	top:0;
	padding:2px 5px;
	border:1px solid rgba(255,255,255,0.8);
	border-radius:5px;
	box-shadow:0 1px 2px rgba(16,24,40,0.2);
	overflow:hidden;
	font-weight:500;
	cursor:pointer;
	z-index:13;
}

.agenda_heure_rdv a.agenda_lien_heure:hover{filter:brightness(0.95);box-shadow:0 2px 6px rgba(16,24,40,0.3);z-index:14;}
.agenda_heure_rdv a.avertir_1er_acte{border-radius:0 12px 12px 0;}

.rdv_confirme , .rdv_infirme , .rdv_annule , .reponse_non_reconnu , .sms_envoye{
	float:right;
	display:inline;
	width:15px;
	height:15px;
	margin:1px;
	padding:2px;
	background:#328600;
	border-radius:50%;
	line-height:0;
}

.rdv_infirme{background:#c50b19;}
.rdv_annule{background:#ff0013;}
.reponse_non_reconnu{background:#de9009;}
.sms_envoye{background:#ddd;}
.rdv_confirme img , .rdv_infirme img , .rdv_annule img , .reponse_non_reconnu img{display:block;width:100%;}

/* Heure actuelle */
.dp_maintenant{
	position:absolute;
	left:0;
	right:0;
	height:2px;
	background:#e5484d;
	pointer-events:none;
	z-index:14;
}

.dp_maintenant:before{
	content:"";
	position:absolute;
	top:-4px;
	left:-5px;
	width:10px;
	height:10px;
	background:#e5484d;
	border-radius:50%;
}

/* Vue mois */
.agenda.agenda_affichage_mois{grid-template-columns:30px repeat( 7 , minmax(0,1fr) );}

.agenda_num_semaine{
	display:flex;
	align-items:center;
	justify-content:center;
	background:#f7f9fb;
	border-bottom:1px solid var(--bord);
	border-right:1px solid var(--bord);
	font-size:11px;
}

.agenda_num_semaine a{color:var(--doux);}
.agenda_affichage_mois .agenda_jour{border-bottom:1px solid var(--bord);}
.agenda_affichage_mois .agenda_jour.jour_hors_mois{background:#f7f9fb;opacity:0.65;}
.agenda_affichage_mois .agenda_jour_semaine_complet{display:none;}
.agenda_affichage_mois .agenda_jour_semaine_min{position:static;height:26px;background:none;border-bottom:none;line-height:26px;}
.agenda_lien_jour{display:block;height:calc( ( 100vh - 240px ) / 7 );min-height:44px;padding:0 6px;}
.agenda_lien_jour:hover{background:var(--accent-pale);}
.agenda_nb_rdv{display:inline-block;padding:1px 8px;background:var(--accent-pale);border-radius:10px;color:var(--accent-fonce);font-size:12px;font-weight:600;white-space:nowrap;}

/* Détail d'un RDV : panneau fixe, jamais coupé par le cadre */
.popup_clic{
	position:fixed;
	top:calc( var(--haut-page) + 12px );
	right:16px;
	width:380px;
	max-width:calc( 100vw - 32px );
	max-height:calc( 100vh - var(--haut-page) - 32px );
	padding:16px;
	background:var(--surface);
	border:1px solid var(--bord);
	border-radius:var(--rayon);
	box-shadow:var(--ombre-forte);
	overflow-y:auto;
	font-size:14px;
	line-height:1.5;
	color:var(--texte);
	cursor:auto;
	z-index:45;
}

.popup_clic.hide{display:none;}

.popup_clic .fermer{
	float:right;
	width:30px;
	height:30px;
	margin:-6px -6px 0 8px;
	background:var(--fond);
	border-radius:50%;
	color:var(--texte);
	font-weight:700;
	text-align:center;
	line-height:30px;
	cursor:pointer;
}

.popup_clic center a{
	display:inline-block;
	margin:8px 0;
	padding:8px 16px;
	background:var(--accent);
	border-radius:var(--rayon-petit);
	color:#fff;
	font-weight:600;
}

.option_patient_calendrier>input{width:calc( 100% - 60px )!important;}
.option_patient_calendrier>ul{float:right;display:block;width:34px;}
.option_patient_calendrier li{margin-left:0;list-style-type:none;}
.option_patient_calendrier>ul>li{position:relative;}
.option_patient_calendrier>ul ul{position:absolute;display:none;top:36px;right:0;background:#fff;border:1px solid var(--bord);border-radius:var(--rayon-petit);box-shadow:var(--ombre-forte);z-index:20;}
.option_patient_calendrier>ul:hover ul{display:block;}
.option_patient_calendrier>ul ul li a{display:inline-block;width:100%;padding:8px 12px;white-space:nowrap;}
.option_patient_calendrier>ul ul li a:hover{background:var(--fond);}
.autres_propositions{max-height:10em;overflow-y:auto;}

/* Survol sans objet au doigt */
@media (hover:none) {

	#screenshot{display:none!important;}
	.agenda_heure_rdv:hover{background-color:transparent;}
	.agenda_heure_rdv:hover:after{content:none;}
	.agenda_heure_rdv.hors_horaire:hover{background:#eef1f4;}
	.picto_affichage:hover{background:var(--surface);}

}

/* Écran moyen : l'agenda garde tous ses outils, sans le texte */
@media screen and (max-width:1250px) {

	.picto_ajouter span{display:none;}
	.picto_ajouter{padding:0 8px;}

}

/* ==========================================================================
   950px ou moins : barre du haut, barre du bas, menu latéral
   ========================================================================== */
@media screen and (max-width:950px) {

	:root{--haut-page:52px;--creneau:38px;}

	html.dp_menu_ouvert{overflow:hidden;}

	body{padding-bottom:calc( 60px + env(safe-area-inset-bottom) );overflow-wrap:break-word;}

	body:has(.agenda_cadre){padding-bottom:0;}

	.dp_page{margin-left:0;min-height:0;}
	article{padding:14px 12px 24px;}
	h1{font-size:22px;margin:4px 0 12px;}
	h2{font-size:19px;}

	.nom_page{
		position:fixed;
		right:0;
		left:0;
		padding:0;
		background:var(--menu);
		border-bottom:none;
		color:#fff;
		font-size:17px;
		box-shadow:0 1px 4px rgba(0,0,0,0.3);
	}

	main{padding-top:var(--haut-page);}

	html body .dp_menu_bouton{
		display:flex;
		flex:none;
		align-items:center;
		justify-content:center;
		width:52px;
		height:52px;
		color:#fff;
	}

	.dp_menu_bouton span , .dp_menu_bouton span:before , .dp_menu_bouton span:after{
		display:block;
		width:22px;
		height:2px;
		background:#fff;
		border-radius:2px;
	}

	.dp_menu_bouton span{position:relative;}

	.dp_menu_bouton span:before , .dp_menu_bouton span:after{
		content:"";
		position:absolute;
		left:0;
	}

	.dp_menu_bouton span:before{top:-7px;}
	.dp_menu_bouton span:after{top:7px;}

	/* Bouton des outils de l'agenda : 4 carrés */
	html body .dp_agenda_outils_bouton{
		display:grid;
		flex:none;
		grid-template-columns:9px 9px;
		gap:4px;
		align-content:center;
		justify-content:center;
		width:52px;
		height:52px;
		padding:0;
		border:none;
		background:none;
		cursor:pointer;
	}

	.dp_agenda_outils_bouton span{width:9px;height:9px;background:#fff;border-radius:2px;}
	html.dp_agenda_outils body .dp_agenda_outils_bouton{background:rgba(255,255,255,0.22);}

	/* Barre du bas */
	html body .dp_barre_bas{
		position:fixed;
		display:block;
		right:0;
		bottom:0;
		left:0;
		padding-bottom:env(safe-area-inset-bottom);
		background:var(--menu);
		box-shadow:0 -1px 5px rgba(0,0,0,0.3);
		z-index:40;
	}

	.dp_barre_bas ul{display:flex;margin:0;padding:0;list-style:none;}
	.dp_barre_bas li{flex:1 1 0;min-width:0;margin:0;}

	html body .dp_barre_bas a{
		position:relative;
		display:flex;
		flex-direction:column;
		align-items:center;
		justify-content:center;
		gap:3px;
		width:100%;
		height:58px;
		padding:4px 2px;
		color:#fff;
		font-size:11.5px;
		line-height:1.1;
		text-align:center;
	}

	.dp_barre_bas li.sur a{background:var(--menu-actif);}

	html body .dp_barre_bas img , .dp_barre_bas .dp_menu_icone{
		width:24px;
		height:24px;
		margin:0;
		object-fit:contain;
		border-radius:6px;
	}

	.dp_barre_bas .dp_menu_icone{color:#fff;border-radius:0;}
	.dp_barre_bas .dp_menu_bouton span{margin:11px 0;}
	.dp_barre_bas font{display:block;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}

	html body .dp_barre_bas font>p{
		position:absolute;
		top:3px;
		left:calc( 50% + 8px );
		min-width:18px;
		height:18px;
		padding:0 4px;
		font-size:11px;
		line-height:18px;
	}

	/* Menu latéral (sans JavaScript : en bas de page) */
	.dp_menu{position:static;width:100%;}
	.dp_menu_reduire{display:none;}

	html.dp_js .dp_menu{
		position:fixed;
		top:0;
		bottom:0;
		left:0;
		width:86%;
		max-width:340px;
		padding-bottom:env(safe-area-inset-bottom);
		transform:translateX(-102%);
		visibility:hidden;
		transition:transform 0.22s ease , visibility 0.22s;
		box-shadow:2px 0 14px rgba(0,0,0,0.45);
		z-index:60;
	}

	html.dp_menu_ouvert .dp_menu{transform:translateX(0);visibility:visible;}

	/* Le menu réduit du PC n'a pas de sens ici */
	html body[data-menu=reduit]{--largeur-menu:0;}
	html body[data-menu=reduit] .menu_principal{overflow-y:auto;}
	html body[data-menu=reduit] .menu_principal>li>a{justify-content:flex-start;padding:7px 16px;}
	html body[data-menu=reduit] .menu_principal>li>a img , html body[data-menu=reduit] .menu_principal>li>a .dp_menu_icone{margin-right:12px;}
	html body[data-menu=reduit] .menu_principal>li>a font{flex:1;width:auto;font-size:15px;}
	html body[data-menu=reduit] .menu_principal>li>a font>p{position:static;min-width:20px;height:20px;padding:0 5px;font-size:12px;line-height:20px;}
	html body[data-menu=reduit] .dp_deplier{display:block;}
	html.dp_js body[data-menu=reduit] .menu_principal>li>ul{position:static;display:none;width:auto;padding:2px 0 6px;box-shadow:none;background:rgba(0,0,0,0.16);border-radius:0;}
	html.dp_js body[data-menu=reduit] .menu_principal>li.dp_ouvert>ul{display:block;}
	html.dp_js body[data-menu=reduit] .menu_principal>li:hover>ul{display:none;}
	html.dp_js body[data-menu=reduit] .menu_principal>li.dp_ouvert:hover>ul{display:block;}
	html body[data-menu=reduit] .menu_principal ul a{padding-left:54px;}
	html body[data-menu=reduit] .connexion_liste_compte a{justify-content:flex-start;padding:8px 18px;font-size:14px;}

	.menu_principal a{min-height:48px;font-size:16px;}
	.menu_principal ul a{min-height:44px;font-size:15px;}
	.dp_deplier{width:52px;height:48px;}
	.dp_deplier:before{top:17px;left:21px;}
	.dp_ouvert>.dp_deplier:before{top:21px;}

	html.dp_js .dp_voile{
		position:fixed;
		display:block;
		top:0;
		right:0;
		bottom:0;
		left:0;
		background:rgba(0,0,0,0.5);
		opacity:0;
		visibility:hidden;
		transition:opacity 0.22s , visibility 0.22s;
		z-index:55;
	}

	html.dp_menu_ouvert .dp_voile{opacity:1;visibility:visible;}

	/* Boutons et champs : taille du doigt, 16px : pas de zoom automatique */
	html body div.bouton_bleu , html body input.bouton_bleu , html body a.bouton_bleu ,
	html body div.bouton_rouge , html body input.bouton_rouge , html body a.bouton_rouge ,
	html body div.bouton_vert , html body input.bouton_vert , html body a.bouton_vert{
		width:100%!important;
		height:auto;
		min-height:46px;
		margin:0 0 10px;
		padding:10px;
		font-size:16px;
	}

	/* Boutons d'action en tête de formulaire : 2 par ligne, le formulaire reste visible */
	html body form>input.image_droit , html body form>input.image_gauche{
		float:left;
		width:48.5%!important;
		min-height:44px;
		margin:0 1.5% 8px 0;
		padding:8px 4px;
		font-size:14px;
	}

	html body a.bouton_rond , html body div.bouton_rond , html body input.bouton_rond{
		display:inline-flex;
		align-items:center;
		justify-content:center;
		width:auto!important;
		min-width:46px;
		margin:0 0 10px 8px;
		padding:6px 10px;
	}

	input[type=text] , input[type=email] , input[type=date] , input[type=time] , input[type=datetime] , input[type=number] ,
	input[type=tel] , input[type=url] , input[type=password] , input[type=search] , select , textarea{
		min-height:44px;
		font-size:16px;
	}

	html body input[type=radio] , html body input[type=checkbox]{width:20px;height:20px;vertical-align:middle;}

	html body .modifier_gris_input , html body .modifier_gris label , html body .double , html body .triple ,
	html body .champs25 , html body .champs33 , html body .champs50 , html body .champs66 , html body .champs75 , html body .champs100{
		width:100%!important;
		margin:8px 0!important;
	}

	html body .modifier_gris{padding:12px;}
	html body .modifier_gris .margin_gauche_100{margin-left:0;}
	html body .decalage_gauche{padding-left:0;}
	.wysiwig{height:80px;}
	.clear_mobile{display:inline;width:100%;}
	.modifier_gris_input.align_right{text-align:left;}
	.tableau_bord_33{width:100%;margin-bottom:20px;}
	.dp_actes_recherche{flex-basis:100%;max-width:none;}
	.dp_actes_boutons , .dp_actes_actions{width:100%;}
	.dp_actes_boutons a , .dp_actes_actions a{flex:1 1 auto;justify-content:center;}
	html body table.dp_actes_liste a.bouton_rond{margin:0 6px 0 0;}

	.dp_scroll_x{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;}


	html body .popup.fixed>div{width:92%;max-width:92%;}

	/* Calendrier de choix de date : au centre */
	html body #ui-datepicker-div{
		position:fixed!important;
		top:50%!important;
		left:50%!important;
		width:92%;
		max-width:340px;
		transform:translate(-50%,-50%);
		font-size:16px;
	}

	html body .ui-datepicker td a , html body .ui-datepicker td span{padding:9px 4px;text-align:center;}

	html body .messagerie_poster_un_message{left:0;bottom:calc( 58px + env(safe-area-inset-bottom) );}

	/* Agenda : pictos principaux, les autres avec le bouton en haut à droite */
	.calendrier_option{
		top:var(--haut-page);
		margin:-14px -12px 0;
		padding:6px 10px;
		gap:5px;
	}

	.picto_affichage{min-width:40px;height:40px;padding:0 4px;}
	.picto_accueil{padding:0 6px;font-size:13px;}
	.picto_affichage span{display:none;}
	.picto_ajouter{padding:0 4px;}

	.dp_agenda_date{flex:0 0 auto;min-width:48px;padding:0 4px;font-size:14px;text-align:center;}
	.dp_agenda_titre_long{display:none;}
	.dp_agenda_titre_court{display:inline;}

	.dp_agenda_vues{gap:5px;}
	.dp_agenda_vues .picto_affichage , .dp_agenda_vues .picto_affichage:first-child , .dp_agenda_vues .picto_affichage:last-child{border-radius:var(--rayon-petit);margin-left:0;padding:0 4px;}
	.dp_agenda_vues .picto_affichage svg{display:block;}

	html.dp_js:not(.dp_agenda_outils) .dp_agenda_secondaires ,
	html.dp_js:not(.dp_agenda_outils) .dp_agenda_vues .picto_periode.picto_affichage_select ,
	html.dp_js:not(.dp_agenda_outils) .dp_agenda_vues .picto_periode[data-periode=mois] ,
	html.dp_js:not(.dp_agenda_outils) .calendrier_option:has(.picto_affichage_select[data-periode=mois]) .picto_periode[data-periode=semaine]{
		display:none;
	}

	html.dp_js:not(.dp_agenda_outils) .agenda_groupe_actes{display:none!important;}

	.dp_agenda_secondaires{gap:5px;}
	.dp_agenda_secondaires .picto_affichage{border-color:var(--bord);}

	.agenda_cadre{
		max-height:calc( 100vh - var(--haut-page) - 60px - 66px );
		max-height:calc( 100dvh - var(--haut-page) - 60px - 66px );
		margin:8px -12px -24px;
		border-width:1px 0 0;
		border-radius:0;
		box-shadow:none;
	}

	.agenda{grid-template-columns:44px repeat( 7 , minmax(100px,1fr) );}
	.agenda.agenda_affichage_jour{grid-template-columns:44px minmax(0,1fr);}
	.agenda_heure div{padding:0 4px;}
	.agenda_heure_rdv{font-size:13px;}
	.agenda_lien_jour{height:calc( ( 100dvh - 260px ) / 7 );}
	.agenda.agenda_affichage_mois{grid-template-columns:22px repeat( 7 , minmax(0,1fr) );}
	.agenda_affichage_mois .agenda_jour_semaine_min{padding:0 1px;}
	.agenda_affichage_mois .agenda_jour_semaine_min a{font-size:10px;letter-spacing:-0.3px;}
	.agenda_nb_rdv{padding:1px 4px;font-size:11px;}

	/* Détail d'un RDV : panneau en bas de l'écran */
	.popup_clic{
		top:auto;
		right:8px;
		bottom:calc( 66px + env(safe-area-inset-bottom) );
		left:8px;
		width:auto;
		max-width:none;
		max-height:60vh;
		font-size:15px;
	}

	.popup_clic .fermer{width:36px;height:36px;line-height:36px;}

}

/* Listes en cartes sur téléphone */
@media screen and (max-width:700px) {

	.conteneur{margin-bottom:0;}
	.corps .menu-principal-ligne{width:46%;}

	html body table.dp_cartes{
		display:block;
		margin:12px 0;
		background:none;
		border:none;
		box-shadow:none;
	}

	html body table.dp_cartes tbody{display:block;}

	html body table.dp_cartes tr{
		display:flex;
		flex-wrap:wrap;
		align-items:center;
		gap:6px 8px;
		margin-bottom:10px;
		padding:12px;
		background:var(--surface);
		border:1px solid var(--bord);
		border-radius:var(--rayon);
		box-shadow:var(--ombre);
	}

	html body table.dp_cartes tr:first-child{margin-bottom:6px;padding:0 4px;background:none;border:none;box-shadow:none;}

	html body table.dp_cartes tr td , html body table.dp_cartes tr td.hide_m , html body table.dp_cartes tr:first-child td{
		display:block;
		width:100%;
		max-width:none;
		padding:0;
		background:none;
		border:none;
		border-radius:0;
		font-size:15px;
	}

	html body table.dp_cartes tr td.dp_vide , html body table.dp_cartes tr:first-child td.dp_sans_tri{display:none;}
	html body table.dp_cartes tr td.patient_bouton{order:9;width:auto;}
	html body table.dp_cartes tr td.dp_carte_lien{order:8;width:auto;}

	html body table.dp_cartes tr td.dp_carte_lien a{
		display:inline-block;
		padding:8px 12px;
		background:var(--accent-pale);
		border-radius:16px;
		font-size:14px;
		font-weight:500;
		color:var(--accent-fonce);
	}

	html body table.dp_cartes td.dp_carte_titre , html body table.dp_cartes td.dp_carte_titre a{font-size:17px;font-weight:700;}
	html body table.dp_cartes td.dp_carte_titre i{font-weight:400;font-size:14px;}

	html body table.dp_cartes td[data-label]:not(.patient_bouton):before{
		content:attr(data-label) " : ";
		color:var(--doux);
		font-size:13px;
	}

	html body table.dp_cartes font.classic{display:none;}
	html body table.dp_cartes font.mobile{display:inline;}

	html body table.liste:not(.dp_cartes) font.classic{display:none;}
	html body table.liste:not(.dp_cartes) font.mobile{display:inline;}

}

/* ==========================================================================
   Mise à jour 16.15 : pagination, popin, enregistrement, infobulles
   ========================================================================== */

/* Une seule pagination pour tout le site (article::pagination) */
html body .pagination{
	display:block;
	float:none;
	clear:both;
	width:100%;
	height:auto;
	margin:14px 0;
	overflow:visible;
	text-align:center;
}

html body .pagination>div{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	justify-content:center;
	gap:6px;
	float:none;
	width:auto;
}

html body .pagination a , html body .pagination .pagination_inactif , html body .pagination .pagination_points{
	display:inline-block;
	float:none;
	width:auto;
	min-width:44px;
	height:44px;
	margin:0;
	padding:0 8px;
	box-sizing:border-box;
	background:var(--surface);
	border:1px solid var(--bord);
	border-radius:var(--rayon-petit);
	color:var(--accent);
	font-size:15px;
	font-weight:600;
	line-height:42px;
	text-align:center;
	transition:none;
}

html body .pagination a:hover{background:var(--accent-pale);color:var(--accent-fonce);border-color:var(--accent);}
html body .pagination a.actif{background:var(--accent);border-color:var(--accent);color:#fff;}
html body .pagination .pagination_inactif{color:var(--doux);opacity:.45;}
html body .pagination .pagination_points{min-width:18px;padding:0;background:transparent;border:0;color:var(--doux);}
html body .pagination .pagination_prec , html body .pagination .pagination_suiv{font-size:22px;line-height:38px;}

html body .pagination .pagination_aller{
	display:inline-flex;
	float:none;
	align-items:center;
	gap:6px;
	width:auto;
	margin:0 0 0 8px;
}

html body .pagination .pagination_aller label{
	display:inline-flex;
	float:none;
	align-items:center;
	gap:6px;
	width:auto;
	margin:0;
	color:var(--doux);
	font-size:14px;
	font-weight:400;
	white-space:nowrap;
}

html body .pagination .pagination_aller input{
	float:none;
	width:76px;
	height:44px;
	margin:0;
	padding:0 6px;
	box-sizing:border-box;
	font-size:15px;
	text-align:center;
}

html body .pagination .pagination_aller button{
	height:44px;
	padding:0 14px;
	background:var(--accent);
	border:0;
	border-radius:var(--rayon-petit);
	color:#fff;
	font:600 14px var(--police);
	cursor:pointer;
}

html body .pagination .pagination_aller button:hover{background:var(--accent-fonce);}

/* Bouton d'enregistrement toujours visible */
html body .dp_barre_enregistrer{
	position:sticky;
	bottom:0;
	z-index:30;
	display:flex;
	clear:both;
	justify-content:flex-end;
	margin:16px 0 0;
	padding:10px 0;
	background:none;
	border:0;
	box-shadow:none;
	pointer-events:none;
}

html body .dp_barre_enregistrer input , html body .dp_barre_enregistrer button{
	pointer-events:auto;
	box-shadow:0 4px 14px rgba(16,24,40,0.22);
	float:none;
	width:auto;
	min-width:170px;
	min-height:44px;
	margin:0;
}

/* Infobulle immédiate */
.dp_infobulle{
	position:fixed;
	left:0;
	top:0;
	z-index:7000;
	display:none;
	max-width:260px;
	padding:5px 9px;
	background:#1d2733;
	border-radius:var(--rayon-petit);
	box-shadow:0 2px 8px rgba(16,24,40,0.3);
	color:#fff;
	font-size:12.5px;
	line-height:1.3;
	pointer-events:none;
	white-space:nowrap;
}

.dp_infobulle.dp_visible{display:block;}

/* Popin */
html.dp_popin_ouvert , html.dp_popin_ouvert body{overflow:hidden;}

.dp_popin{
	position:fixed;
	top:0;
	right:0;
	bottom:0;
	left:0;
	z-index:6000;
	display:flex;
	align-items:center;
	justify-content:center;
	padding:24px;
	box-sizing:border-box;
	background:rgba(16,24,40,0.55);
}

.dp_popin_boite{
	display:flex;
	flex-direction:column;
	width:min(980px,100%);
	height:100%;
	overflow:hidden;
	background:var(--surface);
	border-radius:var(--rayon);
	box-shadow:var(--ombre-forte);
}

.dp_popin_avec_details .dp_popin_boite{width:min(1280px,100%);}

.dp_popin_tete{
	display:flex;
	flex:none;
	align-items:center;
	gap:4px;
	min-height:52px;
	padding:4px 8px 4px 18px;
	box-sizing:border-box;
	border-bottom:1px solid var(--bord);
}

.dp_popin_titre{
	flex:1;
	min-width:0;
	overflow:hidden;
	font-size:16px;
	font-weight:700;
	text-overflow:ellipsis;
	white-space:nowrap;
}

html body .dp_popin_tete button , html body .dp_popin_tete a{
	display:flex;
	flex:none;
	align-items:center;
	justify-content:center;
	width:44px;
	min-width:0;
	height:44px;
	min-height:0;
	margin:0;
	padding:0;
	background:transparent;
	border:0;
	border-radius:var(--rayon-petit);
	box-shadow:none;
	color:var(--doux);
	cursor:pointer;
}

html body .dp_popin_tete button:hover , html body .dp_popin_tete a:hover{background:var(--fond);color:var(--texte);}
.dp_popin_tete svg{width:22px;height:22px;}
html body .dp_popin_tete .dp_popin_infos{display:none;}

.dp_popin_corps{display:flex;flex:1;min-height:0;}
.dp_popin_cadre{position:relative;flex:1;min-width:0;}

.dp_popin_cadre iframe{
	display:block;
	width:100%;
	height:100%;
	background:var(--fond);
	border:0;
}

.dp_popin_charge .dp_popin_cadre iframe{visibility:hidden;}

.dp_popin_attente{
	position:absolute;
	top:50%;
	left:50%;
	display:none;
	width:34px;
	height:34px;
	margin:-17px 0 0 -17px;
	border:3px solid var(--bord);
	border-top-color:var(--accent);
	border-radius:50%;
	animation:dp_tourne .8s linear infinite;
}

.dp_popin_charge .dp_popin_attente{display:block;}

@keyframes dp_tourne{to{transform:rotate(360deg);}}

.dp_popin_details{
	flex:none;
	width:300px;
	box-sizing:border-box;
	padding:14px;
	overflow-y:auto;
	background:var(--surface);
	border-left:1px solid var(--bord);
	font-size:13.5px;
}

.dp_popin_details>a.preview{display:inline-block;padding:6px;}

/* Page ouverte dans une popin : le contenu seul */
html.dp_dans_popin .dp_menu , html.dp_dans_popin .nom_page , html.dp_dans_popin .dp_barre_bas , html.dp_dans_popin .dp_voile{display:none !important;}
html.dp_dans_popin body{padding-bottom:0;}
html.dp_dans_popin .dp_app , html.dp_dans_popin .dp_page{display:block;width:100%;max-width:none;margin:0;padding:0;}
html.dp_dans_popin .dp_barre_enregistrer{bottom:0 !important;}

/* Conversation */
html body .dp_messages_plus{
	display:block;
	width:100%;
	min-height:44px;
	margin:6px 0 14px;
	padding:8px 14px;
	background:var(--surface);
	border:1px dashed var(--accent);
	border-radius:var(--rayon-petit);
	color:var(--accent-fonce);
	font:600 14px var(--police);
	cursor:pointer;
}

html body .dp_messages_plus:hover{background:var(--accent-pale);}
html body .dp_messages_plus:disabled{cursor:progress;opacity:.7;}

/* Pictos blancs de la liste des utilisateurs : pastille de couleur */
html body .npm_liste img{
	box-sizing:content-box;
	width:22px;
	height:22px;
	padding:5px;
	margin:0 12px 0 0;
	max-height:none;
	object-fit:contain;
	background:var(--accent);
	border-radius:50%;
}

html body .npm_liste{display:flex;align-items:center;min-height:44px;box-sizing:border-box;}

@media screen and (max-width:950px) {

	.dp_popin{padding:0;}

	.dp_popin_boite , .dp_popin_avec_details .dp_popin_boite{width:100%;border-radius:0;box-shadow:none;}

	.dp_popin_avec_details .dp_popin_tete .dp_popin_infos{display:flex !important;}

	html body .dp_popin_tete .dp_popin_page{display:none;}

	.dp_popin_corps{position:relative;}

	/* Détail d'un RDV : ouvert à la demande, par-dessus le formulaire */
	.dp_popin_details{
		position:absolute;
		top:0;
		right:0;
		bottom:0;
		z-index:2;
		display:none;
		width:min(320px,90%);
		box-shadow:var(--ombre-forte);
	}

	.dp_popin_details_ouverts .dp_popin_details{display:block;}

	html body .dp_barre_enregistrer{bottom:calc( 60px + env(safe-area-inset-bottom) );}

	html body .dp_barre_enregistrer input , html body .dp_barre_enregistrer button{flex:1;}

	html body .pagination .pagination_aller{margin:4px 0 0;}

}

@media print {

	.dp_barre_enregistrer , .dp_infobulle , .dp_popin{display:none !important;}

}
