/* « Mes préférences » refondues (09/11/2026, drapeau prefs_v2). Maquette validée :
   workspace/Desk-Refonte-globale/preferences-0811/maquette-preferences.html. Tout est sous #pv2Modal. */
#pv2Modal{align-items:center;padding:24px 16px}
#pv2Modal .pv2-fen{width:940px;max-width:96vw;height:640px;max-height:calc(100vh - 48px);background:var(--card);border-radius:16px;
  box-shadow:0 24px 60px rgba(0,0,0,.35);overflow:hidden;display:flex;flex-direction:column;color:var(--txt,var(--ink))}
#pv2Modal svg{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
#pv2Modal .pv2-tete{background:var(--navy);color:#fff;height:56px;padding:0 14px 0 22px;display:flex;align-items:center;gap:12px;flex:0 0 auto}
#pv2Modal .pv2-tete>svg{width:20px;height:20px}
#pv2Modal .pv2-tete b{font-size:16px;font-weight:800}
#pv2Modal .pv2-x{margin-left:auto;width:32px;height:32px;border-radius:50%;border:0;background:rgba(255,255,255,.12);color:#fff;
  display:grid;place-items:center;cursor:pointer}
#pv2Modal .pv2-x:hover{background:rgba(255,255,255,.22)}
#pv2Modal .pv2-x svg{width:16px;height:16px}
#pv2Modal .pv2-corps{flex:1;display:grid;grid-template-columns:270px 1fr;min-height:0}
#pv2Modal .pv2-nav{background:var(--card2);border-right:1px solid var(--line);padding:16px 12px;display:flex;flex-direction:column;gap:2px;
  overflow-y:auto;overscroll-behavior:contain}
#pv2Modal .pv2-moi{display:flex;align-items:center;gap:11px;padding:4px 8px 14px;margin-bottom:8px;border-bottom:1px solid var(--line)}
#pv2Modal .pv2-moi b{display:block;font-size:13.5px;color:var(--ink)}
#pv2Modal .pv2-moi div span{font-size:12px;color:var(--mut)}
#pv2Modal .pv2-av{display:inline-flex;flex:0 0 auto}
#pv2Modal .pv2-avi{width:40px;height:40px;font-size:14px}
#pv2Modal .pv2-it{display:flex;align-items:center;gap:11px;width:100%;min-height:50px;padding:0 10px;border:0;border-radius:10px;
  background:none;color:var(--ink);cursor:pointer;text-align:left;font:inherit}
#pv2Modal .pv2-it:hover{background:rgba(20,50,64,.05)}
#pv2Modal .pv2-it:focus-visible{outline:2px solid var(--ink);outline-offset:-2px}
#pv2Modal .pv2-it>svg{width:18px;height:18px;flex:0 0 18px;color:var(--mut)}
#pv2Modal .pv2-t{min-width:0;flex:1}
#pv2Modal .pv2-t b{display:block;font-size:13px;font-weight:700;white-space:nowrap}
#pv2Modal .pv2-t small{display:block;font-size:11.5px;color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#pv2Modal .pv2-it.on{background:var(--card);box-shadow:0 1px 3px rgba(20,50,64,.12)}
#pv2Modal .pv2-it.on>svg{color:var(--ink)}
#pv2Modal .pv2-etat{width:8px;height:8px;border-radius:50%;flex:0 0 8px}
#pv2Modal .pv2-etat.vert{background:#2f6f5a}
#pv2Modal .pv2-etat.ambre{background:#d98a0b}
#pv2Modal .pv2-pan{padding:24px 28px;overflow-y:auto;overscroll-behavior:contain}
#pv2Modal .pv2-pan h2{margin:0 0 4px;font-size:18px;color:var(--ink)}
#pv2Modal .pv2-intro{margin:0 0 18px;font-size:12.5px;color:var(--mut)}
#pv2Modal .pv2-bloc{border:1px solid var(--line);border-radius:12px;margin-bottom:14px;overflow:hidden}
#pv2Modal .pv2-titre{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--mut);padding:12px 16px 0}
#pv2Modal .pv2-ligne{display:flex;align-items:center;gap:12px;min-height:62px;padding:12px 16px;border-bottom:1px solid var(--line)}
#pv2Modal .pv2-ligne:last-child{border-bottom:0}
#pv2Modal .pv2-l{flex:1;min-width:0}
#pv2Modal .pv2-l b{display:block;font-size:13.5px;color:var(--ink);overflow-wrap:anywhere}
#pv2Modal .pv2-l span{display:block;font-size:12px;color:var(--mut);margin-top:2px}
#pv2Modal .pv2-vide{padding:18px 16px;font-size:13px;color:var(--mut)}
#pv2Modal .pv2-note{font-size:12.5px;color:var(--mut);margin:-4px 2px 14px}
/* interrupteur, segment, boutons, pastilles : la charte du Desk */
#pv2Modal .pv2-sw{width:38px;height:22px;border-radius:999px;background:#c5ced6;position:relative;flex:0 0 38px;cursor:pointer;transition:background .15s}
#pv2Modal .pv2-sw:after{content:"";position:absolute;left:3px;top:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:left .15s}
#pv2Modal .pv2-sw.on{background:#2f6f5a}
#pv2Modal .pv2-sw.on:after{left:19px}
#pv2Modal .pv2-sw:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
#pv2Modal .pv2-seg{display:flex;border:1.5px solid var(--line);border-radius:10px;overflow:hidden;flex:0 0 auto}
#pv2Modal .pv2-seg button{display:flex;align-items:center;gap:7px;padding:0 13px;height:34px;border:0;border-right:1px solid var(--line);background:var(--card);
  color:var(--mut);font:inherit;font-size:13px;font-weight:600;cursor:pointer}
