/* Ajouter un contact depuis le Chat (05/11/2026, drapeau chat_ajout_contact).
   La fenêtre vit au niveau de body : tout est scopé sous #cacModal. */
#s27.cat-on .cat-ajc{display:flex;align-items:center;justify-content:center;gap:7px;width:calc(100% - 32px);height:34px;margin:0 16px 10px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink);font-weight:700;font-size:12.5px;padding:0 12px;flex:0 0 auto}
#s27.cat-on .cat-ajc:hover{background:var(--card2)}
#s27.cat-on .cat-ajc svg{width:14px;height:14px;color:var(--mut)}

#cacModal{z-index:10067;align-items:center;padding:24px 16px}
#cacModal .modal.cac{width:640px;max-width:100%;max-height:calc(100vh - 48px);display:flex;flex-direction:column}
#cacModal .mh2{flex:0 0 auto}
#cacModal .mbody{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:18px 22px 6px}
#cacModal svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#cacModal *{box-sizing:border-box}

/* étapes */
#cacModal .cac-et{display:grid;grid-template-columns:22px minmax(0,1fr);column-gap:12px;margin-bottom:18px}
#cacModal .cac-n{width:22px;height:22px;border-radius:50%;background:var(--ink);color:var(--card);font-size:11.5px;font-weight:800;display:flex;align-items:center;justify-content:center}
#cacModal .cac-etb{min-width:0}
#cacModal .cac-etb h3{margin:2px 0 8px;font-size:13.5px;font-weight:800;color:var(--ink);line-height:18px}

/* recherche et listes */
#cacModal .cac-q{display:flex;align-items:center;gap:7px;height:36px;border:1px solid var(--line);border-radius:10px;padding:0 10px;color:var(--mut);background:var(--card)}
#cacModal .cac-q:focus-within{border-color:var(--ink)}
#cacModal .cac-q svg{width:15px;height:15px;flex:0 0 auto}
#cacModal .cac-q input{flex:1;min-width:0;height:100%;border:0;outline:0;background:transparent;color:var(--ink);font:inherit;font-size:13px;padding:0}
#cacModal .cac-q input::placeholder{color:var(--mut)}
#cacModal .cac-liste{margin-top:6px;max-height:176px;overflow-y:auto;overscroll-behavior:contain;border:1px solid var(--line);border-radius:10px}
#cacModal .cac-li{display:flex;align-items:center;gap:10px;min-height:44px;padding:6px 10px;cursor:pointer;border-bottom:1px solid var(--line)}
#cacModal .cac-li:last-child{border-bottom:0}
#cacModal .cac-li:hover{background:var(--card2)}
#cacModal .cac-li.on{background:var(--sel)}
#cacModal .cac-av{width:28px;height:28px;border-radius:8px;background:#5d7486;color:#fff;font-size:10.5px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}
#cacModal .cac-lit{flex:1;min-width:0}
#cacModal .cac-lit .t{display:block;font-size:13px;font-weight:700;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:17px}
#cacModal .cac-lit .x{display:block;font-size:11.5px;color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:15px}
#cacModal .cac-ok{width:18px;height:18px;color:var(--ink);flex:0 0 auto}
#cacModal .cac-ok svg{width:18px;height:18px}
#cacModal .cac-tag{font-size:11px;font-weight:700;color:var(--mut);white-space:nowrap}
#cacModal .cac-vide{padding:10px;font-size:12.5px;color:var(--mut);line-height:17px}
#cacModal .cac-pris{display:flex;align-items:center;gap:10px;min-height:44px;padding:6px 8px 6px 10px;border:1px solid var(--line);border-radius:10px}
#cacModal .cac-pris b{flex:1;min-width:0;font-size:13px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* canal */
#cacModal .cac-canaux{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
#cacModal .cac-can{display:grid;grid-template-columns:28px minmax(0,1fr);column-gap:8px;align-items:center;text-align:left;min-height:56px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--card);cursor:pointer;font-family:inherit}
#cacModal .cac-can:hover:not(:disabled){background:var(--card2)}
#cacModal .cac-can.on{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink);background:var(--sel)}
#cacModal .cac-can:disabled{cursor:default;background:var(--card2);border-color:transparent}
#cacModal .cac-cani{grid-row:1 / span 2;width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:var(--card2);color:var(--ink)}
#cacModal .cac-can.on .cac-cani{background:var(--card)}
#cacModal .cac-can:disabled .cac-cani{color:var(--mut);background:var(--card)}
#cacModal .cac-cani svg{width:15px;height:15px}
#cacModal .cac-cant{font-size:13px;font-weight:700;color:var(--ink);line-height:17px}
#cacModal .cac-can:disabled .cac-cant{color:var(--mut)}
#cacModal .cac-canx{font-size:11.5px;color:var(--mut);line-height:14px}

