/*
 * Mode téléphone (30/09/2026) — voir fonctions/telephone.php et telephone.md.
 *
 * Toutes les règles de mise en page sont sous body.ar2cTel : la classe n'est posée
 * (index.php) que sur un téléphone qui n'a pas choisi « Version ordinateur ». Sur
 * ordinateur et sur tablette, ce fichier ne change donc rien.
 *
 * Beaucoup de !important : les modules écrivent leurs largeurs dans les balises, et le
 * socle (kdSoft.css) fige les lignes de liste en !important.
 */

/* ---------- Cadre de la page ---------- */

body.ar2cTel{
	touch-action:manipulation;          /* pas de zoom au double appui */
	-webkit-text-size-adjust:100%;
}

/* style.css impose 900 px de large minimum : on revient à la largeur de l'écran.
   La page ne défile toujours pas elle-même : c'est la zone de contenu qui défile. */
body.ar2cTel .main{
	min-width:0;
	height:100vh;
	height:100dvh;                      /* hauteur réellement visible, barres du navigateur déduites */
}

/* Le menu passe sous le contenu, en barre d'onglets */
body.ar2cTel .main-body{
	flex-direction:column;
	min-height:0;
}

body.ar2cTel .contenu{
	order:1;
	flex:1 1 auto;
	height:auto;
	min-height:0;
	padding:6px;
}

/* Champs à 16 px : en dessous, l'iPhone zoome sur le champ à chaque saisie */
body.ar2cTel input:not([type=checkbox]):not([type=radio]),
body.ar2cTel select,
body.ar2cTel textarea{
	font-size:16px !important;
}

/* ---------- Barre d'onglets (menu.php) ---------- */

body.ar2cTel .menu{
	order:2;
	display:flex;
	flex-direction:row;
	width:100%;
	height:auto;
	padding:0;
	overflow:hidden;
	flex-shrink:0;
	border-top:1px solid #E5E7EB;
	box-shadow:0 -2px 8px rgba(0,0,0,.06);
}
body.ar2cTel .menu:not(:has(.menuV2Button)){ display:none; }

body.ar2cTel .menu .menuV2Logo,
body.ar2cTel .menu .menuV2Separateur,
body.ar2cTel .menu .menuV2Categorie,
body.ar2cTel .menu .menuV2ButtonBadge{
	display:none !important;
}

body.ar2cTel .menuV2Button{
	position:relative;
	flex:1 1 0;
	min-width:0;
	flex-direction:column;
	justify-content:center;
	gap:3px;
	margin:0;
	padding:6px 2px 8px 2px;
	min-height:58px;
	border-radius:0;
}
body.ar2cTel .menuV2ButtonActive{
	box-shadow:inset 0 3px 0 var(--charteColor1);
}
body.ar2cTel .menuV2ButtonIcon{
	min-width:0;
	height:24px;
	padding:0;
}
body.ar2cTel .menuV2ButtonText{
	flex:0 0 auto;
	justify-content:center;
	min-height:0;
	width:100%;
}
body.ar2cTel .menuV2ButtonText a{
	justify-content:center;
	text-align:center;
	font-size:11.5px;
	line-height:1.15;
	white-space:normal;      /* jusqu'à 4 boutons depuis le plan de charge : « Bord technicien » sur deux lignes */
}
/* Tout le bouton est cliquable, pas seulement son texte */
body.ar2cTel .menuV2ButtonText a::after{
	content:'';
	position:absolute;
	inset:0;
}

/* ---------- En-tête (header.php) ---------- */

/* Le libellé du profil disparaît, ses icônes restent (le texte est à même la balise) */
body.ar2cTel .header divniveau{
	width:auto !important;
	font-size:0 !important;
	padding:0 4px 0 10px;
	flex-shrink:0;
}
body.ar2cTel .header divniveau i{ font-size:18px !important; }
body.ar2cTel .header divnews{ min-width:0; }
body.ar2cTel .header divnews > span{
	letter-spacing:0 !important;
	padding:3px 8px !important;
	white-space:nowrap;
}
body.ar2cTel .header divuser{
	width:auto !important;
	flex-shrink:0;
	padding-right:10px;
}
body.ar2cTel .header li{ padding-left:14px; }
body.ar2cTel .header li i{ font-size:20px; }
/* L'œil « masquer les prix » ne sert qu'à l'écran d'un devis sur ordinateur ; sur la fiche
   du téléphone (le PDF), il relancerait seulement le calcul des totaux du devis */
body.ar2cTel #eyeHeader{ display:none; }
body.ar2cTel .header .headerNomUser,
body.ar2cTel .header divuser li:empty{ display:none; }
body.ar2cTel .menu_user_on{ max-width:calc(100vw - 10px); }

/* ---------- Pied de page (footer.php) ---------- */

body.ar2cTel .footer{
	display:flex;                       /* styleR.css le passe en inline sous 600 px */
	flex-wrap:wrap;
	align-items:center;
	justify-content:space-between;
	gap:4px 10px;
	width:100%;
	height:auto;
	min-height:34px;
	padding:4px 8px;
}
body.ar2cTel .footer{ flex-wrap:nowrap; }
body.ar2cTel .footer > div:first-child{
	flex:1 1 0;
	min-width:0;
	justify-content:flex-start;
	overflow:hidden;
	white-space:nowrap;
	text-overflow:ellipsis;
}
body.ar2cTel .footer > div:first-child,
body.ar2cTel .footer > div:first-child *{ font-size:10.5px; }
body.ar2cTel .footer > div:first-child > span{ overflow:hidden; text-overflow:ellipsis; }
body.ar2cTel #kdParametres{ display:none !important; }

.ar2cTelLienVersion{
	display:inline-flex;
	align-items:center;
	gap:6px;
	min-height:30px;
	padding:0 12px;
	border:1px solid #D1D5DB;
	border-radius:15px;
	background:#FFFFFF;
	color:#374151;
	font-size:12px;
	white-space:nowrap;
}
.ar2cTelLienVersion i{ font-size:12px; }

/* Téléphone passé en version ordinateur : barre de retour en haut de page (index.php, 12/10/2026),
   dans le flux de .main (la pastille fixe d'avant sortait de l'écran sur un vrai téléphone).
   La page fait alors 1024 px de large et le téléphone l'affiche réduite (× 0,35 à 0,42 selon
   l'écran) : 40 px de texte en donnent 14 à 17 à l'écran, 110 px de haut une cible de 40 px. */