#pv2Modal .pv2-seg button:last-child{border-right:0}
#pv2Modal .pv2-seg button svg{width:15px;height:15px}
#pv2Modal .pv2-seg button.on{background:var(--navy);color:#fff}
#pv2Modal .pv2-btn{height:34px;padding:0 14px;border-radius:9px;border:1.5px solid var(--line);background:var(--card);color:var(--ink);font:inherit;font-size:13px;
  font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap;flex:0 0 auto;cursor:pointer}
#pv2Modal .pv2-btn:hover{border-color:var(--mut)}
#pv2Modal .pv2-btn.p{background:var(--reply);border-color:var(--reply);color:#fff}
#pv2Modal .pv2-btn.p:hover{filter:brightness(.95)}
#pv2Modal .pv2-btn.ic{width:34px;padding:0}
#pv2Modal .pv2-btn svg{width:15px;height:15px}
#pv2Modal .pv2-btn:focus-visible,#pv2Modal .pv2-seg button:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
#pv2Modal .pv2-btn:disabled{opacity:.5;cursor:not-allowed}
#pv2Modal .pv2-pastille{font-size:11.5px;font-weight:700;border-radius:999px;padding:3px 9px;white-space:nowrap;flex:0 0 auto}
#pv2Modal .pv2-pastille.vert{background:rgba(47,111,90,.12);color:#2f6f5a}
#pv2Modal .pv2-pastille.ambre{background:#fff4e0;color:#8a5a00}
#pv2Modal .pv2-pastille.neutre{background:var(--card2);color:var(--mut)}
#pv2Modal .pv2-lien{color:#2563eb;font-weight:700;text-decoration:none}
#pv2Modal .pv2-lien:hover{text-decoration:underline}
#pv2Modal .pv2-plus{border:0;background:none;color:#2563eb;font:inherit;font-size:12.5px;font-weight:700;cursor:pointer;padding:0 2px}
#pv2Modal .pv2-aide{padding:12px 16px;font-size:12.5px;color:var(--mut);background:var(--card2);border-bottom:1px solid var(--line)}
#pv2Modal .pv2-aide-p{margin-top:10px}
/* formulaires du mot de passe et de la double authentification */
#pv2Modal .pv2-form{padding:14px 16px;background:var(--card2);border-bottom:1px solid var(--line)}
#pv2Modal .pv2-champ{display:block;margin-bottom:10px}
#pv2Modal .pv2-champ span{display:block;font-size:12px;font-weight:700;color:var(--mut);margin-bottom:5px}
#pv2Modal .pv2-champ input{width:100%;height:38px;box-sizing:border-box;border:1.5px solid var(--line);border-radius:9px;padding:0 11px;font:inherit;font-size:13.5px;
  background:var(--card);color:var(--ink)}