/* personne */
#cacModal .cac-seg{display:inline-flex;padding:3px;border-radius:10px;background:var(--card2);margin-bottom:8px}
#cacModal .cac-seg button{height:30px;border:0;border-radius:8px;background:transparent;color:var(--mut);font:inherit;font-size:12.5px;font-weight:700;padding:0 12px;cursor:pointer}
#cacModal .cac-seg button.on{background:var(--card);color:var(--ink);box-shadow:0 1px 2px rgba(0,0,0,.12)}
#cacModal .cac-2c{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
#cacModal .cac-ch{display:block;margin-top:8px}
#cacModal .cac-ch span{display:block;font-size:12px;font-weight:700;color:var(--txt);margin-bottom:4px}
#cacModal .cac-ch input{width:100%;height:36px;border:1px solid var(--line);border-radius:10px;padding:0 10px;background:var(--card);color:var(--ink);font:inherit;font-size:13px;outline:0}
#cacModal .cac-ch input:focus{border-color:var(--ink)}
#cacModal .cac-aide{font-size:11.5px;color:var(--mut);margin-top:4px;line-height:15px}

/* pied : phrase de conséquence, puis la paire de boutons */
#cacModal .cac-pied{flex:0 0 auto;padding:12px 22px 16px;border-top:1px solid var(--line);background:var(--card)}
#cacModal .cac-err{font-size:12.5px;font-weight:700;color:#b03636;margin-bottom:6px}
html.theme-dark #cacModal .cac-err{color:#ff9b9b}
#cacModal .cac-cons{font-size:12px;color:var(--mut);margin-bottom:10px;line-height:16px}
#cacModal .cac-btns{display:flex;justify-content:flex-end;gap:8px}
#cacModal .cac-b{height:36px;min-width:132px;border-radius:10px;font:inherit;font-size:13px;font-weight:700;padding:0 14px;cursor:pointer;white-space:nowrap}
#cacModal .cac-b.o{border:1px solid var(--line);background:var(--card);color:var(--ink)}
#cacModal .cac-b.o:hover{background:var(--card2)}
#cacModal .cac-b.p{border:0;background:var(--reply);color:#fff}
#cacModal .cac-b.p:hover{opacity:.92}
#cacModal .cac-b:disabled{opacity:.6;cursor:default}
#cacModal .cac-b.s{height:32px;min-width:0;font-size:12.5px;flex:0 0 auto}

/* résultat */
#cacModal .cac-fait{padding:6px 0 14px}
#cacModal .cac-fi{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--card2);color:var(--ink);margin-bottom:8px}
#cacModal .cac-fi svg{width:18px;height:18px}
#cacModal .cac-fait h3{margin:0 0 6px;font-size:15px;font-weight:800;color:var(--ink)}
#cacModal .cac-fait p{margin:0 0 10px;font-size:13px;color:var(--txt);line-height:18px}
#cacModal .cac-lien{display:flex;align-items:center;gap:8px;min-height:44px;padding:6px 8px 6px 10px;border:1px solid var(--line);border-radius:10px}
#cacModal .cac-li-i{width:16px;height:16px;color:var(--mut);flex:0 0 auto}
#cacModal .cac-li-i svg{width:16px;height:16px}
#cacModal .cac-lien input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:var(--ink);font:inherit;font-size:12.5px}

@media (max-width:560px){
  #cacModal{padding:0}
  #cacModal .modal.cac{width:100%;height:100%;max-height:none;border-radius:0}
  #cacModal .mbody{padding:14px 14px 4px}
  #cacModal .cac-canaux{grid-template-columns:minmax(0,1fr)}
  #cacModal .cac-can{min-height:48px}
  #cacModal .cac-li{min-height:48px}
  #cacModal .cac-q,#cacModal .cac-ch input{height:44px}
  #cacModal .cac-seg{display:flex}
  #cacModal .cac-seg button{flex:1;height:38px}
  #cacModal .cac-pied{padding:10px 14px 14px}
  #cacModal .cac-btns .cac-b{flex:1;min-width:0;height:44px}
}
