/* =====================================================================
   PharmaConnect — feuille de style commune
   Fichier : Assets/css/pharmaconnect.css   (chargée sur toutes les pages)

   Variables de couleur, typographie, logo, structure des portails, composants partagés
   (boutons, cartes, badges, tableaux, formulaires, pagination, alertes, indicateurs),
   pages d'authentification et éléments utilisés par plusieurs portails.
   Complétée selon la page par : admin.css, labo.css, officine.css, public.css
   (chargées après celle-ci, voir Includes/functions.php → layout_entete et header_public.php).
   ===================================================================== */

/* Couleurs : orange dominant + bleu clair, cohérent avec Home_Pharmaconnect.php */
:root{--orange:#F26B1F; --orange-600:#D9560E; --orange-50:#FFF3EB; --orange-100:#FFE2CF;
  --bleu:#5BBFEA;   --bleu-600:#2E9FD3;   --bleu-50:#EEF8FD;   --bleu-100:#D6EFFA;
  --encre:#16253A;  --texte:#3D4B5E;      --gris:#7A8697;      --ligne:#E6EBF1;
  --fond:#F5F8FB;   --blanc:#FFFFFF;
  --vert:#1F9D6B; --vert-50:#E7F6EF; --rouge:#D64545; --rouge-50:#FDECEC; --jaune:#9A6B00; --jaune-50:#FFF6DB;
  --r:14px; --ombre:0 8px 24px rgba(22,37,58,.07); --ombre-o:0 10px 22px rgba(242,107,31,.25);
  --sidebar:260px;}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{font-family:'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',Arial,sans-serif;color:var(--texte);background:var(--fond);line-height:1.55;font-size:15px}