.ar2cTelBarreRetour{
	flex:none;
	display:flex;
	align-items:center;
	justify-content:center;
	gap:20px;
	height:110px;
	background:#1F2937;
	color:#FFFFFF;
	font-size:40px;
	font-weight:600;
}
.ar2cTelBarreRetour i{ font-size:40px; color:#FFFFFF; }

/* ---------- Écran refusé sur téléphone (ar2cTelMessage) ---------- */

.ar2cTelRefus{
	display:flex;
	flex-direction:column;
	align-items:center;
	gap:12px;
	width:100%;
	max-width:480px;
	margin:24px auto;
	padding:26px 18px;
	background:#FFFFFF;
	border:1px solid #E5E7EB;
	border-radius:14px;
	text-align:center;
}
.ar2cTelRefusIcone{ font-size:34px !important; color:#2563EB; }
.ar2cTelRefusTitre{ font-size:17px !important; font-weight:700; color:#1F2937; line-height:1.3; }
.ar2cTelRefusTexte{ font-size:14px; color:#4B5563; line-height:1.45; }
.ar2cTelRefusBoutons{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	gap:10px;
	margin-top:6px;
}
.ar2cTelBouton{
	display:inline-flex;
	align-items:center;
	gap:8px;
	min-height:44px;
	padding:0 18px;
	border-radius:10px;
	background:#2563EB;
	color:#FFFFFF;
	font-weight:600;
	cursor:pointer;
}
.ar2cTelBouton i{ font-size:14px; color:inherit; }
.ar2cTelBoutonGris{ background:#F3F4F6; color:#374151; }

/* ---------- Fenêtres (del_screen) ---------- */

/* Des fenêtres du site font jusqu'à 900 px de large : elles restent dans l'écran */
body.ar2cTel .del_screen_on > *{
	max-width:96vw !important;
}

/* ---------- Listes en cartes (listes kdFast) ---------- */
/* Une ligne (.kdLigneList) devient une carte : ses cellules passent à la ligne,
   rangées par la classe de colonne que chaque module leur donne (devisCol…, pv2Col…). */

body.ar2cTel .move_listDevis .kdLigneList,
body.ar2cTel .move_list_prestationV2 .kdLigneList{
	flex-wrap:wrap;
	align-items:baseline;
	gap:3px 10px;
	height:auto !important;
	padding:9px 10px;
	overflow:visible !important;
	border-bottom:1px solid #E5E7EB;
}
body.ar2cTel .move_listDevis .kdColumnList,
body.ar2cTel .move_list_prestationV2 .kdColumnList{
	flex:0 1 auto !important;
	width:auto !important;
	min-width:0;
	height:auto;
	padding:0;
	border:0 !important;
	white-space:normal !important;
	overflow:visible !important;
}

/* Titres de colonne : seuls les champs de recherche utiles sur téléphone restent */
body.ar2cTel #enteteList_listDevis,
body.ar2cTel #enteteList_list_prestationV2{
	flex-wrap:nowrap;
	gap:4px;
	height:auto;
	padding:2px 0;
}
body.ar2cTel #enteteList_listDevis > div,
body.ar2cTel #enteteList_list_prestationV2 > div{
	display:none !important;
}

/* -- Devis : n° · date de création ······ montant / client / projet (date revenue le 12/10/2026) -- */
body.ar2cTel .move_listDevis .devisColStatut,
body.ar2cTel .move_listDevis .devisColSite,
body.ar2cTel .move_listDevis .devisColUser,
body.ar2cTel .move_listDevis .devisColOpen{
	display:none !important;
}
body.ar2cTel .move_listDevis .devisColNum{ order:1; font-weight:700; color:#1F2937; }
body.ar2cTel .move_listDevis .devisColDate{ order:2; color:#6B7280; font-size:12px; }
body.ar2cTel .move_listDevis .devisColMontant{ order:3; margin-left:auto; font-weight:700; white-space:nowrap !important; }
body.ar2cTel .move_listDevis .devisColClient{ order:4; flex:1 1 100% !important; }
body.ar2cTel .move_listDevis .devisColProjet{ order:5; flex:1 1 100% !important; color:#6B7280; font-size:13px; }

body.ar2cTel #enteteList_listDevis > div:has(> input#numAffiche){ display:flex !important; flex:0 0 26% !important; width:auto !important; }
body.ar2cTel #enteteList_listDevis > div:has(> input#client_nom),
body.ar2cTel #enteteList_listDevis > div:has(> input#projet){ display:flex !important; flex:1 1 0 !important; width:auto !important; }

/* Toute la carte ouvre le devis (étape 3) : le lien du n° la couvre entière */
body.ar2cTel .move_listDevis .kdLigneList{ position:relative; }
body.ar2cTel .move_listDevis .devisColNum a::after{ content:''; position:absolute; inset:0; }

/* « Nouveau devis » : un devis se crée sur ordinateur (sur téléphone, la fiche n'est que
   son PDF) ; le réglage de persistance des filtres n'y a pas d'utilité */
body.ar2cTel #bordDevisV3 [onclick*="addUp-"],
body.ar2cTel #bordDevisV3 [onclick*="kdToggleFilterPersist"]{
	display:none !important;
}

/* -- Prestations : n° · MES ······ pilote technique · avancement / client / projet (MES le 20/10/2026) -- */
body.ar2cTel .move_list_prestationV2 .pv2ColDate,
body.ar2cTel .move_list_prestationV2 .pv2ColCom{
	display:none !important;
}
body.ar2cTel .move_list_prestationV2 .pv2ColNum{ order:1; font-weight:700; color:#1F2937; }
body.ar2cTel .move_list_prestationV2 .pv2ColMes{ order:1; }
body.ar2cTel .move_list_prestationV2 .pv2ColTech{ order:2; margin-left:auto; }
body.ar2cTel .move_list_prestationV2 .pv2ColPresta{ order:3; }
body.ar2cTel .move_list_prestationV2 .pv2ColClient{ order:4; flex:1 1 100% !important; }
body.ar2cTel .move_list_prestationV2 .pv2ColProjet{ order:5; flex:1 1 100% !important; color:#6B7280; font-size:13px; }

body.ar2cTel #enteteList_list_prestationV2 > div:has(> input#id){ display:flex !important; flex:0 0 22% !important; width:auto !important; }
body.ar2cTel #enteteList_list_prestationV2 > div:has(> input#societe),
body.ar2cTel #enteteList_list_prestationV2 > div:has(> input#projet){ display:flex !important; flex:1 1 0 !important; width:auto !important; }
body.ar2cTel #enteteList_list_prestationV2 > div:has(> input#id_technicien){ display:flex !important; flex:0 0 20% !important; width:auto !important; }

/* ---------- Entêtes des modules ---------- */

/* Prestations (prestationV2Bord.php) : les vues Affaires / R&D passent sous le titre,
   l'engrenage des réglages disparaît */
body.ar2cTel div:has(> div > .pv2Vues){ padding:10px 12px !important; }
body.ar2cTel div:has(> .pv2Vues){ flex-wrap:wrap; row-gap:10px; }
body.ar2cTel .pv2Vues{ order:5; width:100%; }
body.ar2cTel .pv2Vue{ flex:1 1 0; justify-content:center; }
body.ar2cTel #pv2RegBtn{ display:none !important; }

/* Bord technicien (techBord.php) : le sélecteur passe sous le titre, les tuiles prennent
   toute la largeur */
body.ar2cTel div:has(> div > div > #techSelect){ padding:10px 12px !important; }
body.ar2cTel div:has(> div > #techSelect){ flex-wrap:wrap; row-gap:10px; }
body.ar2cTel div:has(> #techSelect){ width:100%; }
body.ar2cTel #techSelect{ flex:1 1 auto; }
body.ar2cTel div:has(> div > #techTuileProjets){ padding:8px !important; }
body.ar2cTel #techTuileProjets,
body.ar2cTel #techTuileTravail,
body.ar2cTel #techTuileSoustraitance{
	width:100% !important;
}

/* ---------- Fiche Prestations (pages/prestationV2/fiche-*) ---------- */
/* Étape 1 (30/09) : la fiche ramenée dans l'écran. Étape 2 (01/10) : mise en forme pour le
   téléphone — en-tête compact, onglets en 5 colonnes collées en haut, cartes, cibles de
   44 px, menus de choix en volet au bas de l'écran. Présentation seulement : aucune action
   ajoutée ni retirée. Mesures et choix : telephone.md, section « Étape 2 ». */

/* L'entête du module (Prestations V2 · Affaires | R&D, environ 110 px qui ne défilent pas)
   disparaît pendant qu'une fiche est ouverte : le Retour de la fiche en tient lieu */
body.ar2cTel div:has(> #prestationV2Contenu #pv2Onglet) > div:has(> div > .pv2Vues){ display:none !important; }
/* Tirer vers le bas dans la fiche ne recharge pas la page (retour au 1er onglet, note perdue) */
body.ar2cTel #prestationV2Contenu{ overscroll-behavior-y:contain; }

/* -- En-tête de fiche (fiche-SrvPage.php, styles en ligne) : Retour + titre, puis boutons -- */
body.ar2cTel .pv2FicheEntete{ padding:6px 10px 10px !important; }
body.ar2cTel .pv2FicheEnteteLigne{ flex-wrap:wrap; gap:6px 8px !important; }
body.ar2cTel .pv2FicheRetour{
	display:flex; align-items:center; gap:6px;
	min-height:44px; padding-right:4px;
	font-size:15px !important;
}
body.ar2cTel .pv2FicheRetour i{ font-size:16px; }
body.ar2cTel .pv2FicheTitre{ flex:1 1 100% !important; order:2; min-width:0; }
body.ar2cTel .pv2FicheTitre > div:first-child{ font-size:17px !important; line-height:1.3; overflow-wrap:anywhere; }
body.ar2cTel .pv2FicheTitre > div:last-child{ font-size:13px !important; line-height:1.35; margin-top:3px !important; }
/* Dossier technique (pv2BoutonDossier) et DOE à droite du Retour */
body.ar2cTel #pv2DossierZone{ order:1; margin-left:auto; flex:0 1 auto !important; min-width:0; }
body.ar2cTel #pv2DossierZone > :first-child{ min-height:40px; font-size:14px !important; }
body.ar2cTel #pv2DossierZone > .hand:not(:first-child){
	display:flex; align-items:center; justify-content:center;
	width:40px; height:40px; padding:0 !important;
	color:#6B7280 !important; background:#FFFFFF !important;   /* le survol (onmouseover) reste accroché au doigt */
}
body.ar2cTel #pv2DoeBouton{ order:1; min-height:40px; padding:0 14px !important; font-size:14px !important; }
body.ar2cTel .pv2DosLong{ display:none; }   /* « Dossier technique » → « Dossier » : la ligne tient avec le DOE */

/* -- Bandeau contrat et « À savoir » -- */
body.ar2cTel .pv2FicheBandes{ padding:8px 8px 0 !important; }
/* Rien d'épinglé : la bande n'affiche qu'une aide de 3 lignes, elle se retire sur téléphone */
body.ar2cTel .pv2Savoir:not(:has(.pv2SavoirLigne)){ display:none; }
/* Pleine, elle ne dépasse pas 40 % de l'écran et défile : une longue consigne (un mail
   collé) repoussait les onglets à deux écrans */
body.ar2cTel .pv2Savoir{ padding:10px 12px; max-height:40vh; max-height:40dvh; overflow-y:auto; }
body.ar2cTel .pv2SavoirTitre{ font-size:11.5px; }
body.ar2cTel .pv2SavoirLigne{ flex-wrap:wrap; }
body.ar2cTel .pv2SavoirTexte{ flex:1 1 calc(100% - 24px); font-size:14px; }
body.ar2cTel .pv2SavoirQui{ flex:1 1 100%; padding-left:19px; white-space:normal; font-size:12px; }
body.ar2cTel .pv2SavoirLien{ display:inline-flex; align-items:center; min-height:44px; padding-left:12px; font-size:12px; }
/* Épingle (désépingler) : cible agrandie sans déplacer le texte */
body.ar2cTel .pv2SavoirPin{ position:relative; }
body.ar2cTel .pv2SavoirPin::after{ content:''; position:absolute; inset:-14px -6px -14px -12px; }

/* -- Barre d'onglets : 5 colonnes (icône + nom), collée en haut pendant le défilement -- */
body.ar2cTel #prestationV2Contenu .kd-tabs{ padding:8px 8px 12px !important; }
body.ar2cTel #prestationV2Contenu .kd-tabs-nav{
	position:sticky; top:0; z-index:5;
	overflow:visible; scrollbar-width:none;
	background:var(--kdGreyLL, #F1F5F9);
}
body.ar2cTel #prestationV2Contenu .kd-tab{
	position:relative;
	flex:1 1 0; min-width:0;
	flex-direction:column; gap:3px;
	min-height:52px; padding:7px 2px 6px;
}
body.ar2cTel #prestationV2Contenu .kd-tab > i{ font-size:17px; }
body.ar2cTel #prestationV2Contenu .kd-tab > span:not(.pv2TabNb){
	max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
	font-size:11px; line-height:1.2;
}
/* « Planification » et « Information » ne tiennent pas : libellé court (data-court) */
body.ar2cTel #prestationV2Contenu .kd-tab > span[data-court]{ font-size:0 !important; }
body.ar2cTel #prestationV2Contenu .kd-tab > span[data-court]::after{ content:attr(data-court); font-size:11px; }
/* Pastille du nombre (son display reste piloté par pv2Pastille) */
body.ar2cTel #prestationV2Contenu .pv2TabNb{
	position:absolute; top:3px; left:calc(50% + 6px);
	min-width:18px; height:18px; padding:0 4px; font-size:11px;
}
body.ar2cTel #prestationV2Contenu .kd-tabs-end{ display:none; }
/* z-index:auto : sinon les menus en volet, posés dans l'onglet, passaient sous la barre collée */
body.ar2cTel #prestationV2Contenu #pv2Onglet{ padding:8px; z-index:auto; }

/* -- Onglet Prestation : tuiles deux par rangée -- */
body.ar2cTel .pv2CarteTuiles{ padding:8px !important; }
body.ar2cTel .pv2Tuiles{ gap:8px !important; }
body.ar2cTel .pv2Tuile{ flex:0 0 calc(50% - 4px); min-width:0; padding:8px 8px 9px 12px; }
body.ar2cTel .pv2Tuile:hover{ transform:none; border-color:#E5E7EB; box-shadow:0 1px 3px rgba(15,23,42,0.05); }
body.ar2cTel .pv2Tuile:hover::before{ width:4px; }
body.ar2cTel .pv2TuileLabel{ font-size:11.5px; overflow:hidden; text-overflow:ellipsis; }
body.ar2cTel .pv2TuileValeur{ margin-top:3px; line-height:1.2; }
body.ar2cTel .pv2TuileValeur > span:first-child{ font-size:20px; font-weight:700; }
body.ar2cTel .pv2TuileVendu{ font-size:13px; }
body.ar2cTel .pv2TuileBarre{ margin-top:6px; }
body.ar2cTel .pv2TuilePassage,
body.ar2cTel .pv2TuilePassage i{ font-size:12px; }
body.ar2cTel .pv2TuilePassage{ margin-top:6px; white-space:normal; }

/* -- Onglet Prestation : une carte par prestation, la case « terminée » à côté du nom -- */
body.ar2cTel .pv2CarteListe{ margin-top:8px !important; }
body.ar2cTel .pv2Bloc{ padding:8px 12px; font-size:12px; }
body.ar2cTel .pv2Texte{ padding:7px 12px 7px 14px; font-size:13.5px; }
body.ar2cTel .pv2Texte:has(+ .pv2Texte){ padding-bottom:1px; }
body.ar2cTel .pv2Texte + .pv2Texte{ padding-top:1px; }
body.ar2cTel .pv2Ligne{ flex-wrap:wrap; align-items:center; gap:8px 10px; padding:10px 10px 10px 14px; }
body.ar2cTel .pv2Etat{ display:contents; }   /* sa jauge et sa case se rangent dans la ligne */
body.ar2cTel .pv2LigneNom{ order:1; flex:1 1 calc(100% - 54px) !important; min-width:0; font-size:15px; line-height:1.35; overflow-wrap:anywhere; }
body.ar2cTel .pv2Coche{ order:2; width:42px; height:42px; border:2px solid #9CA3AF; border-radius:10px; color:#D1D5DB; }
body.ar2cTel .pv2Coche i{ font-size:18px; }
/* Le survol reste accroché au doigt : après un appui, la case montrait l'état inverse */
body.ar2cTel .pv2Coche:hover{ border-color:#9CA3AF; background:#FFFFFF; color:#D1D5DB; }
body.ar2cTel .pv2CocheOk,
body.ar2cTel .pv2CocheOk:hover{ border-color:#10B981; background:#10B981; color:#FFFFFF; }
body.ar2cTel .pv2LigneQte{ order:3; width:auto; margin-right:0; text-align:left; font-size:14px; }
body.ar2cTel .pv2Ligne > .pv2AssBtn{ order:4; }
body.ar2cTel .pv2Ligne > .pv2Taches{ order:5; }
body.ar2cTel .pv2Avct{
	order:6; flex:1 1 90px; width:auto;
	display:flex; align-items:center; gap:8px;
	min-height:40px; padding:0 10px;
	border:1px solid #E5E7EB; border-radius:8px;
}
body.ar2cTel .pv2AvctBarre{ flex:1 1 auto; height:6px; }
body.ar2cTel .pv2AvctTxt{ margin-top:0; min-width:34px; font-size:12px; text-align:right; }
body.ar2cTel .pv2Taches{ min-height:40px; padding:0 10px; border:1px solid #E5E7EB; border-radius:8px; font-size:13px; }
body.ar2cTel .pv2AssBtn{ position:relative; width:32px; height:32px; font-size:11px; }
body.ar2cTel .pv2AssBtn::after{ content:''; position:absolute; inset:-6px; }   /* cible de 44 px */

/* Tâches d'une prestation (zone dépliée sous la ligne ; son display est piloté par le JS) */
body.ar2cTel .pv2Zone{ padding:4px 10px 10px 14px; }
body.ar2cTel .pv2FTache{ align-items:center; gap:10px; padding:4px 2px; }
body.ar2cTel .pv2FCase{ position:relative; width:28px; height:28px; margin-top:0; border-width:2px; border-radius:7px; }
body.ar2cTel .pv2FCase::after{ content:''; position:absolute; inset:-8px; }
body.ar2cTel .pv2FNom{ padding:8px; background:#FFFFFF; border:1px solid #E5E7EB !important; border-radius:8px; }
body.ar2cTel .pv2FAjout{ min-height:40px; padding:0 12px 0 8px; font-size:14px; }

/* -- Onglet Matériel : une carte par article, réf. et quantité / désignation / suivi -- */
body.ar2cTel .pv2MatCols{ display:none !important; }   /* titres de colonnes : repris en étiquettes */
body.ar2cTel .pv2MatLigne{ flex-wrap:wrap; align-items:baseline; gap:2px 14px; padding:8px 12px; border-bottom:1px solid #E5E7EB; }
body.ar2cTel .pv2MatLigne:last-child{ border-bottom:none; }
body.ar2cTel .pv2MatLigne:hover{ background:transparent; }
body.ar2cTel .pv2MatRef{
	flex:1 1 auto !important; width:auto !important; min-width:0;
	font-size:12px; white-space:normal !important; overflow:visible; text-overflow:clip; overflow-wrap:anywhere;
}
body.ar2cTel .pv2MatRef:empty{ display:none; }   /* ligne de texte du devis : le texte prend toute la largeur */
body.ar2cTel .pv2MatQte{ width:auto; font-size:14px; color:#1F2937; }
body.ar2cTel .pv2MatQte::before{ content:'Qté\00a0'; font-size:12px; font-weight:400; color:#6B7280; }
body.ar2cTel .pv2MatNom{ order:3; flex:1 1 100% !important; width:auto !important; font-weight:500; overflow-wrap:anywhere; }
body.ar2cTel .pv2MatSuivi{ order:4; flex:0 1 auto !important; width:auto !important; min-width:0; text-align:left; font-size:13px; }
body.ar2cTel .pv2MatLigne > .pv2MatSuivi::before{ font-size:12px; font-weight:400; color:#6B7280; }
body.ar2cTel .pv2MatLigne > .pv2MatSuivi:nth-child(4)::before{ content:'Commandé\00a0'; }
body.ar2cTel .pv2MatLigne > .pv2MatSuivi:nth-child(5)::before{ content:'Reçu\00a0'; }
body.ar2cTel .pv2MatLigne > .pv2MatSuivi:nth-child(6)::before{ content:'Livré\00a0'; }
body.ar2cTel .pv2MatTexte{ flex:1 1 100%; font-size:13.5px; color:#4B5563; }
body.ar2cTel .pv2MatBloc,
body.ar2cTel .pv2MatBloc > div{ font-size:12px; }
body.ar2cTel .pv2MatBloc{ padding:9px 12px; }

/* -- Onglet Information : cartes pleine largeur, carte et téléphone en vrais boutons -- */
body.ar2cTel .pv2InfCartes{ gap:10px; }
body.ar2cTel .pv2InfCarte{ flex:1 1 100%; min-width:0; }
body.ar2cTel .pv2InfTitre{ padding:10px 12px; font-size:14px; }
body.ar2cTel .pv2InfCorps{ padding:12px; gap:10px; }
body.ar2cTel .pv2InfLigne,
body.ar2cTel .pv2InfValeur{ font-size:14px; }
body.ar2cTel .pv2InfLibelle{ width:64px; padding-top:2px; font-size:12px; }
body.ar2cTel .pv2InfCarteLien{
	align-self:stretch; justify-content:center;
	min-height:44px; padding:0 14px; border-radius:10px;
	background:#EFF6FF; font-size:15px; font-weight:600;
}
body.ar2cTel .pv2InfModifiable{ min-height:44px; }
body.ar2cTel .pv2InfModifiable:hover{ background:transparent; }
body.ar2cTel .pv2InfChevron{ font-size:12px; color:#9CA3AF; }   /* « se change » : visible sans survol */
body.ar2cTel .pv2InfPersonneNom{ font-size:14px; }
body.ar2cTel .pv2InfPersonneRole,
body.ar2cTel .pv2InfPersonneAlerte,
body.ar2cTel .pv2InfPastille{ font-size:12px; }
body.ar2cTel .pv2InfSepare .pv2InfAjout{ min-height:44px; padding:0 12px; border:1px solid #BFDBFE; border-radius:8px; font-size:13px; }
body.ar2cTel .pv2InfContact{ padding-top:10px; border-top:1px solid #F3F4F6; }
body.ar2cTel .pv2InfContactPoste{ font-size:12.5px; }
body.ar2cTel .pv2InfContactLiens{ gap:8px; margin-top:8px; }
body.ar2cTel .pv2InfLien{ font-size:14px; }
body.ar2cTel .pv2InfLien i{ font-size:13px; color:#2563EB; }
body.ar2cTel .pv2InfLien[href^="tel:"]{
	order:-1; min-height:44px; padding:0 14px;
	border:1px solid #BFDBFE; border-radius:10px; background:#EFF6FF;
	font-size:15px; font-weight:600;
}
body.ar2cTel .pv2InfLien[href^="mailto:"]{ flex:1 1 100%; min-height:44px; white-space:normal; overflow-wrap:anywhere; }
body.ar2cTel .pv2InfRole{ min-height:44px; padding:8px; margin-left:0; border-color:#E5E7EB; background:#FFFFFF; }
body.ar2cTel .pv2InfRole:focus{ border-color:#14B8A6; }
/* « .pv2InfContact:hover .pv2InfRole » (survol accroché au doigt) effaçait le cadre */
body.ar2cTel .pv2InfContact .pv2InfRole{ border-color:#E5E7EB; }
body.ar2cTel .pv2InfContact .pv2InfRole:focus{ border-color:#14B8A6; }

/* -- Onglet Planification : une carte par jalon (nom / dates / fiabilité et source) -- */
body.ar2cTel .pv2JlnAjout{ display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); gap:8px; padding:10px; }
body.ar2cTel #pv2JlnType,
body.ar2cTel #pv2JlnPrecisionNew{ grid-column:1 / -1; width:100% !important; min-width:0 !important; min-height:44px; }
body.ar2cTel #pv2JlnDateNew,
body.ar2cTel #pv2JlnFinNew{ width:100%; min-width:0; min-height:44px; }
body.ar2cTel .pv2JlnAjout .pv2JlnAjouter{ grid-column:1 / -1; justify-content:center; min-height:44px; font-size:15px; }
body.ar2cTel .pv2JlnLigne{ padding:10px; }
body.ar2cTel .pv2JlnHaut{
	display:grid; grid-template-columns:34px auto minmax(0,1fr);
	grid-template-areas:"ori nom nom" "dat dat dat" "fia fia src";
	gap:8px; align-items:center;
}
body.ar2cTel .pv2JlnOrigine{ grid-area:ori; width:34px; height:34px; font-size:14px; }
body.ar2cTel .pv2JlnHaut > .pv2JlnNom{ grid-area:nom; min-width:0; font-size:15px; font-weight:600; line-height:1.3; }
body.ar2cTel .pv2JlnPrecision{ display:block; width:100%; min-height:44px; margin-top:2px; padding:4px 0; }
/* Largeur fixe de 335 px (dépassait l'écran dès 375 px de large) : sur toute la largeur */
body.ar2cTel .pv2JlnDates{ grid-area:dat; width:auto !important; flex-wrap:nowrap; gap:4px; min-width:0; }
body.ar2cTel .pv2JlnDate{ flex:1 1 0; min-width:0; min-height:44px; padding:6px; }
body.ar2cTel .pv2JlnFinX{ display:inline-flex; align-items:center; justify-content:center; width:32px; height:44px; padding:0; font-size:22px; }
body.ar2cTel .pv2JlnFiab{ grid-area:fia; }
body.ar2cTel .pv2JlnCran{ width:44px; height:40px; font-size:17px; }
body.ar2cTel .pv2JlnSource{ grid-area:src; max-width:none; min-width:0; min-height:44px; }
body.ar2cTel .pv2JlnSource,
body.ar2cTel .pv2JlnSource *{ font-size:13px; }
body.ar2cTel .pv2JlnSource > span{ white-space:nowrap; flex-shrink:0; }
body.ar2cTel .pv2JlnSource > span:first-of-type{ flex-shrink:1; min-width:0; }
body.ar2cTel .pv2JlnCommentaire{ margin-top:8px; padding-left:0; font-size:13px; color:#6B7280; }
body.ar2cTel .pv2JlnPanneau.pv2JlnPanneauOuvert{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); grid-auto-flow:row dense; }
body.ar2cTel .pv2JlnPanneau .pv2JlnChamp{ width:100% !important; min-width:0; min-height:44px; }
body.ar2cTel .pv2JlnPanneau input[type=text]{ grid-column:1 / -1; }
body.ar2cTel .pv2JlnPanneau .pv2JlnAjouter{ grid-column:1 / -1; justify-content:center; min-height:44px; font-size:15px; }
/* Créneau du plan de charge : il ouvre de nouveau le plan de charge, disponible sur téléphone
   en lecture depuis le 01/10/2026 (coupé du 30/09 au 01/10) */
body.ar2cTel .pv2JlnCren{ display:grid; grid-template-columns:auto minmax(0,1fr); gap:4px 10px; align-items:start; padding:10px; }
body.ar2cTel .pv2JlnCrenIcone{ grid-row:1 / span 3; width:34px; height:34px; font-size:14px; }
body.ar2cTel .pv2JlnCren > .pv2JlnNom{ min-width:0; font-size:15px; font-weight:600; }
body.ar2cTel .pv2JlnCrenQui{ font-size:13px; font-weight:400; }
body.ar2cTel .pv2JlnCrenQuand{ width:auto !important; min-width:0; font-size:14px; }
body.ar2cTel .pv2JlnCrenSource,
body.ar2cTel .pv2JlnCrenSource i,
body.ar2cTel .pv2JlnPied{ font-size:12px; }

/* -- Onglet Journal : saisie et boutons à la taille du doigt -- */
body.ar2cTel .pv2JnlSaisie{ padding:10px; }
body.ar2cTel .pv2JnlTexteSaisie{ min-height:104px; line-height:1.4; }
body.ar2cTel .pv2JnlBarre{ gap:8px; }
body.ar2cTel .pv2JnlChoix{ flex:1 1 calc(50% - 4px); justify-content:center; min-height:44px; padding:6px 4px; white-space:nowrap; font-size:14px; }
body.ar2cTel .pv2JnlChoix i{ font-size:14px; }
body.ar2cTel .pv2JnlEpingleCase{ min-height:44px; padding-right:6px; gap:8px; font-size:14px; }
body.ar2cTel .pv2JnlEpingleCase input{ width:22px; height:22px; }
body.ar2cTel .pv2JnlEnvoyer{ min-width:150px; min-height:44px; justify-content:center; font-size:15px; }
body.ar2cTel .pv2JnlDetail.pv2JnlDetailOuvert{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); grid-auto-flow:row dense; gap:8px; }
body.ar2cTel .pv2JnlDetail .pv2JnlChamp{ width:100%; min-width:0 !important; min-height:44px; }
body.ar2cTel #pv2JnlInterlocuteur{ grid-column:1 / -1; }
body.ar2cTel .pv2JnlEnteteFil,
body.ar2cTel .pv2JnlEnteteFil span{ font-size:13px; }
body.ar2cTel .pv2JnlNote{ padding:8px 10px 10px 12px; }
body.ar2cTel .pv2JnlEntete{ gap:4px 6px; margin-bottom:4px; }
body.ar2cTel .pv2JnlType{ font-size:11px; }
body.ar2cTel .pv2JnlMeta{ order:1; flex:1 1 100%; font-size:12.5px; }
/* Boutons d'une note : visibles sans survol (3 classes : « .pv2JnlNote:hover .pv2JnlAct » passerait devant) */
body.ar2cTel .pv2JnlNote .pv2JnlAct{ display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; padding:0; margin:-8px 0; color:#6B7280; }
body.ar2cTel .pv2JnlNote .pv2JnlAct i{ font-size:16px; }
body.ar2cTel .pv2JnlTexte{ font-size:15px; line-height:1.5; }
body.ar2cTel .pv2JnlEdit{ min-height:150px; line-height:1.45; }
body.ar2cTel .pv2JnlPied,
body.ar2cTel .pv2JnlPied span{ font-size:12px; }
body.ar2cTel .pv2JnlOrigineTitre,
body.ar2cTel .pv2JnlOrigineTitre i{ font-size:11px; }

/* -- Corbeilles (choix de Loïc, 01/10/2026) : sur téléphone, celles de la fiche disparaissent.
      Tâche, jalon et contact se suppriment au double appui sans confirmation, les heures d'un
      seul appui (la saisie de n'importe qui) : trop facile à toucher par erreur au doigt. La
      suppression reste sur ordinateur. Seule la note du journal garde la sienne : une note
      supprimée descend en gris au bas du fil et se remet. Une tâche se retire encore en
      vidant son intitulé. -- */
body.ar2cTel .pv2FSuppr,
body.ar2cTel .pv2InfSuppr,
body.ar2cTel .pv2JlnPoubelle,
body.ar2cTel .pv2HDel{ display:none !important; }

/* -- Menus de choix (affectation, avancement, pilote, commercial) : volet au bas de l'écran.
      Placés en JS sous le bouton (top/left en ligne) : les !important passent devant. Leur
      display reste piloté par le JS (show/hide). -- */
body.ar2cTel #pv2MenuUser,
body.ar2cTel #pv2AvctMenu,
body.ar2cTel #pv2InfMenuPilote,
body.ar2cTel #pv2InfMenuCommercial{
	top:auto !important; left:8px !important; right:8px !important;
	bottom:calc(8px + env(safe-area-inset-bottom)) !important;
	min-width:0 !important;
	max-height:70vh !important; max-height:70dvh !important;
	overflow-y:auto !important; overscroll-behavior:contain;
	padding:6px; border-radius:14px;
	box-shadow:0 -6px 28px rgba(15,23,42,0.28);
}
body.ar2cTel .pv2MenuItem,
body.ar2cTel .pv2InfMenuItem{ min-height:46px; padding:8px 12px; font-size:15px; white-space:normal; }
body.ar2cTel .pv2MenuInit,
body.ar2cTel .pv2InfMenuInit{ width:30px; height:30px; font-size:11px; }
body.ar2cTel .pv2MenuTitre,
body.ar2cTel .pv2HChiffreLabel,
body.ar2cTel .pv2HChampLabel{ font-size:11.5px; }
/* Paliers d'avancement : quatre par rangée au lieu d'une colonne de onze */
body.ar2cTel #pv2AvctMenu{ font-size:0; }
body.ar2cTel .pv2AvctItem{
	display:inline-flex; align-items:center; justify-content:center; vertical-align:top;
	width:calc(25% - 4px); min-height:46px; margin:2px; font-size:15px;
}

/* -- Fenêtres de la fiche (heures, dossier, contacts : kdo-minfo dans del_screen) --
      index.php pose top et height en ligne, figés à l'ouverture : en fixed sur tout l'écran,
      la fenêtre suit la barre du navigateur, la rotation et le clavier. */
body.ar2cTel #del_screen.del_screen_on{
	position:fixed !important;
	top:0 !important; left:0 !important; right:0 !important; bottom:0 !important;
	height:auto !important;
	padding:8px 8px calc(8px + env(safe-area-inset-bottom));
	overscroll-behavior:contain;
}
body.ar2cTel #del_screen.del_screen_on > .kdo-minfo-modal{ width:100% !important; max-width:100% !important; flex-shrink:0; }
body.ar2cTel .kdo-minfo-header{ padding:12px 12px 12px 14px; gap:10px; }
body.ar2cTel .kdo-minfo-header-icon{ width:36px; height:36px; }
body.ar2cTel .kdo-minfo-header-close{ width:44px; height:44px; flex-shrink:0; }
body.ar2cTel .kdo-minfo-body{ padding:14px; }
body.ar2cTel .kdo-minfo-footer{ flex-wrap:wrap; gap:8px; padding:10px 12px; }
body.ar2cTel .kdo-minfo-footer .kdo-minfo-btn{ flex:1 1 auto; justify-content:center; min-height:44px; }
/* Heures : date et heures côte à côte, commentaire puis « Ajouter » en pleine largeur */
body.ar2cTel .pv2HChiffres{ gap:6px; padding:10px 12px; }
body.ar2cTel .pv2HListe{ max-height:34vh; max-height:34dvh; padding:4px 12px 10px; }
body.ar2cTel .pv2HLigne{ flex-wrap:wrap; gap:2px 10px; }
body.ar2cTel .pv2HDate{ width:auto; }
body.ar2cTel .pv2HVal{ width:auto; margin-left:auto; }
body.ar2cTel .pv2HComm{ order:5; flex:1 1 100%; }
body.ar2cTel .pv2HForm{ flex-wrap:wrap; gap:8px; padding:12px; }
body.ar2cTel .pv2HForm > .pv2HChamp{ flex:1 1 40% !important; width:auto !important; min-width:0; }
body.ar2cTel .pv2HForm > .pv2HChamp:nth-child(3){ flex-basis:100% !important; }
body.ar2cTel .pv2HInput{ width:100%; min-height:44px; }
body.ar2cTel .pv2HForm > .kdo-minfo-btn{ flex:1 1 100%; justify-content:center; min-height:44px; }
/* Dossier technique */
body.ar2cTel .pv2DosBody{ padding:14px; }
body.ar2cTel .pv2DosCherche{ flex-wrap:wrap; }
body.ar2cTel .pv2DosChercheBtn{ flex:1 1 100%; justify-content:center; min-height:44px; }

/* Messages (kdToast) : en haut, sur toute la largeur, au lieu de collés au bord */
body.ar2cTel .kd-toast{ left:10px; right:10px; top:10px; justify-content:center; }

/* ---------- Fiche d'un devis sur téléphone (pages/devisV3/telephone-devis.php) ---------- */
/* Étape 3 (01/10/2026) : un en-tête court, puis le PDF du devis dessiné page par page (PDF.js) */

.ar2cTelDevis{ width:100%; }
.ar2cTelDevisEntete{
	padding:6px 12px 12px;
	background:#FFFFFF;
	border:1px solid #E5E7EB;
	border-radius:12px;
}
.ar2cTelDevisRetour{
	display:inline-flex; align-items:center; gap:6px;
	min-height:44px; padding-right:12px;
	color:#6B7280; font-size:15px;
}
.ar2cTelDevisRetour i{ font-size:16px; color:#6B7280; }
.ar2cTelDevisTitre{ font-size:17px; font-weight:700; color:#1F2937; line-height:1.3; overflow-wrap:anywhere; }
.ar2cTelDevisSous,
.ar2cTelDevisSous span{ margin-top:3px; font-size:13px; color:#6B7280; }
.ar2cTelDevisChiffres{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:10px; }
.ar2cTelDevisStatut{ padding:3px 10px; border:1px solid; border-radius:12px; font-size:12px; font-weight:600; }
.ar2cTelDevisMontant{ font-size:17px; font-weight:700; color:#1F2937; white-space:nowrap; }
.ar2cTelDevisNote,
.ar2cTelDevisNote i{ font-size:12px; color:#6B7280; }
.ar2cTelDevisNote{ display:flex; gap:6px; align-items:baseline; margin-top:8px; line-height:1.4; }

.ar2cTelPdf{ display:flex; flex-direction:column; gap:10px; margin-top:10px; }
.ar2cTelPdfPage{
	display:block; width:100%; height:auto;
	background:#FFFFFF;
	box-shadow:0 1px 4px rgba(15,23,42,0.15);
}
.ar2cTelPdfAttente,
.ar2cTelPdfErreur{ padding:30px 16px; text-align:center; font-size:14px; color:#6B7280; line-height:1.45; }
.ar2cTelPdfAttente i{ margin-right:6px; font-size:14px; }
.ar2cTelPdfErreur > i{ display:block; margin-bottom:8px; font-size:22px; color:#B45309; }
.ar2cTelPdfErreur .ar2cTelRefusBoutons{ margin-top:14px; }

/* ---------- Plan de charge sur téléphone (pages/planCharge/telephone-agenda-SrvPage.php) ---------- */
/* 01/10/2026, lecture seule : la semaine en liste par jour au lieu de la grille */

body.ar2cTel .pcBordEntete{ padding:8px 12px !important; }
body.ar2cTel .pcBordSousTitre{ display:none; }
body.ar2cTel #pcOutlook,
body.ar2cTel #pcOutlook *{ font-size:11.5px !important; }
body.ar2cTel .pcBordZone{ padding:8px !important; }
/* Fiche d'un sujet R&D ou formation (Prestations) : pas de pose de créneau sur téléphone, le
   plan de charge y est en lecture seule (pv2SCreneau sort aussi tout de suite) */
body.ar2cTel .pv2SAjout[onclick^="pv2SCreneau"]{ display:none !important; }
body.ar2cTel .pv2SCren.hand{ cursor:default; }

.pcTelBarre{
	padding:10px 12px 12px;
	background:#FFFFFF;
	border:1px solid #E5E7EB;
	border-radius:12px;
}
.pcTelNav{ display:flex; align-items:center; gap:8px; }
.pcTelNavBtn{
	flex:0 0 44px; height:44px;
	border:1px solid #E5E7EB; border-radius:10px; background:#FFFFFF;
	color:#374151; cursor:pointer;
}
.pcTelNavBtn i{ font-size:15px; }
.pcTelPeriode{ flex:1; min-width:0; text-align:center; }
.pcTelPeriodeTitre{ font-size:16px; font-weight:700; color:#1F2937; }
.pcTelPeriodeDates{ margin-top:2px; font-size:13px; color:#6B7280; }
/* Le technicien choisi dans la liste « Un technicien » (01/10/2026) */
.pcTelPeriodeQui,
.pcTelPeriodeQui i{ margin-top:2px; font-size:13px; font-weight:600; color:#4338CA; }
.pcTelOutils{ display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin-top:10px; }
.pcTelBtn{
	min-height:40px; padding:0 14px;
	border:1px solid #C7D2FE; border-radius:10px; background:#EEF2FF;
	color:#4338CA; font-size:14px; font-weight:600; cursor:pointer;
}
.pcTelVue{ display:flex; flex:1 1 100%; padding:3px; gap:3px; background:#F3F4F6; border-radius:10px; }
.pcTelVue button{
	flex:1; min-height:40px; border:0; border-radius:8px; background:transparent;
	color:#6B7280; font-size:14px; cursor:pointer;
}
.pcTelVue button i{ font-size:13px; margin-right:4px; color:inherit; }
.pcTelVue button.actif{ background:#FFFFFF; color:#4338CA; font-weight:600; box-shadow:0 1px 3px rgba(15,23,42,0.12); }
.pcTelNbSem{
	min-height:40px; padding:0 10px;
	border:1px solid #E5E7EB; border-radius:10px; background:#FFFFFF; color:#374151;
}
/* « Un technicien » (01/10/2026) : pour qui planifie pour l'équipe, la ligne d'un technicien au
   choix ; elle partage sa rangée avec le nombre de semaines, en indigo quand elle est choisie */
.pcTelTech{
	flex:1 1 0; min-width:0; min-height:40px; padding:0 10px;
	border:1px solid #E5E7EB; border-radius:10px; background:#FFFFFF; color:#374151;
}
.pcTelTech.actif{ border-color:#C7D2FE; background:#EEF2FF; color:#4338CA; font-weight:600; }
.pcTelTech option{ background:#FFFFFF; color:#374151; font-weight:400; }
.pcTelLecture,
.pcTelLecture i{ font-size:12px; color:#9CA3AF; }
.pcTelLecture{ margin-top:10px; text-align:center; }

.pcTelSemaine{ margin-top:12px; }
.pcTelSemaineTitre{
	padding:10px 4px 6px;
	font-size:14px; font-weight:700; color:#374151;
	border-top:2px solid #E5E7EB;
}
.pcTelCetteSemaine{ color:#4338CA; border-top-color:#C7D2FE; }

.pcTelJalons{
	display:flex; flex-direction:column; gap:6px;
	margin:6px 0 4px; padding:10px 12px;
	background:#FEF2F2; border:1px solid #FECACA; border-radius:10px;
}
.pcTelJalon{ display:flex; gap:8px; align-items:baseline; font-size:13px; color:#1F2937; line-height:1.4; }
.pcTelJalon i{ font-size:12px; color:#B91C1C; }
.pcTelJalon b{ font-size:inherit; }
.pcTelJalonQuand{ font-size:12px; color:#6B7280; }
.pcTelJalonFlou{ opacity:0.75; }
.pcTelJalonFlou i{ color:#F87171; }

.pcTelJour{
	margin-top:8px; padding:10px 12px 12px;
	background:#FFFFFF; border:1px solid #E5E7EB; border-radius:12px;
}
.pcTelAujourdhui{ border-color:#A5B4FC; box-shadow:0 0 0 1px #A5B4FC; }
.pcTelFerie{ background:#F9FAFB; }
.pcTelJourTitre{ display:flex; flex-wrap:wrap; align-items:center; gap:6px 8px; margin-bottom:8px; }
.pcTelJourTitre > span:first-child{ font-size:15px; font-weight:700; color:#1F2937; }
.pcTelPastille{ padding:2px 8px; border-radius:10px; background:#EEF2FF; color:#4338CA; font-size:11.5px; font-weight:600; }
.pcTelPastilleFerie{ background:#F3F4F6; color:#6B7280; }
.pcTelLibre{ font-size:14px; color:#9CA3AF; }
.pcTelPersonne{ margin:10px 0 4px; font-size:13px; font-weight:700; color:#374151; }
.pcTelJourTitre + .pcTelPersonne{ margin-top:0; }
.pcTelPersonne span{ font-size:12px; font-weight:400; color:#0F766E; }
.pcTelExterne{ color:#0F766E; }
.pcTelLibres,
.pcTelLibres b{ font-size:13px; color:#6B7280; }
.pcTelLibres{ margin-top:10px; padding-top:8px; border-top:1px dashed #E5E7EB; line-height:1.45; }

.pcTelCarte{
	position:relative;
	margin-top:6px; padding:9px 12px 10px;
	border-left:4px solid #1D4ED8; border-radius:8px;
}
.pcTelCarteLien{ padding-right:34px; cursor:pointer; }
.pcTelCarteTitre{ font-size:14px; font-weight:600; color:#1F2937; line-height:1.35; overflow-wrap:anywhere; }
.pcTelCarteTitre i{ font-size:13px; }
.pcTelCarteDetail,
.pcTelCarteDetail i{ font-size:12.5px; color:#4B5563; }
.pcTelCarteDetail{ margin-top:3px; line-height:1.4; }
.pcTelCarteNote{ margin-top:4px; font-size:13px; color:#374151; font-style:italic; line-height:1.4; }
.pcTelCarteFleche{ position:absolute; right:12px; top:50%; transform:translateY(-50%); font-size:13px; color:#9CA3AF; }
.pcTelVide{ padding:30px 16px; text-align:center; font-size:14px; color:#6B7280; }