#pv2Modal .pv2-champ input:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px rgba(20,50,64,.12)}
#pv2Modal .pv2-err{color:#b91c1c;font-size:12.5px;min-height:0}
#pv2Modal .pv2-err:empty{display:none}
#pv2Modal .pv2-pied{display:flex;justify-content:flex-end;gap:8px;margin-top:6px}
#pv2Modal .pv2-qr{display:flex;gap:16px;align-items:flex-start}
#pv2Modal .pv2-qr img{width:150px;height:150px;border:1px solid var(--line);border-radius:10px;background:#fff;flex:0 0 150px}
#pv2Modal .pv2-qr>div{flex:1;min-width:0}
#pv2Modal .pv2-qr p{margin:0 0 8px;font-size:12.5px;color:var(--mut)}
#pv2Modal .pv2-cle code{font-size:12px;word-break:break-all}
/* Mon lien de rendez-vous : le contenu dessiné par rdv_proposer.js, dans un bloc */
#pv2Modal .pv2-rdv{padding:4px 16px 16px}
#pv2Modal .pv2-retour{display:none}
/* sombre */
html.theme-dark #pv2Modal .pv2-it:hover{background:rgba(255,255,255,.05)}
html.theme-dark #pv2Modal .pv2-seg button.on{background:#dbe8ed;color:#0e2731}
html.theme-dark #pv2Modal .pv2-pastille.ambre{background:rgba(210,153,34,.16);color:#f0c46a}
html.theme-dark #pv2Modal .pv2-pastille.vert{color:#7fd1ad}
html.theme-dark #pv2Modal .pv2-sw{background:#4b6472}
html.theme-dark #pv2Modal .pv2-sw.on{background:#2f8f6f}
/* téléphone : la liste des catégories, puis la catégorie en pleine page */
#pv2Modal.pv2-tel{padding:0}
#pv2Modal.pv2-tel .pv2-fen{width:100vw;max-width:100vw;height:100vh;max-height:100vh;border-radius:0}
#pv2Modal.pv2-tel .pv2-corps{grid-template-columns:1fr}
#pv2Modal.pv2-tel .pv2-nav{background:var(--card);border-right:0}
#pv2Modal.pv2-tel .pv2-it{min-height:58px}
#pv2Modal.pv2-tel .pv2-pan{display:none;padding:16px}
#pv2Modal.pv2-tel.pv2-detail .pv2-nav{display:none}
#pv2Modal.pv2-tel.pv2-detail .pv2-pan{display:block}
#pv2Modal.pv2-tel .pv2-retour{display:inline-flex;align-items:center;gap:6px;border:0;background:none;color:var(--ink);font:inherit;font-size:13px;
  font-weight:700;padding:4px 0 14px;cursor:pointer}
#pv2Modal.pv2-tel .pv2-retour svg{width:16px;height:16px}
#pv2Modal.pv2-tel .pv2-ligne{flex-wrap:wrap}
#pv2Modal.pv2-tel .pv2-l{flex:1 1 170px}
#pv2Modal.pv2-tel .pv2-qr{flex-direction:column}
/* gras des libellés (une règle générale du Desk passe sinon devant), jours et adresse de Mon lien */
#pv2Modal .pv2-l b,#pv2Modal .pv2-moi b{font-weight:700}
#pv2Modal .pv2-jours{display:flex;gap:6px;flex:0 0 auto}
#pv2Modal .pv2-jours button{border:1.5px solid var(--line);background:var(--card);color:var(--mut);border-radius:999px;font:inherit;font-size:12.5px;
  font-weight:600;padding:0 11px;height:30px;cursor:pointer}
#pv2Modal .pv2-jours button.on{background:var(--navy);border-color:var(--navy);color:#fff}
html.theme-dark #pv2Modal .pv2-jours button.on{background:#dbe8ed;border-color:#dbe8ed;color:#0e2731}
#pv2Modal .pv2-url{flex:1;min-width:0;height:34px;display:flex;align-items:center;padding:0 10px;border:1.5px solid var(--line);border-radius:9px;
  background:var(--card2);color:var(--ink);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