a{color:var(--bleu-600);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3,h4{color:var(--encre);line-height:1.25;font-weight:800}
h2{font-size:1.3rem;margin-bottom:12px}
h3{font-size:1.05rem;margin-bottom:8px}
p{margin-bottom:10px}
img{max-width:100%;display:block}
.icone{width:20px;height:20px;flex-shrink:0}
:focus-visible{outline:2px solid var(--bleu-600);outline-offset:2px}
/* ---------- Logo ---------- */
.pc-logo{display:flex;align-items:center;gap:10px;text-decoration:none!important}
.pc-logo-marque{width:36px;height:36px;border-radius:11px;background:linear-gradient(135deg,var(--orange),#FF9A4D);position:relative;flex-shrink:0;display:grid;place-items:center}
.pc-logo-marque::before,.pc-logo-marque::after{content:"";position:absolute;background:#fff;border-radius:2px}
.pc-logo-marque::before{width:16px;height:5px}
.pc-logo-marque::after{width:5px;height:16px}
.pc-logo-marque span{position:absolute;right:-3px;bottom:-3px;width:12px;height:12px;border-radius:50%;background:var(--bleu);border:2px solid #fff}
.pc-logo-texte{font-weight:800;font-size:1.2rem;color:var(--encre)}
.pc-logo-texte em{font-style:normal;color:var(--orange)}
.pc-logo small{display:block;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--bleu)}
/* ---------- Structure des portails professionnels ---------- */
.pc-app{min-height:100vh}
.pc-sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);background:var(--encre);color:#C9D4E2;overflow-y:auto;z-index:40;padding:20px 14px 30px;transition:transform .25s}
.pc-sidebar .pc-logo{padding:0 8px 20px;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:14px}
.pc-sidebar .pc-logo-texte{color:#fff}
.pc-menu-section{margin-bottom:16px}
.pc-menu-titre{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#7F90A8;padding:0 10px;margin-bottom:6px}
.pc-menu a{display:flex;align-items:center;gap:11px;padding:9px 10px;border-radius:10px;color:#C9D4E2;font-weight:600;font-size:.9rem;text-decoration:none}
.pc-menu a:hover{background:rgba(255,255,255,.06);color:#fff;text-decoration:none}
.pc-menu a.actif{background:var(--orange);color:#fff;box-shadow:var(--ombre-o)}
.pc-menu a span{flex:1}
.pc-compteur{flex:0 0 auto!important;background:var(--bleu);color:var(--encre);font-size:.72rem;font-weight:800;border-radius:999px;padding:1px 8px}
.pc-menu a.actif .pc-compteur{background:#fff;color:var(--orange)}
.portail-labo .pc-menu a.actif{background:var(--bleu-600);box-shadow:none}
.pc-principal{margin-left:var(--sidebar);min-height:100vh;display:flex;flex-direction:column}
.pc-topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:16px;height:66px;padding:0 28px;background:rgba(255,255,255,.95);backdrop-filter:blur(10px);border-bottom:1px solid var(--ligne)}
.pc-titre-page{font-size:1.25rem;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pc-topbar-droite{display:flex;align-items:center;gap:14px}
.pc-notif,.pc-deconnexion{position:relative;display:grid;place-items:center;width:38px;height:38px;border-radius:10px;color:var(--texte);background:var(--fond)}
.pc-notif:hover,.pc-deconnexion:hover{background:var(--orange-50);color:var(--orange);text-decoration:none}
.pc-notif-nb{position:absolute;top:-4px;right:-4px;background:var(--orange);color:#fff;font-size:.68rem;font-weight:800;border-radius:999px;padding:1px 6px;border:2px solid #fff}
.pc-user{display:flex;align-items:center;gap:10px}
.pc-avatar{width:36px;height:36px;border-radius:50%;background:var(--bleu-50);color:var(--bleu-600);font-weight:800;display:grid;place-items:center;font-size:.85rem}
.pc-user-texte b{display:block;color:var(--encre);font-size:.88rem;line-height:1.2}
.pc-user-texte small{color:var(--gris);font-size:.75rem}
.pc-burger{display:none;background:none;border:0;color:var(--encre);cursor:pointer;padding:4px}
.pc-burger .icone{width:26px;height:26px}
.pc-contenu{flex:1;padding:28px;max-width:1400px;width:100%}
.pc-pied{padding:18px 28px;font-size:.8rem;color:var(--gris);border-top:1px solid var(--ligne)}
.pc-pied a{color:var(--gris)}
.pc-voile{display:none}
/* ---------- Composants ---------- */
.carte{background:#fff;border:1px solid var(--ligne);border-radius:var(--r);padding:22px;margin-bottom:20px}
.carte-entete{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.carte-entete h2{margin:0}
.grille{display:grid;gap:18px}
.grille-2{grid-template-columns:repeat(2,1fr)}
.grille-3{grid-template-columns:repeat(3,1fr)}
.grille-4{grid-template-columns:repeat(4,1fr)}
.kpi{background:#fff;border:1px solid var(--ligne);border-radius:var(--r);padding:18px}
.kpi small{color:var(--gris);font-weight:600;font-size:.8rem}
.kpi b{display:block;font-size:1.7rem;color:var(--encre);line-height:1.2;margin-top:4px}
.kpi.orange b{color:var(--orange)}
.kpi.bleu b{color:var(--bleu-600)}
.barre-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:18px}
.vide{text-align:center;color:var(--gris);padding:36px 12px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 18px;border-radius:999px;font-weight:700;font-size:.88rem;border:2px solid transparent;cursor:pointer;font-family:inherit;text-decoration:none!important;transition:background .2s,transform .2s;line-height:1.2}
.btn .icone{width:17px;height:17px}
.btn-orange{background:var(--orange);color:#fff}
.btn-orange:hover{background:var(--orange-600)}
.btn-bleu{background:var(--bleu-50);color:var(--bleu-600)}
.btn-bleu:hover{background:var(--bleu-100)}
.btn-contour{background:#fff;border-color:var(--ligne);color:var(--encre)}
.btn-contour:hover{border-color:var(--encre)}
.btn-danger{background:var(--rouge-50);color:var(--rouge)}
.btn-danger:hover{background:var(--rouge);color:#fff}
.btn-petit{padding:7px 14px;font-size:.8rem}
.btn[disabled]{opacity:.5;cursor:not-allowed}
.badge{display:inline-block;font-size:.72rem;font-weight:700;padding:3px 10px;border-radius:999px;white-space:nowrap}
.badge-succes{background:var(--vert-50);color:var(--vert)}
.badge-erreur{background:var(--rouge-50);color:var(--rouge)}
.badge-attente{background:var(--orange-50);color:var(--orange-600)}
.badge-alerte{background:var(--jaune-50);color:var(--jaune)}
.badge-info{background:var(--bleu-50);color:var(--bleu-600)}
.badge-neutre{background:#EEF1F5;color:var(--gris)}
.badge-sponsorise{background:var(--jaune-50);color:var(--jaune);border:1px dashed #E3B33B}
.alerte{position:relative;padding:12px 44px 12px 16px;border-radius:12px;margin-bottom:16px;font-weight:600;font-size:.9rem}
.alerte-erreur{background:var(--rouge-50);color:var(--rouge)}
.alerte-info{background:var(--bleu-50);color:var(--bleu-600)}
.alerte-alerte{background:var(--jaune-50);color:var(--jaune)}
.alerte-fermer{position:absolute;right:10px;top:8px;background:none;border:0;font-size:1.3rem;line-height:1;color:inherit;cursor:pointer;opacity:.7}
/* Tableaux */
.table-wrap{overflow-x:auto;border:1px solid var(--ligne);border-radius:var(--r);background:#fff}
table.tableau{width:100%;border-collapse:collapse;font-size:.88rem}
.tableau th{background:var(--fond);color:var(--encre);text-align:left;font-weight:700;padding:11px 14px;border-bottom:1px solid var(--ligne);white-space:nowrap}
.tableau td{padding:11px 14px;border-bottom:1px solid var(--ligne);vertical-align:middle}
.tableau tr:last-child td{border-bottom:0}
.tableau tr:hover td{background:#FBFCFE}
.tableau .actions{white-space:nowrap;text-align:right}
.tableau .num{text-align:right;font-variant-numeric:tabular-nums}
/* Formulaires */
.form-grille{display:grid;grid-template-columns:repeat(2,1fr);gap:16px 20px}
[hidden]{display:none!important}
.champ{display:flex;flex-direction:column;gap:6px}
.champ.large{grid-column:1/-1}
.champ label{font-weight:700;font-size:.85rem;color:var(--encre)}
.champ label .requis{color:var(--orange)}
.champ small{color:var(--gris);font-size:.78rem}
input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],input[type=datetime-local],input[type=tel],input[type=url],input[type=search],select,textarea{width:100%;padding:10px 12px;border:1px solid var(--ligne);border-radius:10px;font:inherit;color:var(--encre);background:#fff}
textarea{min-height:110px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--bleu);box-shadow:0 0 0 3px var(--bleu-100)}
.cases{display:flex;flex-wrap:wrap;gap:8px 18px}
.cases label{display:flex;align-items:center;gap:7px;font-weight:500;font-size:.88rem}
.form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px;flex-wrap:wrap}
.filtres{display:flex;gap:10px;flex-wrap:wrap;align-items:end;margin-bottom:16px}
.filtres .champ{min-width:180px}
/* Pagination */
.pagination{display:flex;gap:6px;justify-content:center;margin-top:18px;flex-wrap:wrap}
.pagination a,.pagination-ellipse{min-width:36px;height:36px;display:grid;place-items:center;border-radius:10px;border:1px solid var(--ligne);background:#fff;color:var(--texte);font-weight:700;font-size:.85rem;padding:0 8px}
.pagination a:hover{border-color:var(--orange);text-decoration:none}
.pagination a.actif{background:var(--orange);border-color:var(--orange);color:#fff}
.pagination-ellipse{border:0;background:none}
/* ---------- Portail public ---------- */
.pub-conteneur{width:min(1200px,100% - 32px);margin-inline:auto}
.pub-entete .pub-conteneur{display:flex;align-items:center;justify-content:space-between;gap:20px;height:70px}
.pub-menu{display:flex;align-items:center;gap:22px}
.pub-menu a{color:var(--texte);font-weight:600;font-size:.9rem}
.pub-menu a.actif,.pub-menu a:hover{color:var(--orange);text-decoration:none}
.pub-menu .btn{color:#fff}
.pub-pied{background:var(--encre);color:#9FAEC2;padding:40px 0;font-size:.88rem}
.pub-pied .pub-conteneur{display:grid;grid-template-columns:1.4fr 1fr;gap:24px}
.pub-pied .pc-logo-texte{color:#fff}
.pub-pied nav{display:flex;flex-wrap:wrap;gap:10px 22px;align-content:start}
.pub-pied a{color:#C9D4E2}
.pub-copyright{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.1);padding-top:16px;margin:0}
/* ---------- Responsive ---------- */
@media (max-width:1100px){
  .grille-4{grid-template-columns:repeat(2,1fr)}
  .grille-3{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:900px){
  .pc-sidebar{transform:translateX(-100%)}
  .menu-ouvert .pc-sidebar{transform:none}
  .menu-ouvert .pc-voile{display:block;position:fixed;inset:0;background:rgba(22,37,58,.45);z-index:35}
  .pc-principal{margin-left:0}
  .pc-burger{display:block}
  .pc-topbar{padding:0 16px}
  .pc-contenu{padding:20px 16px}
  .pc-user-texte{display:none}
  .pub-menu{display:none;position:absolute;top:70px;left:0;right:0;flex-direction:column;align-items:flex-start;gap:14px;background:#fff;padding:18px 16px;border-bottom:1px solid var(--ligne);box-shadow:var(--ombre)}
  .menu-ouvert .pub-menu{display:flex}
}
@media (max-width:640px){
  .grille-2,.grille-3,.grille-4,.form-grille{grid-template-columns:1fr}
  .pub-pied .pub-conteneur{grid-template-columns:1fr}
  .pc-titre-page{font-size:1.05rem}
}
@media (prefers-reduced-motion:reduce){
  *{transition:none!important;animation:none!important}
}
@media print{
  .pc-sidebar,.pc-topbar,.pc-pied,.pub-entete,.pub-bandeau,.pub-pied,.btn{display:none!important}
  .pc-principal{margin:0}
}
/* ---------- Pages d'authentification (connexion, inscription, mot de passe) ---------- */
.pc-auth{display:grid;grid-template-columns:minmax(380px,46%) 1fr;min-height:100vh;background:#fff}
.auth-panneau{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:28px;padding:44px 56px;color:#C9D4E2;overflow:hidden;
  background:radial-gradient(900px 600px at 110% 110%,rgba(242,107,31,.38),transparent 55%),
             radial-gradient(700px 500px at -20% -10%,rgba(91,191,234,.22),transparent 60%),
             linear-gradient(160deg,#0F1B2D 0%,#16253A 55%,#1B2F4A 100%)}
.auth-motif{position:absolute;inset:0;opacity:.13;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='104' viewBox='0 0 120 104'%3E%3Cg fill='none' stroke='%235BBFEA' stroke-width='1.2'%3E%3Cpath d='M30 2l26 15v30L30 62 4 47V17z'/%3E%3Cpath d='M90 54l26 15v30l-26 15-26-15V69z'/%3E%3Cpath d='M56 32h8M64 69l-8-22'/%3E%3C/g%3E%3Cg fill='%235BBFEA'%3E%3Ccircle cx='30' cy='2' r='3'/%3E%3Ccircle cx='56' cy='47' r='3'/%3E%3Ccircle cx='90' cy='54' r='3'/%3E%3Ccircle cx='4' cy='17' r='3'/%3E%3C/g%3E%3C/svg%3E");
  -webkit-mask-image:linear-gradient(180deg,#000 0%,transparent 75%);mask-image:linear-gradient(180deg,#000 0%,transparent 75%)}
.auth-panneau>*{position:relative;z-index:1}
.auth-panneau .pc-logo-texte{color:#fff;font-size:1.35rem}
.auth-panneau .pc-logo-marque{width:42px;height:42px;box-shadow:0 10px 30px rgba(242,107,31,.45)}
.auth-accroche{margin:auto 0}
.auth-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--bleu);margin-bottom:18px}
.auth-eyebrow::before{content:"";width:26px;height:2px;background:var(--orange);border-radius:2px}
.auth-accroche h2{color:#fff;font-size:clamp(1.8rem,2.6vw,2.6rem);line-height:1.15;letter-spacing:-.02em;margin-bottom:16px;max-width:520px}
.auth-accroche h2 em{font-style:normal;color:var(--orange)}
.auth-accroche>p{font-size:1.02rem;line-height:1.65;color:#AEBBCD;max-width:480px;margin-bottom:30px}
.auth-piliers{display:flex;flex-direction:column;gap:14px;max-width:460px}
.auth-pilier{display:flex;gap:14px;align-items:center;padding:14px 16px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);backdrop-filter:blur(4px)}
.auth-pilier-ic{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;flex-shrink:0;background:linear-gradient(135deg,rgba(242,107,31,.22),rgba(242,107,31,.08));color:var(--orange);border:1px solid rgba(242,107,31,.3)}
.auth-pilier-ic .icone{width:21px;height:21px}
.auth-pilier b{display:block;color:#fff;font-size:.95rem}
.auth-pilier small{color:#93A3B8;font-size:.82rem}
.auth-chiffres{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid rgba(255,255,255,.1);padding-top:22px;max-width:520px}
.auth-chiffres div{padding-right:14px}
.auth-chiffres div+div{padding-left:18px;border-left:1px solid rgba(255,255,255,.1)}
.auth-chiffres b{display:block;color:#fff;font-size:1.6rem;font-weight:800;line-height:1.1}
.auth-chiffres span{font-size:.78rem;color:#93A3B8}
.auth-mention{font-size:.76rem;color:#6F8099;margin:0}
.auth-zone{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:84px 32px 40px;
  background:radial-gradient(600px 400px at 100% 0%,var(--orange-50),transparent 70%),radial-gradient(500px 400px at 0% 100%,var(--bleu-50),transparent 70%),#F7F9FC}
.auth-haut{position:absolute;top:26px;left:32px;right:32px;display:flex;justify-content:space-between;gap:16px}
.auth-haut a{display:inline-flex;align-items:center;gap:7px;font-size:.85rem;font-weight:700;color:var(--texte);text-decoration:none}
.auth-haut a:hover{color:var(--orange)}
.auth-haut .icone{width:17px;height:17px}
.auth-carte{width:100%;max-width:460px;background:#fff;border:1px solid #E4EAF2;border-radius:24px;padding:40px 40px 34px;
  box-shadow:0 1px 2px rgba(22,37,58,.04),0 24px 60px -12px rgba(22,37,58,.18)}
.pc-auth-large .auth-carte{max-width:860px}
.auth-securite{display:inline-flex;align-items:center;gap:7px;padding:6px 12px;border-radius:999px;background:var(--bleu-50);color:var(--bleu-600);font-size:.75rem;font-weight:800;letter-spacing:.02em;margin-bottom:18px}
.auth-securite .icone{width:15px;height:15px}
.auth-carte h1{font-size:1.85rem;letter-spacing:-.02em;margin-bottom:6px}
.auth-sous-titre{color:var(--gris);margin-bottom:26px}
.auth-carte form .champ{margin-bottom:18px}
.auth-carte .form-grille .champ{margin-bottom:0}
.auth-carte .champ label{font-size:.82rem;letter-spacing:.01em}
.champ-icone{position:relative}
.champ-icone>.icone{position:absolute;left:15px;top:50%;transform:translateY(-50%);width:19px;height:19px;color:#9AA7B8;pointer-events:none;transition:color .2s}
.champ-icone input{height:52px;padding-left:46px;border-radius:12px;border-color:#DCE3EC;background:#FBFCFE;font-size:.95rem}
.champ-icone input:focus{background:#fff;border-color:var(--orange);box-shadow:0 0 0 4px rgba(242,107,31,.12)}
.champ-icone:focus-within>.icone{color:var(--orange)}
.auth-carte input[type=text],.auth-carte input[type=email],.auth-carte input[type=tel],.auth-carte input[type=url],.auth-carte input[type=number],.auth-carte select,.auth-carte textarea{border-radius:12px;border-color:#DCE3EC;background:#FBFCFE}
.auth-carte input[type=text],.auth-carte input[type=email],.auth-carte input[type=tel],.auth-carte input[type=url],.auth-carte input[type=number],.auth-carte select{height:48px}
.mdp-zone input{padding-right:92px}
.mdp-voir{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:#fff;border:1px solid #E4EAF2;border-radius:9px;padding:6px 11px;font:inherit;font-size:.74rem;font-weight:800;color:var(--bleu-600);cursor:pointer}
.mdp-voir:hover{border-color:var(--bleu)}
.btn-bloc{width:100%;height:54px;font-size:1rem;border-radius:14px;margin-top:6px}
.auth-carte .btn-orange{background:linear-gradient(135deg,#F26B1F,#FF8A3D);box-shadow:0 12px 26px -8px rgba(242,107,31,.6)}
.auth-carte .btn-orange:hover{background:linear-gradient(135deg,#D9560E,#F26B1F);transform:translateY(-1px)}
.auth-carte .btn-orange .icone{transition:transform .2s}
.auth-carte .btn-orange:hover .icone{transform:translateX(3px)}
.btn.en-cours{opacity:.75;pointer-events:none}
.auth-liens{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:.86rem;margin-top:18px}
.auth-liens a{font-weight:700}
.auth-separateur{display:flex;align-items:center;gap:14px;margin:26px 0 18px;color:var(--gris);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.auth-separateur::before,.auth-separateur::after{content:"";flex:1;height:1px;background:var(--ligne)}
.auth-profils{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.auth-profils a{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 6px;border:1px solid var(--ligne);border-radius:12px;font-size:.78rem;font-weight:700;color:var(--encre);text-decoration:none;text-align:center;transition:border-color .2s,background .2s}
.auth-profils a:hover{border-color:var(--orange);background:var(--orange-50)}
.auth-profils .icone{width:22px;height:22px;color:var(--orange)}
.auth-bas{text-align:center;margin-top:22px;padding-top:18px;border-top:1px solid var(--ligne);font-size:.9rem;color:var(--gris)}
.auth-legal{display:flex;gap:20px;justify-content:center;flex-wrap:wrap;margin-top:24px;font-size:.78rem}
.auth-legal a{color:var(--gris)}
.auth-carte .alerte{border-radius:12px}
.profil-choix{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:24px}
.profil-choix a{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 8px;border:1px solid var(--ligne);border-radius:14px;color:var(--encre);font-weight:700;font-size:.85rem;text-align:center;text-decoration:none}
.profil-choix a .icone{width:24px;height:24px;color:var(--gris)}
.profil-choix a:hover{border-color:var(--orange);text-decoration:none}
.profil-choix a.actif{border-color:var(--orange);background:var(--orange-50);color:var(--orange-600)}
.profil-choix a.actif .icone{color:var(--orange)}
.bloc-form{border:1px solid var(--ligne);border-radius:16px;padding:18px 20px 22px;margin-bottom:18px}
.bloc-form legend{font-weight:800;color:var(--encre);padding:0 8px;font-size:.95rem}
.groupe-themes{display:grid;grid-template-columns:repeat(2,1fr);gap:12px 20px}
.groupe-themes b{display:block;font-size:.82rem;color:var(--encre);margin-bottom:4px}
.groupe-themes .cases{flex-direction:column;gap:4px}
.piege{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
@media (max-width:1100px){
  .auth-panneau{padding:36px 36px}
  .auth-chiffres{display:none}
}
@media (max-width:900px){
  .pc-auth{grid-template-columns:1fr}
  .auth-panneau{position:relative;height:auto;padding:20px 16px;gap:0}
  .auth-accroche,.auth-chiffres,.auth-mention,.auth-motif{display:none}
  .auth-zone{padding:70px 16px 28px;justify-content:flex-start}
  .auth-haut{top:20px;left:16px;right:16px}
  .auth-carte{padding:28px 20px 24px;border-radius:20px}
  .profil-choix{grid-template-columns:repeat(2,1fr)}
  .groupe-themes{grid-template-columns:1fr}
}
/* ---------- Tableau de bord (Admin) ---------- */
.gris{color:var(--gris)}
.dash-hero{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;padding:28px 32px;margin-bottom:22px;border-radius:20px;color:#C9D4E2;position:relative;overflow:hidden;
  background:radial-gradient(500px 300px at 100% 120%,rgba(242,107,31,.45),transparent 60%),linear-gradient(135deg,#0F1B2D,#1B2F4A)}
.dash-hero h2{color:#fff;font-size:1.65rem;margin:4px 0 6px}
.dash-hero p{margin:0;color:#AEBBCD}
.dash-date{font-size:.75rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--bleu)}
.dash-hero-actions{display:flex;gap:10px;flex-wrap:wrap}
.btn-verre{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18);color:#fff}
.btn-verre:hover{background:rgba(255,255,255,.16)}
.dash-kpis{margin-bottom:16px}
.kpi-carte{display:flex;gap:14px;align-items:flex-start;padding:20px;border-radius:16px;background:#fff;border:1px solid var(--ligne);color:var(--texte);text-decoration:none!important;transition:transform .2s,box-shadow .2s}
.kpi-carte:hover{transform:translateY(-2px);box-shadow:var(--ombre)}
.kpi-ic{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;flex-shrink:0;background:var(--fond);color:var(--encre)}
.kpi-carte small{display:block;font-size:.8rem;font-weight:700;color:var(--gris)}
.kpi-carte b{display:block;font-size:1.9rem;line-height:1.15;color:var(--encre);font-weight:800}
.kpi-carte em{font-style:normal;font-size:.78rem;color:var(--gris)}
.kpi-orange .kpi-ic{background:var(--orange);color:#fff;box-shadow:var(--ombre-o)}
.kpi-orange b{color:var(--orange)}
.kpi-bleu .kpi-ic{background:var(--bleu-50);color:var(--bleu-600)}
.dash-bandeau .icone{color:var(--orange)}
.dash-grille{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;align-items:start}
.dash-principal .grille-2{margin-bottom:20px}
.grille>*,.dash-grille>*{min-width:0}
.dash-principal .grille-2 .carte{margin-bottom:0}
.table-nue{border:0;border-radius:0}
.type-puce{display:inline-flex;align-items:center;gap:7px;font-weight:700;font-size:.8rem;color:var(--encre);background:var(--fond);padding:5px 10px;border-radius:999px}
.type-puce .icone{width:15px;height:15px;color:var(--orange)}
.vide .icone{width:30px;height:30px;margin:0 auto 8px;color:var(--bleu)}
.mini-graph{display:flex;align-items:flex-end;gap:6px;height:170px;padding-top:18px}
.mini-col{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:4px}
.mini-col i{display:block;width:100%;max-width:22px;border-radius:6px 6px 2px 2px;background:var(--bleu-100);min-height:3px}
.mini-col i.aujourdhui{background:var(--orange)}
.mini-col:hover i{background:var(--bleu)}
.mini-val{font-size:.7rem;font-weight:800;color:var(--encre);min-height:14px}
.mini-col small{font-size:.66rem;color:var(--gris);white-space:nowrap}
.barres-h{display:flex;flex-direction:column;gap:12px}
.barre-h{display:grid;grid-template-columns:110px 1fr 34px;align-items:center;gap:10px;font-size:.85rem}
.barre-h span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600;color:var(--encre)}
.barre-h div{height:10px;background:var(--fond);border-radius:99px;overflow:hidden}
.barre-h i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--orange),#FF9A4D)}
.barre-h b{text-align:right;color:var(--encre)}
.liste-notifs{list-style:none;display:flex;flex-direction:column;gap:6px}
.liste-notifs a{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:12px;color:var(--texte);text-decoration:none!important;border:1px solid transparent}
.liste-notifs a:hover{background:var(--fond)}
.liste-notifs .non-lue a{background:var(--orange-50);border-color:var(--orange-100)}
.liste-notifs b{font-size:.88rem;color:var(--encre)}
.liste-notifs span{font-size:.82rem}
.liste-notifs time{font-size:.74rem;color:var(--gris)}
.lien-bouton{background:none;border:0;font:inherit;font-size:.82rem;font-weight:700;color:var(--bleu-600);cursor:pointer}
.raccourcis-admin{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.raccourcis-admin a{display:flex;align-items:center;gap:8px;padding:11px 12px;border:1px solid var(--ligne);border-radius:12px;font-weight:700;font-size:.84rem;color:var(--encre);text-decoration:none}
.raccourcis-admin a:hover{border-color:var(--orange);background:var(--orange-50)}
.raccourcis-admin .icone{width:18px;height:18px;color:var(--orange)}
@media (max-width:1200px){
  .dash-grille{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:640px){
  .dash-hero{padding:22px}
}
/* ---------- Circuit de validation ---------- */
.onglets-statut{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px}
.onglets-statut a{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:999px;background:#fff;border:1px solid var(--ligne);color:var(--texte);font-weight:700;font-size:.88rem;text-decoration:none}
.onglets-statut a span{background:var(--fond);color:var(--gris);font-size:.74rem;padding:1px 8px;border-radius:999px}
.onglets-statut a:hover{border-color:var(--orange)}
.onglets-statut a.actif{background:var(--encre);border-color:var(--encre);color:#fff}
.onglets-statut a.actif span{background:var(--orange);color:#fff}
.puces-type a .icone{width:15px;height:15px;color:var(--orange)}
.puces-type a.actif{background:var(--orange-50);border-color:var(--orange);color:var(--orange-600)}
.recherche{min-width:280px}
.recherche .champ-icone input{height:42px}
.resultats{font-size:.82rem;margin:12px 0 0}
.fil-ariane{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.fil-ariane>a:first-child{display:inline-flex;align-items:center;gap:6px;font-weight:700;color:var(--texte);font-size:.88rem}
.fil-ariane .icone{width:17px;height:17px}
.examen-ic .icone{width:28px;height:28px}
dl.fiche{display:grid;grid-template-columns:repeat(2,1fr);gap:0 24px}
dl.fiche div{padding:10px 0;border-bottom:1px solid var(--ligne)}
dl.fiche dt{font-size:.75rem;font-weight:700;color:var(--gris);text-transform:uppercase;letter-spacing:.04em}
dl.fiche dd{color:var(--encre);font-weight:600;word-break:break-word}
dl.fiche-compacte{grid-template-columns:1fr}
.controles{list-style:none;display:flex;flex-direction:column;gap:10px}
.controles li{display:flex;gap:10px;align-items:flex-start;font-size:.86rem;line-height:1.4}
.controles li>span{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;font-weight:800;font-size:.8rem}
.controles li.ok>span{background:var(--vert-50);color:var(--vert)}
.controles li.ko>span{background:var(--jaune-50);color:var(--jaune)}
.controles li .icone{width:14px;height:14px}
.case-option{display:flex;gap:10px;align-items:flex-start;font-size:.8rem;color:var(--texte);margin:4px 0 14px}
.case-option input{margin-top:3px;accent-color:var(--orange)}
.carte-decision .btn-bloc{height:48px;border-radius:12px}
.demandeur{display:flex;gap:12px;align-items:center;margin-bottom:10px}
.demandeur b{display:block;color:var(--encre)}
.demandeur small{color:var(--gris);font-size:.8rem}
@media (max-width:640px){
  dl.fiche{grid-template-columns:1fr}
  .recherche{min-width:0;width:100%}
}
/* ---------- Utilisateurs et rôles ---------- */
.entete-page{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.compteurs-statut a.actif,.compteurs-statut a:hover{border-color:var(--orange)}
.txt-erreur{color:var(--rouge);font-weight:600}
.bp-admin{background:var(--encre);color:#fff}
.bp-laboratoire{background:var(--bleu-50);color:var(--bleu-600)}
.bp-officine{background:var(--orange-50);color:var(--orange-600)}
.actions-compte{display:flex;flex-direction:column;gap:8px}
.actions-compte .btn{justify-content:flex-start;width:100%}
.mdp-affiche{display:flex;gap:14px;align-items:center;padding:16px 18px;margin-bottom:18px;border-radius:14px;background:var(--jaune-50);border:1px solid #F0D58A}
.mdp-affiche>.icone{width:26px;height:26px;color:var(--jaune);flex-shrink:0}
.mdp-affiche div{flex:1}
.mdp-affiche b{display:block;color:var(--encre)}
.mdp-affiche code{display:inline-block;font-size:1.3rem;font-weight:800;letter-spacing:.08em;background:#fff;padding:4px 12px;border-radius:8px;margin:6px 0;color:var(--encre)}
.mdp-affiche small{display:block;color:var(--texte);font-size:.8rem}
.carte-role .btn{align-self:flex-start}
.perm.protegee .icone{width:16px;height:16px;color:var(--orange)}
.matrice{font-size:.82rem}
.matrice thead th{position:sticky;top:0;z-index:2;background:var(--fond)}
.matrice .ligne-portails th{top:0;text-align:center;font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;padding:6px}
.matrice tr:nth-child(2) th{top:29px}
.matrice .col-perm{position:sticky;left:0;background:#fff;z-index:1;min-width:260px}
.matrice thead .col-perm{z-index:3;background:var(--fond)}
.matrice .col-perm b{display:block;font-weight:600;color:var(--encre)}
.matrice .col-perm code{font-size:.68rem;color:var(--gris)}
.matrice .col-role{text-align:center;white-space:normal;min-width:96px;max-width:120px;font-size:.75rem;line-height:1.25}
.matrice .col-role.inactif{opacity:.5}
.matrice .cellule{text-align:center}
.matrice .cellule input{width:18px;height:18px;accent-color:var(--orange);cursor:pointer}
.matrice .cellule .icone{width:16px;height:16px;color:var(--orange);margin:auto}
.matrice .ligne-module td{background:var(--encre);color:#fff;font-weight:800;font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;position:sticky;left:0}
.liste-options li.oui::before{content:"✓";background:var(--vert-50);color:var(--vert)}
.liste-options li.non{color:var(--gris);text-decoration:line-through}
.liste-options li.non::before{content:"–";background:var(--fond);color:var(--gris)}
.case-theme{display:flex;align-items:center;gap:7px;cursor:pointer}
.compteurs-statut a.actif{border-color:var(--orange);color:var(--orange-600);background:var(--orange-50)}
/* ---------- Référentiels ---------- */
.ref-onglets{display:flex;gap:6px;overflow-x:auto;padding:2px 2px 10px;margin-bottom:10px;scrollbar-width:thin}
.ref-onglets a{flex:0 0 auto;display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border-radius:999px;background:#fff;border:1px solid var(--ligne);color:var(--texte);font-weight:700;font-size:.84rem;text-decoration:none;white-space:nowrap}
.ref-onglets a svg{width:16px;height:16px;color:var(--bleu-600)}
.ref-onglets a:hover{border-color:var(--orange);text-decoration:none}
.ref-onglets a.actif{background:var(--encre);border-color:var(--encre);color:#fff}
.ref-onglets a.actif svg{color:var(--orange)}
.ref-entete{display:flex;justify-content:space-between;align-items:flex-end;gap:14px;flex-wrap:wrap;margin-bottom:14px}
.ref-entete h2{margin:0}
.ref-entete p{margin:2px 0 0}
.ref-actions .btn-petit{padding:6px 11px}
.ref-actions{display:inline-flex;gap:6px;align-items:center;justify-content:flex-end;flex-wrap:nowrap}
.dash-cote .ref-actions{flex-wrap:wrap;justify-content:flex-start;margin-top:12px}
.ref-action{display:inline;margin:0}
.ref-fleches{display:flex;gap:4px}
.ref-fleches>span{width:26px}
.ref-fleche{width:26px;height:26px;display:grid;place-items:center;border-radius:8px;border:1px solid var(--ligne);background:#fff;color:var(--gris);cursor:pointer;padding:0}
.ref-fleche:hover{border-color:var(--orange);color:var(--orange)}
.ref-fleche svg{width:14px;height:14px}
.ref-fleche.haut svg{transform:rotate(-90deg)}
.ref-fleche.bas svg{transform:rotate(90deg)}
.ligne-inactive td{opacity:.62}
.ligne-inactive td.actions{opacity:1}
.ref-aide p{font-size:.86rem;margin:0 0 8px}
.ref-ajout-ligne .champ{margin:0;flex:1 1 200px}
@media (max-width:640px){
  .ref-table td.num{margin-left:2px}
  .ref-table td.num{order:2;flex:1 1 100%;text-align:left;font-size:.8rem;color:var(--gris)}
  .ref-table td.num::before{content:attr(data-label) " : "}
  .ref-table td.num+td{order:2}
  .ref-table td.num{flex:0 0 auto}
  .ref-table td.actions{order:3;flex:1 1 100%;text-align:left}
  .ref-actions{flex-wrap:wrap;justify-content:flex-start}
}
/* ---------- Pharma Academy ---------- */
.aca-bandeau{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:16px}
.aca-bandeau-titre{min-width:0;flex:1 1 320px}
.aca-bandeau h2{margin:4px 0 6px;font-size:1.35rem}
.aca-retour{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:.85rem;color:var(--texte)}
.aca-retour svg{width:16px;height:16px}
.aca-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:var(--gris);font-size:.86rem}
.aca-onglets{margin:0}
.aca-fieldset{border:0;padding:0;margin:0;min-width:0}
.aca-fieldset[disabled] input,.aca-fieldset[disabled] select,.aca-fieldset[disabled] textarea{background:var(--fond);color:var(--gris)}
.aca-parts-grille .champ{margin:0}
.aca-parts-total b.ok{color:var(--vert)}
.aca-parts-total b.ko{color:var(--rouge)}
.aca-cib-ligne{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:10px;border:1px solid var(--ligne);border-radius:12px;margin-bottom:8px;background:#fff}
.aca-cib-ligne select{flex:1 1 170px;min-width:0;padding:8px 10px;font-size:.86rem}
.aca-cib-equipe{display:flex;gap:6px;flex:0 1 210px}
.aca-cib-equipe input{min-width:0;padding:8px 10px;font-size:.86rem}
.aca-controles{list-style:none;margin:10px 0 16px;padding:0;display:grid;gap:7px;font-size:.86rem}
.aca-controles li{position:relative;padding-left:26px}
.aca-controles li::before{position:absolute;left:0;top:1px;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;font-size:.7rem;font-weight:800}
.aca-controles li.ok::before{content:"✓";background:var(--vert-50);color:var(--vert)}
.aca-controles li.ko{color:var(--rouge);font-weight:600}
.aca-controles li.ko::before{content:"!";background:var(--rouge-50);color:var(--rouge)}
.aca-controles li.conseil{color:var(--jaune)}
.aca-controles li.conseil::before{content:"i";background:var(--jaune-50);color:var(--jaune)}
.aca-controles small{font-weight:500}
.aca-etapes li.actif{color:var(--orange-600);font-weight:700}
.aca-editeur{border:2px solid var(--orange-100);box-shadow:0 10px 28px rgba(242,107,31,.10)}
.aca-types{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px}
.aca-type input{position:absolute;opacity:0;pointer-events:none}
.aca-type span{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--ligne);border-radius:12px;cursor:pointer;font-weight:700;font-size:.85rem;background:#fff}
.aca-type span svg{width:18px;height:18px;color:var(--bleu-600)}
.aca-type input:checked+span{border-color:var(--orange);background:var(--orange-50);color:var(--orange-600)}
.aca-type input:checked+span svg{color:var(--orange)}
.aca-type input:focus-visible+span{outline:2px solid var(--bleu-600);outline-offset:2px}
.aca-media-actuel{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px;font-size:.88rem}
.aca-media-actuel svg{width:18px;height:18px;color:var(--bleu-600)}
.aca-media-actuel .case-option{margin:0}
.aca-modules,.aca-questions{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.aca-module{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--ligne);border-radius:14px;background:#fff}
.aca-module.en-cours,.aca-question.en-cours{border-color:var(--orange);background:var(--orange-50)}
.aca-module-num{flex-shrink:0;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--encre);color:#fff;font-weight:800;font-size:.8rem}
.aca-module-ic{flex-shrink:0;display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:var(--bleu-50);color:var(--bleu-600)}
.aca-module-ic svg{width:19px;height:19px}
.aca-module-ic.type-quiz{background:var(--orange-50);color:var(--orange)}
.aca-module-ic.type-classe_virtuelle,.aca-module-ic.type-webinaire{background:var(--vert-50);color:var(--vert)}
.aca-module-corps{flex:1;min-width:0}
.aca-module-corps b{display:block;color:var(--encre)}
.aca-module-corps small{color:var(--gris);font-size:.8rem}
.aca-alerte-module{display:inline-block;font-size:.76rem;margin-top:2px}
.aca-ajout-rapide{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.aca-ajout-rapide a{display:flex;align-items:center;gap:8px;padding:9px 10px;border:1px solid var(--ligne);border-radius:12px;font-weight:700;font-size:.82rem;color:var(--encre);text-decoration:none}
.aca-ajout-rapide a:hover{border-color:var(--orange);color:var(--orange-600)}
.aca-ajout-rapide svg{width:17px;height:17px;color:var(--bleu-600);flex-shrink:0}
.aca-question{padding:14px 16px;border:1px solid var(--ligne);border-radius:14px;background:#fff}
.aca-question-tete{display:flex;gap:12px;align-items:flex-start}
.aca-question-tete p{flex:1;margin:3px 0 0;font-weight:700;color:var(--encre)}
.aca-points{flex-shrink:0;font-size:.76rem;font-weight:800;color:var(--bleu-600);background:var(--bleu-50);padding:3px 9px;border-radius:999px}
.aca-reponses{list-style:none;margin:10px 0 0 40px;padding:0;display:grid;gap:5px;font-size:.88rem}
.aca-reponses li{position:relative;padding:6px 10px 6px 30px;border-radius:9px;background:var(--fond)}
.aca-reponses li::before{content:"";position:absolute;left:10px;top:50%;width:11px;height:11px;margin-top:-6px;border-radius:50%;border:2px solid var(--gris)}
.aca-reponses li.correcte{background:var(--vert-50);color:var(--vert);font-weight:700}
.aca-reponses li.correcte::before{border-color:var(--vert);background:var(--vert)}
.aca-explication{margin:10px 0 0 40px;font-size:.84rem;color:var(--texte);border-left:3px solid var(--bleu);padding-left:10px}
.aca-question-pied{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin:10px 0 0 40px}
.aca-reponse-ligne{display:flex;gap:8px;align-items:center;margin-bottom:8px;padding:4px;border-radius:12px}
.aca-reponse-ligne.correcte{background:var(--vert-50)}
.aca-reponse-ligne input[type=text]{flex:1;min-width:0}
.aca-correcte{flex-shrink:0;cursor:pointer}
.aca-correcte input{position:absolute;opacity:0;pointer-events:none}
.aca-correcte span{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;border:2px solid var(--ligne);background:#fff;color:transparent}
.aca-correcte span svg{width:18px;height:18px}
.aca-correcte input:checked+span{border-color:var(--vert);background:var(--vert);color:#fff}
.aca-correcte input:focus-visible+span{outline:2px solid var(--bleu-600);outline-offset:2px}
.aca-numero{font-family:ui-monospace,Consolas,monospace;font-size:.86rem;color:var(--encre)}
.aca-dialogue{border:0;border-radius:18px;padding:24px;width:min(480px,calc(100vw - 32px));box-shadow:0 24px 60px rgba(22,37,58,.25)}
.aca-dialogue::backdrop{background:rgba(22,37,58,.45)}
.aca-dialogue h2{margin-top:0;font-size:1.15rem}
@media (max-width:640px){
  .aca-module{flex-wrap:wrap}
  .aca-module .ref-actions{flex:1 1 100%;justify-content:flex-start;flex-wrap:wrap}
  .aca-reponses,.aca-explication,.aca-question-pied{margin-left:0}
  .aca-cib-equipe{flex:1 1 100%}
  .aca-ajout-rapide{grid-template-columns:1fr 1fr}
}
/* ---------- Contenus (modération, agenda, bibliothèque, avis, fiches, messages) ---------- */
.periode{display:inline-block;margin-top:3px;font-size:.72rem;font-weight:800;padding:2px 8px;border-radius:999px}
.periode-cours{background:var(--vert-50);color:var(--vert)}
.periode-avenir{background:var(--bleu-50);color:var(--bleu-600)}
.periode-finie{background:var(--fond);color:var(--gris)}
.evt-date.passe{background:var(--fond);border-color:var(--ligne)}
.evt-date.passe b{color:var(--gris)}
.presence-btn.oui{background:var(--vert);border-color:var(--vert);color:#fff}
.presence-btn.non{background:var(--rouge-50);border-color:var(--rouge);color:var(--rouge)}
.etoiles .pleine{color:#F5A524}
.avis-lot .case-option{margin:0}
.avis{display:flex;gap:12px;align-items:flex-start;padding:14px;border:1px solid var(--ligne);border-radius:14px;background:#fff}
.avis-en_attente{border-left:4px solid var(--orange)}
.avis-masque{opacity:.65}
.msg{border:1px solid var(--ligne);border-radius:14px;background:#fff;overflow:hidden}
.msg:not(.traite){border-left:4px solid var(--orange)}
.msg summary{display:flex;align-items:center;gap:12px;padding:12px 14px;cursor:pointer;list-style:none}
.msg summary::-webkit-details-marker{display:none}
.msg summary:hover{background:var(--fond)}
@media (max-width:640px){
  .avis{flex-wrap:wrap}
}
.tableau td.num{white-space:nowrap}
/* ---------- Gamification ---------- */
.ref-onglets .pc-compteur{margin-left:2px;font-size:.7rem}
.gam-badge{display:inline-grid;place-items:center;border-radius:50%;flex-shrink:0;object-fit:cover;font-weight:800;color:#fff;
  background:radial-gradient(circle at 30% 25%,#FFB27A,var(--orange) 55%,var(--orange-600));box-shadow:0 0 0 3px #fff,0 0 0 5px var(--orange-100)}
.gam-badge-moyen{width:52px;height:52px;font-size:1rem}
.gam-badge-petit{width:38px;height:38px;font-size:.8rem}
.gam-badge-carte .ref-actions{justify-content:flex-start;flex-wrap:wrap;margin-top:auto}
.gam-mouvements b.plus{color:var(--vert)}
.gam-mouvements b.moins{color:var(--rouge)}
.gam-top .podium.p1 .gam-rang{background:#F5A524;border-color:#F5A524;color:#fff}
.gam-top .podium.p2 .gam-rang{background:#A8B3C2;border-color:#A8B3C2;color:#fff}
.gam-top .podium.p3 .gam-rang{background:#CD8B5A;border-color:#CD8B5A;color:#fff}
/* ---------- Finance ---------- */
.kpi-alerte{border-color:var(--rouge);background:var(--rouge-50)}
.fin-formule.inactive{opacity:.6}
.fin-options .case-option{margin:4px 0;font-size:.86rem}
.fin-formule .ref-actions{justify-content:flex-start;flex-wrap:wrap}
.fin-paiements{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:8px}
.fin-paiements li{display:flex;align-items:flex-start;gap:10px;padding:10px;border-radius:12px;background:var(--fond);font-size:.86rem}
.fin-paiements li>b{color:var(--vert);white-space:nowrap}
.fin-paiements li>span{flex:1;min-width:0}
.fin-paiements small{display:block;color:var(--gris);font-size:.76rem}
.fin-reversement .champ{margin:0}
.tableau tfoot td{background:var(--fond);border-bottom:0}
.facture{padding:36px 40px}
.facture-tete{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;padding-bottom:20px;border-bottom:2px solid var(--orange)}
.facture-emetteur p{margin:8px 0 0;font-size:.86rem;line-height:1.5}
.facture-emetteur .pc-logo-texte{font-size:1.5rem}
.facture-titre{text-align:right}
.facture-titre h2{margin:0;font-size:1.8rem;letter-spacing:.06em;text-transform:uppercase;color:var(--encre)}
.facture-titre p{margin:4px 0}
.facture-client{display:flex;flex-direction:column;gap:2px;max-width:340px;margin:22px 0 22px auto;padding:14px 16px;border-radius:12px;background:var(--fond);font-size:.88rem}
.facture-client small{text-transform:uppercase;letter-spacing:.06em;font-size:.7rem;color:var(--gris);font-weight:700}
.facture-client b{color:var(--encre);font-size:1rem}
.facture-lignes{width:100%;border-collapse:collapse;font-size:.9rem}
.facture-lignes th{background:var(--encre);color:#fff;text-align:left;padding:10px 12px;font-weight:700}
.facture-lignes th.num,.facture-lignes td.num{text-align:right;white-space:nowrap}
.facture-lignes td{padding:14px 12px;border-bottom:1px solid var(--ligne);vertical-align:top}
.facture-totaux{display:flex;justify-content:flex-end;margin-top:14px}
.facture-totaux dl{margin:0;min-width:300px;display:grid;gap:4px}
.facture-totaux dl div{display:flex;justify-content:space-between;gap:20px;padding:6px 12px;font-size:.9rem}
.facture-totaux dt{color:var(--texte)}
.facture-totaux dd{margin:0;font-weight:700;color:var(--encre);white-space:nowrap}
.facture-totaux .total{background:var(--orange-50);border-radius:10px;font-size:1rem}
.facture-totaux .total dd{color:var(--orange-600)}
.facture-lettres{margin:18px 0 0;font-size:.88rem}
.facture-pied{margin-top:28px;padding-top:14px;border-top:1px solid var(--ligne);font-size:.8rem;color:var(--gris)}
.facture-pied p{margin:4px 0}
@media (max-width:640px){
  .facture{padding:20px 16px}
  .facture-titre{text-align:left}
  .facture-client{margin:18px 0}
  .facture-totaux dl{min-width:0;width:100%}
  .facture-lignes{font-size:.82rem}
  .facture-lignes th:nth-child(2),.facture-lignes td:nth-child(2),.facture-lignes th:nth-child(3),.facture-lignes td:nth-child(3){display:none}
}
@media print{
  .no-print,.alerte,.dash-cote,.fil-ariane{display:none!important}
  body,.pc-contenu{background:#fff!important}
  .dash-grille{display:block}
  .facture{border:0;box-shadow:none;padding:0}
  .facture-lignes th{background:#16253A!important;color:#fff!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .facture-totaux .total,.facture-client{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
.fin-options label.case-option{justify-content:flex-start}
/* =====================================================================
   Pilotage : statistiques, journaux, paramètres
   ===================================================================== */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.txt-succes{color:var(--vert)}
.stat-hausse{color:var(--vert);font-weight:800}
.stat-baisse{color:var(--rouge);font-weight:800}
.stat-stable{color:var(--gris);font-weight:800}
.stat-series{display:flex;gap:4px;background:var(--fond);padding:4px;border-radius:999px;flex-wrap:wrap}
.stat-series button{border:0;background:none;font:inherit;font-size:.82rem;font-weight:700;color:var(--texte);padding:7px 14px;border-radius:999px;cursor:pointer}
.stat-series button[aria-selected="true"]{background:#fff;color:var(--encre);box-shadow:0 1px 4px rgba(22,37,58,.12)}
.stat-graph .mini-col{min-width:0}
.stat-graph .mini-col i{max-width:28px}
.stat-top{list-style:none;display:flex;flex-direction:column}
.stat-top li{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--ligne)}
.stat-top li:last-child{border-bottom:0}
.stat-top-ic{width:34px;height:34px;border-radius:10px;background:var(--orange-50);color:var(--orange);display:grid;place-items:center}
.stat-top-ic .icone{width:17px;height:17px}
.stat-top-txt{min-width:0;display:flex;flex-direction:column;gap:2px}
.stat-top-txt b{color:var(--encre);font-size:.88rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.stat-top-txt small{font-size:.76rem}
.stat-jauge{display:block;height:5px;background:var(--fond);border-radius:99px;overflow:hidden;margin-top:3px}
.stat-jauge i{display:block;height:100%;background:var(--bleu);border-radius:99px}
.stat-top-n{text-align:right;color:var(--encre);font-size:1rem;line-height:1.1}
.stat-top-n small{display:block;font-size:.7rem;color:var(--gris);font-weight:600}
.kpi-carte b small.kpi-unite{display:inline;font-size:1rem;color:var(--gris);font-weight:700}
.stat-barres .barre-h{grid-template-columns:110px 1fr 58px 52px}
.stat-barres .barre-h b{white-space:nowrap}
.stat-barres .barre-h small{font-size:.72rem;text-align:right;white-space:nowrap}
@media (max-width:640px){
  .stat-graph .mini-col small{font-size:.58rem}
  .stat-graph .mini-col small.stat-lbl-sec{visibility:hidden}
  .stat-barres .barre-h{grid-template-columns:90px 1fr 52px}
  .stat-barres .barre-h small{display:none}
}
/* Journal d'audit */
.audit-puces{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:-4px 0 14px}
.audit-puce{display:inline-flex;align-items:center;gap:6px;background:var(--bleu-50);color:var(--bleu-600);font-size:.8rem;font-weight:700;padding:5px 12px;border-radius:999px}
.audit-puce:hover{text-decoration:none;background:var(--bleu-100)}
.audit-succes{background:var(--vert-50);color:var(--vert)}
.audit-erreur{background:var(--rouge-50);color:var(--rouge)}
.audit-attente{background:var(--orange-50);color:var(--orange-600)}
.audit-info{background:var(--bleu-50);color:var(--bleu-600)}
.audit-neutre{background:var(--fond);color:var(--gris)}
.cnx-graph .mini-col:hover i.cnx-ok{background:var(--bleu)}
.cnx-alerte-ic .icone{width:17px;height:17px}
.param-form .carte{margin:0}
.param-sommaire .icone{width:15px;height:15px;color:var(--bleu-600)}
.param-section h2 .icone{color:var(--orange)}
.champ-unite{display:flex;align-items:stretch}
.champ-unite input{flex:1;min-width:0;border-top-right-radius:0!important;border-bottom-right-radius:0!important}
.champ-unite span{display:flex;align-items:center;padding:0 12px;background:var(--fond);border:1px solid var(--ligne);border-left:0;border-radius:0 10px 10px 0;font-size:.82rem;font-weight:700;color:var(--gris);white-space:nowrap}
.param-note .badge{margin-right:6px}
@media (max-width:640px){
  .param-barre .btn{width:100%;justify-content:center}
}
/* =====================================================================
   Portail Laboratoire
   ===================================================================== */
.kpi-carte b small.kpi-unite{display:inline;font-size:1rem;color:var(--gris);font-weight:700}
.labo-note{font-size:.8rem;margin:10px 0 0}
.labo-intro{font-size:.86rem;margin:-6px 0 14px}
.labo-form{display:flex;flex-direction:column;min-width:0}
.labo-form>.carte,.labo-form .aca-fieldset>.carte{margin-bottom:20px}
.labo-barre{position:sticky;bottom:0;z-index:5;justify-content:space-between;align-items:center;background:rgba(255,255,255,.96);backdrop-filter:blur(6px);
  border:1px solid var(--ligne);border-radius:16px;padding:12px 16px;margin-top:0;box-shadow:0 -6px 20px rgba(22,37,58,.06)}
.labo-barre span{font-size:.82rem}
.labo-entete-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.labo-entete-actions form{margin:0}
.labo-alerte-lien .icone{width:16px;height:16px}
/* Accueil */
.labo-hero-id{display:flex;align-items:center;gap:18px;min-width:0}
.labo-hero-id>div{min-width:0}
.labo-logo{width:64px;height:64px;border-radius:16px;object-fit:contain;background:#fff;flex-shrink:0}
.labo-logo-vide{display:grid;place-items:center;font-weight:800;font-size:1.3rem;color:var(--orange);background:var(--orange-50)}
.labo-liste{list-style:none;display:flex;flex-direction:column}
.labo-liste li{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--ligne);font-size:.88rem}
.labo-liste li:last-child{border-bottom:0}
.labo-liste li>div{flex:1;min-width:0;display:flex;flex-direction:column}
.labo-liste li>div b{color:var(--encre);overflow:hidden;text-overflow:ellipsis}
.labo-liste-compacte li{padding:8px 0}
.labo-liste-ic .icone{width:17px;height:17px}
.labo-date{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;width:48px;height:50px;border-radius:12px;background:var(--bleu-50);color:var(--bleu-600);flex-shrink:0;line-height:1.1}
.labo-date b{font-size:1.15rem;color:var(--encre)}
.labo-date small{font-size:.66rem;font-weight:700;text-transform:uppercase}
.labo-signal .icone{color:var(--orange)}
.labo-vignette-ic .icone{width:18px;height:18px}
.labo-table td{vertical-align:middle}
.labo-encart>.icone{color:var(--orange);width:26px;height:26px}
.labo-motif.refus{background:var(--rouge-50);border-left-color:var(--rouge)}
.labo-motif>.icone{color:var(--jaune);flex-shrink:0}
.labo-motif.refus>.icone{color:var(--rouge)}
.labo-choix>span .icone{color:var(--bleu-600);margin-bottom:4px}
.labo-choix input:checked+span .icone{color:var(--orange)}
.aca-fieldset[disabled] .labo-choix{cursor:default}
.labo-image-actuelle .case-option{margin:0}
.labo-logo-champ{display:flex;gap:18px;align-items:flex-start;margin-bottom:16px}
.labo-logo-champ .champ{flex:1}
.labo-produit-img .icone{width:34px;height:34px}
.labo-apercu-tete .labo-logo{width:52px;height:52px;border:1px solid var(--ligne)}
/* Équipe */
.labo-membres{list-style:none;display:flex;flex-direction:column}
.labo-membres li{display:grid;grid-template-columns:40px minmax(0,1fr) auto auto;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid var(--ligne)}
.labo-membres li:last-child{border-bottom:0}
.labo-membre-id{display:flex;flex-direction:column;min-width:0}
.labo-membre-id b{color:var(--encre)}
.labo-membre-id small{font-size:.76rem;overflow:hidden;text-overflow:ellipsis}
.labo-membre-etat{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.labo-role{font-size:.82rem;font-weight:700;color:var(--encre);padding:6px 12px;background:var(--fond);border-radius:999px}
.labo-role-form{margin:0}
.labo-role-form select{padding:6px 30px 6px 10px;font-size:.82rem;min-width:180px}
.labo-menu-actions{position:relative}
.labo-menu-actions summary{list-style:none}
.labo-menu-actions summary::-webkit-details-marker{display:none}
.labo-menu-actions>div{position:absolute;right:0;top:calc(100% + 6px);z-index:20;background:#fff;border:1px solid var(--ligne);border-radius:12px;box-shadow:var(--ombre);padding:6px;min-width:230px;display:flex;flex-direction:column}
.labo-menu-actions form{margin:0}
.labo-menu-actions button{width:100%;text-align:left;background:none;border:0;font:inherit;font-size:.84rem;padding:9px 12px;border-radius:8px;cursor:pointer;color:var(--texte)}
.labo-menu-actions button:hover{background:var(--fond)}
.labo-roles{display:flex;flex-direction:column;gap:12px;margin:0}
.labo-roles dt{font-weight:800;color:var(--encre);font-size:.88rem}
.labo-roles dd{margin:2px 0 0;font-size:.8rem}
.labo-roles details{margin-top:4px}
.labo-roles summary{cursor:pointer;color:var(--bleu-600);font-weight:700;font-size:.78rem}
.labo-roles ul{margin:6px 0 0 18px;font-size:.78rem}
/* Ciblage */
.labo-audience{font-size:.92rem;margin:0 0 6px}
.labo-audience b{font-size:1.5rem;color:var(--encre)}
.labo-graph .mini-col{min-width:0}
.labo-graph .mini-col i{max-width:26px}
.labo-etoiles{display:inline-flex;gap:1px;color:var(--ligne);font-size:.95rem;line-height:1;vertical-align:middle}
.labo-etoiles i{font-style:normal}
.labo-etoiles i.pleine{color:#F5A524}
.labo-distribution a:hover,.labo-distribution a.actif{background:var(--fond)}
.labo-selection-liste .case-option{margin:4px 0}
.labo-comparaison th.num{white-space:normal;min-width:140px}
.labo-demande-contact .icone{width:15px;height:15px;color:var(--gris)}
.labo-options li .icone{width:16px;height:16px;flex-shrink:0;margin-top:2px}
.labo-options li.oui .icone{color:var(--vert)}
.labo-options li.non{color:var(--gris)}
.labo-formules{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}
.labo-formule{position:relative;border:1.5px solid var(--ligne);border-radius:16px;padding:20px 18px;display:flex;flex-direction:column;gap:12px}
.labo-formule.actuelle{border-color:var(--orange)}
.labo-formule h3{margin:0;font-size:1.1rem}
.labo-formule .labo-options{flex:1}
.labo-formule form{margin:0}
.labo-prix{display:flex;flex-direction:column;gap:2px}
.labo-prix b{font-size:1.5rem;color:var(--encre);line-height:1.1}
.labo-prix small{font-size:.76rem;color:var(--gris)}
.labo-prix .badge{align-self:flex-start;margin-top:4px}
.labo-rib{font-size:.86rem;padding:10px 12px;background:var(--fond);border-radius:10px}
/* Notifications */
.labo-notifs-jour{font-size:.74rem;text-transform:uppercase;letter-spacing:.05em;color:var(--orange-600);margin:16px 0 4px}
.labo-notifs-jour:first-child{margin-top:0}
.labo-notif{display:grid;grid-template-columns:12px minmax(0,1fr) auto;gap:12px;align-items:flex-start;padding:12px 10px;border-radius:12px}
.labo-notif:hover{background:var(--fond)}
.labo-notif.non-lue{background:var(--orange-50)}
.labo-notif-point{width:8px;height:8px;border-radius:50%;margin-top:7px}
.labo-notif.non-lue .labo-notif-point{background:var(--orange)}
.labo-notif b{color:var(--encre);font-size:.9rem}
.labo-notif p{margin:3px 0;font-size:.86rem}
.labo-notif time{font-size:.74rem}
.labo-notif-lu{margin:0}
@media (max-width:640px){
  .labo-membres li{grid-template-columns:40px minmax(0,1fr);row-gap:8px}
  .labo-membre-etat,.labo-menu-actions{grid-column:2}
  .labo-membre-etat{justify-content:flex-start}
  .labo-menu-actions>div{left:0;right:auto}
  .labo-liste li{flex-wrap:wrap}
  .labo-liste li>div{flex-basis:calc(100% - 50px)}
  .labo-logo-champ{flex-direction:column}
  .labo-hero-id .labo-logo{width:48px;height:48px}
  .labo-barre .btn{width:100%;justify-content:center}
}
@media print{
  .labo-barre{display:none!important}
}
.off-prog-succes i{background:var(--vert)}
.off-prog-info i{background:var(--bleu-600)}
.off-prog-attente i{background:#E3A008}
.off-prog-erreur i{background:var(--rouge)}
.labo-logo-vide{display:grid;place-items:center;background:var(--bleu-50);color:var(--bleu-600);font-weight:800}
.off-carte-img .icone{width:34px;height:34px}
.off-motif .icone{width:14px;height:14px}
.off-sponso-bandeau .icone{width:14px;height:14px}
.off-entete-img .icone{width:40px;height:40px}
.off-meta .icone{width:16px;height:16px;color:var(--gris)}
.off-programme-etat .icone{width:16px;height:16px}
.off-programme li.fait .off-programme-etat{background:var(--vert-50);color:var(--vert)}
.off-programme li.ouvert .off-programme-etat{background:var(--orange-50);color:var(--orange)}
.off-programme li.ferme{opacity:.65}
.off-programme-mini li.actif{background:var(--orange-50);font-weight:700}
.off-sponsor-lien .labo-logo{width:52px;height:52px;border:1px solid var(--ligne)}
.off-module-type .icone{width:16px;height:16px}
.off-lecteur-barre .btn{background:rgba(255,255,255,.12);color:#fff;border-color:transparent;min-width:36px}
.off-verrou .icone{color:var(--orange)}
.off-quiz-correction li li.bonne{background:var(--vert-50);color:var(--vert)}
.off-quiz-correction>li.juste .off-quiz-enonce .icone{color:var(--vert)}
.off-quiz-correction>li.faux .off-quiz-enonce .icone{color:var(--rouge)}
.off-quiz-resultat.reussi .off-score{background:radial-gradient(closest-side,#fff 78%,transparent 80% 100%),conic-gradient(var(--vert) calc(var(--pct)*1%),var(--ligne) 0)}
.off-certificat.revoque{opacity:.55}
.off-certificat.revoque::after{content:'RÉVOQUÉ';position:absolute;inset:40% 0 auto;font-size:3rem;font-weight:800;color:var(--rouge);transform:rotate(-12deg);opacity:.5}
.off-offre-tete .badge{margin-left:auto}
.off-labo-pied .icone{width:14px;height:14px}
.off-labo-tete .labo-logo{width:52px;height:52px;border:1px solid var(--ligne)}
.off-labo-hero .labo-logo{width:72px;height:72px}
.off-theme.actif{background:var(--orange);border-color:var(--orange)}
.off-theme.actif b,.off-theme.actif small{color:#fff}
.off-document.verrou .off-document-ic{background:var(--orange-50);color:var(--orange)}
.off-evt.annule{opacity:.6}
.off-badge:not(.obtenu) .gam-badge{filter:grayscale(1);opacity:.45}
.off-badge.obtenu{border-color:var(--orange-100);background:var(--orange-50)}
.off-classement li.moi{background:var(--orange-50)}
.off-recompense.epuise{opacity:.55}
.off-challenge.actif{outline:2px solid var(--orange-100)}
/* Profil, compte */
.off-identite{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin:0}
.off-identite div{display:flex;flex-direction:column}
.off-identite dt{font-size:.75rem;color:var(--gris);text-transform:uppercase;letter-spacing:.04em}
.off-identite dd{margin:0;font-weight:700;color:var(--encre);overflow-wrap:anywhere}
.off-identite-col{grid-template-columns:1fr}
.off-etapes li .icone{width:16px;height:16px}
.off-etapes li.ok{color:var(--vert)}
.off-gardes li.en-cours{border-color:var(--vert);background:var(--vert-50)}
.off-graph-barre.vide{background:repeating-linear-gradient(45deg,var(--fond),var(--fond) 4px,var(--ligne) 4px,var(--ligne) 8px);opacity:.6}
.labo-liste li.actif{background:var(--orange-50);border-radius:10px}
@media (max-width:900px){
  .off-entete-img-ic,.off-entete-date{aspect-ratio:auto;height:96px}
  .off-carte-img-ic{aspect-ratio:auto;height:90px}
}
@media print{
  .pc-sidebar,.pc-topbar,.no-print,.fil-ariane{display:none!important}
  .pc-principal{margin:0!important}
  .dash-grille{display:block}
}
.off-badge .badge,.off-action .badge,.off-reprendre .badge{align-self:flex-start}
.off-action .badge{align-self:flex-start}
.pub-meta .icone{width:16px;height:16px;color:var(--vert)}
.pub-recherche .btn{height:50px}
.pub-garde-lien .icone{width:16px;height:16px}
.pub-pastille.active{background:var(--vert);box-shadow:0 0 0 4px var(--vert-50);animation:pub-pulse 2s infinite}
@keyframes pub-pulse{50%{box-shadow:0 0 0 8px rgba(31,157,107,.12)}}
@media (prefers-reduced-motion:reduce){
  .pub-pastille.active{animation:none}
}
.pub-hero-carte .icone{grid-row:span 2;width:44px;height:44px;padding:10px;border-radius:12px;background:var(--orange-50);color:var(--orange)}
.pub-hero-carte:nth-child(2) .icone{background:var(--bleu-50);color:var(--bleu-600)}
.pub-hero-carte:nth-child(3) .icone{background:var(--vert-50);color:var(--vert)}
.pub-puces-themes a.actif{background:var(--orange);color:#fff}
.pub-section-tete .icone{width:16px;height:16px}
.pub-newsletter .btn{height:46px}
.pub-fiche-img .icone{width:40px;height:40px}
.pub-filtres .champ{margin:0}
.pub-filtres .champ-icone{flex:1;min-width:220px}
.pub-vide>.icone{width:44px;height:44px;color:var(--orange)}
.pub-encart>.icone{width:26px;height:26px;color:var(--bleu-600);flex-shrink:0}
.pub-tel .icone{width:16px;height:16px;color:var(--orange)}
.pub-creneaux .icone{width:13px;height:13px;margin-right:4px;vertical-align:-2px}
.pub-jours a.actif{background:var(--orange);border-color:var(--orange)}
.pub-jours a.actif b,.pub-jours a.actif small{color:#fff}
.pub-evt-infos .icone{width:22px;height:22px;color:var(--orange);flex-shrink:0}
.pub-contact>form .btn{align-self:flex-start;margin-top:10px}
.pub-encart-urgence>.icone{width:28px;height:28px;color:var(--bleu-600)}
.pub-encart-urgence .btn{align-self:flex-start}
.pub-verif-ic .icone{width:32px;height:32px}
.pub-verif-carte.valide{border-color:var(--vert)}
.pub-verif-carte.valide .pub-verif-ic{background:var(--vert-50);color:var(--vert)}
.pub-verif-carte.revoque{border-color:var(--rouge)}
.pub-verif-carte.revoque .pub-verif-ic{background:var(--rouge-50);color:var(--rouge)}
@media (max-width:640px){
  .pub-recherche .btn,.pub-recherche select{width:100%}
  .pub-filtres .champ{flex:1 1 100%}
  .pub-officine-actions .btn,.pub-officine-actions .pub-tel{flex:1;justify-content:center}
}

/* Paiement en ligne d'une facture (Includes/paiement_en_ligne.php, pel_bloc_html) */
.pel-bloc{border:1px solid var(--orange-100);background:var(--orange-50);border-radius:14px;padding:14px;margin:12px 0}
.pel-titre{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin:0 0 10px}
.pel-titre b{color:var(--encre)}
.pel-titre span{font-weight:800;color:var(--encre);font-size:1.05rem}
.pel-form{display:flex;flex-direction:column;gap:8px}
.pel-form .btn{justify-content:center}
.pel-note{font-size:.76rem;margin:10px 0 0;display:flex;gap:6px;align-items:flex-start}
.pel-note svg{width:14px;height:14px;flex-shrink:0;margin-top:2px}
.pel-test{font-size:.78rem;font-weight:700;color:#8A4B00;background:#FFF4D6;border-radius:8px;padding:6px 9px;margin:0 0 10px}

/* Application installable (PWA) */
.pc-installer{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--orange-100);background:var(--orange-50);color:var(--encre);font:inherit;font-size:.8rem;font-weight:700;border-radius:999px;padding:7px 12px;min-height:36px;cursor:pointer}
.pc-installer:hover{border-color:var(--orange)}
.pc-installer svg{width:15px;height:15px;color:var(--orange)}
.pc-installer[hidden]{display:none}
@media (max-width:640px){.pc-installer span{display:none}.pc-installer{padding:7px 9px}}
.pwa-push{display:flex;align-items:center;justify-content:space-between;gap:12px 16px;flex-wrap:wrap;margin-bottom:16px}
.pwa-push-texte{display:flex;gap:12px;align-items:flex-start;flex:1 1 260px;min-width:0}
.pwa-push-texte>svg{width:38px;height:38px;padding:9px;border-radius:12px;background:var(--orange-50);color:var(--orange);flex-shrink:0}
.pwa-push-texte b{display:block;color:var(--encre);font-size:.92rem}
.pwa-push-texte small{display:block;font-size:.8rem;line-height:1.45;margin-top:2px}
.pwa-push[data-actif="1"] .pwa-push-texte>svg{background:#E7F6EF;color:#1F7A55}
.pwa-push [data-push-bouton][hidden]{display:none}
.dash-cote .pwa-push{flex-direction:column;align-items:stretch}
