/* Module Ventes (« Mes affaires ») — le noyau : barre, fenêtres, éléments communs. Maquette validée par Fouad le 22/10/2026.
   Couleurs et polices de la tour (:root de style.css). Les vues : ventes-pipeline.css, ventes-vues.css, ventes-fiche.css */
#vue-ventes{display:grid;gap:12px;min-width:0}
#vue-ventes[hidden]{display:none}
:root{--ok-bg:rgba(61,220,132,.10);--warn-bg:rgba(240,136,62,.10);--bad-bg:rgba(255,107,122,.10);--blue-bg:rgba(91,140,255,.12);--lilas-bg:rgba(187,157,255,.10);--opaque:#10141c;--ombre:rgba(0,0,0,.55)}
svg.vi{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;vertical-align:-3px}
.mut{color:var(--muted)} .okc{color:var(--ok)} .warnc{color:var(--warn)} .it{font-style:italic}
#vue-ventes .btn,.ventes-fiche .btn,.ventes-modale .btn{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;color:var(--text);text-decoration:none;line-height:1.2}
#vue-ventes .btn.principal,.ventes-fiche .btn.principal,.ventes-modale .btn.principal{color:#fff}
.btn.vert{border-color:rgba(61,220,132,.55);color:var(--ok);background:var(--ok-bg)}
.btn.ia{border-color:rgba(187,157,255,.45);color:var(--lilas);background:var(--lilas-bg)}
.btn.ia:hover{border-color:var(--lilas)}
.vic{width:32px;height:32px;border-radius:9px;border:1px solid var(--line-2);background:transparent;display:inline-grid;place-items:center;color:var(--text);cursor:pointer;flex:none}
.vic:hover{border-color:var(--accent)}
.vic.petit{width:24px;height:24px;border-radius:7px}
.btns{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
/* Puces */
.vnote{display:inline-flex;align-items:center;font:500 11.5px var(--head);padding:1px 6px;border-radius:6px;border:1px solid rgba(169,193,255,.5);color:var(--cyan);white-space:nowrap}
.vnote.B{border-color:rgba(187,157,255,.5);color:var(--lilas)}
.vpill{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;padding:1px 8px;border-radius:99px;border:1px solid var(--line-2);color:var(--muted);white-space:nowrap}
.vpill.ok{border-color:rgba(61,220,132,.45);color:var(--ok);background:var(--ok-bg)}
.vpill.warn{border-color:rgba(240,136,62,.5);color:var(--warn);background:var(--warn-bg)}
.vpill.blue{border-color:rgba(91,140,255,.5);color:var(--cyan);background:var(--blue-bg)}
.vini{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;font:500 10px var(--head);border:1px solid var(--lilas);color:var(--lilas);flex:none}
.vact{display:inline-flex;align-items:center;gap:5px;font-size:12px}
.vact.ok{color:var(--ok)} .vact.td{color:var(--warn)} .vact.lt{color:var(--bad)} .vact.no{color:var(--faint)}
.vvide{color:var(--faint);font-size:12.5px;margin:6px 4px}
/* Drapeaux dessinés (marchés principaux), sinon le code du pays */
.vfl{display:inline-block;width:17px;height:12px;border-radius:2px;flex:none;vertical-align:-1px;box-shadow:0 0 0 1px rgba(255,255,255,.12)}
.vfl.FR{background:linear-gradient(90deg,#2f56c4 0 33.3%,#f1f2f5 33.3% 66.6%,#e3424f 66.6%)}
.vfl.US{background:linear-gradient(#3a4fa0,#3a4fa0) 0 0/45% 54% no-repeat,repeating-linear-gradient(#d8414e 0 1.7px,#f1f2f5 1.7px 3.4px)}
.vfl.CA{background:radial-gradient(circle at 50% 50%,#d8414e 0 2.6px,transparent 2.8px),linear-gradient(90deg,#d8414e 0 26%,#f1f2f5 26% 74%,#d8414e 74%)}
.vfl.MX{background:radial-gradient(circle at 50% 50%,#9a6b3a 0 2px,transparent 2.2px),linear-gradient(90deg,#1f8a52 0 33.3%,#f1f2f5 33.3% 66.6%,#d8414e 66.6%)}
.vfl.AE{background:linear-gradient(90deg,#d8414e 0 25%,transparent 25%),linear-gradient(#1f8a52 0 33.3%,#f1f2f5 33.3% 66.6%,#20232b 66.6%)}
.vfl-code{display:inline-flex;align-items:center;font:500 10px var(--head);letter-spacing:.04em;padding:0 4px;border-radius:3px;border:1px solid var(--line-2);color:var(--muted);height:14px}

/* ---------- La barre « Mes affaires » ---------- */
.ventes-barre{display:flex;flex-wrap:wrap;gap:8px 10px;align-items:center}
.vbarre-g{display:flex;align-items:center;gap:10px}
.vbarre-g h1{margin:0;font:500 20px var(--head);letter-spacing:-.01em}
.vbarre-d{display:flex;align-items:center;gap:8px;margin-left:auto;flex-wrap:wrap}
.vbarre-d select{width:auto}
.vrecherche{display:flex;align-items:center;gap:6px;flex-wrap:wrap;border:1px solid var(--line-2);background:rgba(5,8,14,.6);border-radius:9px;padding:4px 8px;min-width:0;flex:1 1 260px;max-width:520px;color:var(--muted)}
.vrecherche:focus-within{border-color:var(--accent)}
.vrecherche input{border:0;background:transparent;outline:0;min-width:80px;flex:1;padding:3px 0;color:var(--text)}
.vpuces{display:contents}
.vpc{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;padding:2px 4px 2px 8px;border-radius:6px;background:var(--blue-bg);color:var(--cyan)}
.vpc button{border:0;background:transparent;color:inherit;padding:0 3px;cursor:pointer;display:inline-grid}
.vpc svg.vi{width:12px;height:12px}
.vfiltres{position:relative}
.vderoule{position:absolute;z-index:40;top:38px;left:0;width:260px;background:var(--opaque);border:1px solid var(--line-2);border-radius:12px;padding:8px;box-shadow:0 20px 50px var(--ombre);display:grid;gap:2px}
.vderoule[hidden]{display:none}
.vderoule.droite{left:auto;right:0;top:38px}
.vderoule label{display:flex;align-items:center;gap:8px;padding:5px 8px;font-size:13px;border-radius:6px;cursor:pointer}
.vderoule label:hover{background:var(--panel-2)}
.vderoule .t{font:500 12px var(--head);color:var(--muted);padding:6px 8px 2px}
.vderoule button.l{display:block;width:100%;text-align:left;border:0;background:transparent;border-radius:8px;padding:8px;color:var(--text);cursor:pointer;font:inherit}
.vderoule button.l:hover{background:var(--panel-2)}
.vvues{display:inline-flex;border:1px solid var(--line-2);border-radius:9px;overflow:hidden}
.vvues button{border:0;background:transparent;color:var(--muted);padding:6px 10px;display:flex;align-items:center;gap:6px;font-size:13px;cursor:pointer}
.vvues button[aria-pressed="true"]{background:var(--panel-2);color:var(--text)}
.ventes-zone{min-width:0}
@media (max-width:720px){ .vrecherche{flex-basis:100%;max-width:none} .vbarre-d{margin-left:0} .vbarre-g h1{font-size:18px} }

/* ---------- Fenêtres (Perdu, Gagné, Oui du client, démo, casques, nouvelle opportunité) ---------- */
.ventes-modale{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:16px;background:rgba(5,7,11,.66);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.ventes-modale[hidden]{display:none}
.vfen{width:min(560px,100%);max-height:calc(100vh - 32px);overflow:auto;background:var(--opaque);border:1px solid var(--line-2);border-radius:14px;box-shadow:0 30px 80px var(--ombre);display:grid;align-content:start}
.vfen-t{display:flex;align-items:center;gap:10px;padding:13px 16px;border-bottom:1px solid var(--line)}
.vfen-t h2{margin:0;font:500 16px var(--head);flex:1}
.vfen-c{padding:14px 16px;display:grid;gap:12px}
.vfen-p{padding:12px 16px;border-top:1px solid var(--line);display:flex;gap:8px;justify-content:flex-end}
.vchamp{display:grid;gap:4px;font-size:13px}
.vchamp>span{color:var(--muted)}
.vchamp small{color:var(--faint);font-size:12px}
.vgrille2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.vfen input,.vfen select,.vfen textarea,.vform input,.vform select,.vform textarea,.vf-corps input,.vf-corps select,.vbarre-d select,.vliste-outils select{background:rgba(5,8,14,.7);border:1px solid var(--line-2);border-radius:8px;padding:7px 9px;min-width:0;width:100%;color:var(--text);font:inherit}
.vbarre-d select,.vliste-outils select{width:auto}

/* Fenêtre « Confier à » (lot 2) */
.confiage{width:min(720px,100%);max-height:88vh;display:flex;flex-direction:column;gap:10px;padding:18px;border-radius:14px;border:1px solid var(--line-2);background:var(--panel-2);box-shadow:0 20px 60px rgba(0,0,0,.5)}
.confiage h2{margin:0;font:600 18px var(--head)}
.confiage-liste{overflow:auto;display:grid;gap:4px;min-height:80px}
.confiage-ligne{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:7px 9px;border-radius:9px;border:1px solid var(--line);background:var(--node);cursor:pointer}
.confiage-ligne:hover{border-color:var(--line-2)}
.confiage .actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}
.confiage .actions b{margin-right:auto;font:500 13px var(--body);color:var(--muted)}

/* ---------- Panneau d'appel et fin d'appel (lot 4, public/appel.js) ---------- */
.vap{position:fixed;right:16px;bottom:16px;width:400px;max-width:calc(100vw - 32px);max-height:calc(100vh - 32px);z-index:58;display:flex;flex-direction:column;background:var(--opaque);border:1px solid var(--line-2);border-radius:14px;box-shadow:0 26px 70px var(--ombre)}
.vap[hidden]{display:none}
.vap .btn{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;color:var(--text);text-decoration:none;line-height:1.2}
.vap .btn.principal{color:#fff}
.vap .btn .k{font:500 10.5px var(--head);opacity:.75;border:1px solid currentColor;border-radius:5px;padding:0 4px;margin-left:2px}
.vap-tete{padding:11px 14px 10px;border-bottom:1px solid var(--line);display:grid;gap:3px}
.vap-tete .l1{display:flex;align-items:center;gap:8px;min-width:0}
.vap-tete .l1 b{font:500 15px var(--head);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.vap-tete .l1 .fin{margin-left:auto;display:flex;gap:4px;align-items:center}
.vap-tete .l2{font-size:12.5px;color:var(--muted)}
.vap-corps{flex:1;min-height:0;overflow:auto;padding:12px 14px;display:grid;gap:10px;align-content:start}
.vap-corps input,.vap-corps textarea{background:rgba(5,8,14,.7);border:1px solid var(--line-2);border-radius:8px;padding:7px 9px;min-width:0;width:100%;color:var(--text);font:inherit}
.vap-num{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.vap-num b{font:500 22px var(--head);user-select:all}
.vap-raison{margin:0;color:var(--cyan);font-size:13px}
.vap-appeler{justify-content:center;padding:11px 14px!important;font-size:15px!important}
.vap-obj{display:grid;gap:6px}
.vap-ligne{display:flex;gap:6px}
.vap-rep{margin:0;font-size:13.5px;padding:8px 10px;border-radius:8px;border-left:2px solid var(--lilas);background:rgba(5,8,14,.5)}
.vap-issues{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
.vap-issues button{display:flex;gap:6px;align-items:center;border:1px solid var(--line-2);background:var(--panel-2);border-radius:8px;padding:6px 7px;font-size:12.5px;text-align:left;color:var(--text);min-width:0;cursor:pointer}
.vap-issues button span{flex:none;width:18px;height:18px;border-radius:5px;display:grid;place-items:center;font:500 11px var(--head);background:rgba(5,8,14,.6);border:1px solid var(--line-2)}
.vap-issues button[aria-pressed="true"]{border-color:var(--accent);background:var(--blue-bg)}
.vap-issues button[aria-pressed="true"] span{background:var(--accent);border-color:var(--accent);color:#fff}
.vap-puces{display:grid;gap:8px}
.vap-puces summary,.vap-props summary{cursor:pointer;color:var(--cyan);font-size:13px}
.vap-props p{margin:4px 0;font-size:13px}
.vcase{display:flex;align-items:center;gap:8px;font-size:13px;cursor:pointer}
.vcase input{width:auto!important}
.vap-pied{display:flex;gap:8px;justify-content:space-between;align-items:center}
.vap-racc{font-size:11px;color:var(--faint);text-align:center;padding:6px;border-top:1px solid var(--line)}
@media (max-width:720px){ .vap{left:0;right:0;bottom:0;width:auto;max-width:none;border-radius:16px 16px 0 0;max-height:92vh} .vap-issues{grid-template-columns:repeat(2,minmax(0,1fr))} .vap .btn .k,.vap-racc{display:none} }

/* ---------- Ma journée (lot 4, public/ventes-journee.js) ---------- */
#journee .btn{display:inline-flex;align-items:center;gap:7px;color:var(--text);text-decoration:none}
#journee .btn.principal{color:#fff}
.vj-tete{gap:12px}
.vj-hud{display:flex;flex-wrap:wrap;gap:6px 18px;align-items:baseline;font-size:13.5px;color:var(--muted)}
.vj-hud>b{font:500 17px var(--head);color:var(--text)}
.vj-hud span b{color:var(--text);font-family:var(--head)}
.vj-cta{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.btn.gros{padding:12px 18px;font-size:15px;border-radius:11px}
.vtaf{display:grid}
.vtaf-r{display:grid;grid-template-columns:120px minmax(0,1fr) auto;gap:4px 14px;align-items:center;padding:10px 4px;border-top:1px solid var(--line)}
.vtaf-r:first-child{border-top:0}
.vtaf-r .quand{font:500 12.5px var(--head)}
.vtaf-r .quoi b{font-weight:500}
.vtaf-r .quoi p{margin:2px 0 0;color:var(--muted);font-size:13px}
.vtaf-r.grand{background:var(--warn-bg);border:1px solid rgba(240,136,62,.4);border-radius:10px;padding:12px}
.vtaf-r.chaud .quand,.vtaf-r.retard .quand{color:var(--warn)}
.vfile .r{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1.6fr) auto;gap:4px 12px;align-items:center;padding:7px 4px;border-top:1px solid var(--line);font-size:13.5px}
.vfile .r:first-child{border-top:0}
.vfile .r.gris{opacity:.55}
.vfile .ent{display:flex;align-items:center;gap:7px;min-width:0}
.vfile .ent b{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vfile .etat{color:var(--muted);font-size:12.5px}
.vj-obj{display:grid;gap:10px}
@media (max-width:720px){ .vtaf-r{grid-template-columns:minmax(0,1fr)} .vfile .r{grid-template-columns:minmax(0,1fr) auto} .vfile .etat{grid-column:1;grid-row:2} .vfile .r .btn{grid-row:1/3;grid-column:2} }

/* ---------- Cockpit de Fouad (lot 11, public/cockpit-ventes.js) ---------- */
.cv{display:grid;gap:12px;margin-bottom:12px}
.cv-chiffres{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.cv-chiffre{background:var(--node);border:1px solid var(--line);border-radius:12px;padding:11px 13px;display:grid;gap:3px;min-width:0}
.cv-chiffre span{font-size:12.5px;color:var(--muted)}
.cv-chiffre b{font:400 24px/1.1 var(--head);letter-spacing:-.02em}
.cv-chiffre small{font-size:12px;color:var(--muted)}
.cv-chiffre.v b{color:var(--ok)} .cv-chiffre.o b{color:var(--warn)}
.cv-liste{display:grid}
.cv-ligne{display:grid;grid-template-columns:90px minmax(0,1fr) auto;gap:6px 12px;align-items:center;padding:10px 4px;border-top:1px solid var(--line)}
.cv-ligne:first-child{border-top:0}
.cv-type{font:500 12px var(--head);color:var(--warn)}
.cv-quoi b{font-weight:500} .cv-quoi p{margin:2px 0 0;font-size:13px;color:var(--muted)}
@media (max-width:900px){ .cv-chiffres{grid-template-columns:repeat(2,minmax(0,1fr))} .cv-ligne{grid-template-columns:minmax(0,1fr)} .cv-chiffre b{font-size:20px} }

/* ---------- Compositeur d'email (lot 6) ---------- */
.vfen.large{width:min(720px,100%)}
.vfen .vverif{border:1px solid var(--line-2);border-radius:9px;padding:9px 11px;display:grid;gap:4px;font-size:13px}
.vfen .vverif.ok{border-color:rgba(61,220,132,.45);background:var(--ok-bg);color:var(--ok)}
.vfen .vverif.ko{border-color:rgba(240,136,62,.5);background:var(--warn-bg);color:var(--warn)}
.vfen .vpied-mail{font-size:12.5px;color:var(--muted);padding:8px 10px;border-radius:8px;background:rgba(5,8,14,.45);user-select:none}
.vfen .vruban{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 12px;border-radius:9px;background:var(--warn-bg);border:1px solid rgba(240,136,62,.45);color:var(--warn);font-size:13.5px}
.vfil details>summary{cursor:pointer;list-style:none}
.vfil details[open]>summary{margin-bottom:4px}
