/* Kit d'interface (js/ui-kit.js) — porté d'Orbit (Prospector/CRM) : boutons-icônes, infobulle
   unique, aide « ? », boîte de confirmation. Même dessin qu'Orbit. */

/* ─── Bouton-icône : l'action est dite par l'infobulle et l'aria-label ─── */
.icon-btn{
  width:32px;height:32px;padding:0;flex:none;
  display:inline-flex;align-items:center;justify-content:center;
  border:1px solid var(--border);border-radius:var(--radius-sm);
  background:var(--bg-elevated);color:var(--text-muted);cursor:pointer;
  transition:background var(--t-fast) var(--ease),color var(--t-fast) var(--ease),
             border-color var(--t-fast) var(--ease),transform var(--t-fast) var(--ease-spring);
}
.icon-btn svg{width:16px;height:16px;display:block;pointer-events:none;}
.icon-btn:hover{background:var(--bg-hover);color:var(--text);border-color:var(--border-hi);}
.icon-btn:active{transform:scale(0.94);}
.icon-btn:focus-visible{outline:none;box-shadow:var(--ring);}
.icon-btn:disabled{opacity:0.4;cursor:not-allowed;transform:none;}
.icon-btn:disabled:hover{background:var(--bg-elevated);color:var(--text-muted);border-color:var(--border);}
.icon-btn--sm{width:28px;height:28px;}
.icon-btn--sm svg{width:14px;height:14px;}
.icon-btn--ghost{background:transparent;border-color:transparent;}
.icon-btn--danger{color:var(--danger);}
.icon-btn--danger:hover{background:var(--danger-soft);color:var(--danger);border-color:color-mix(in srgb,var(--danger) 45%,transparent);}
.icon-row{display:inline-flex;align-items:center;gap:4px;flex-wrap:nowrap;}

/* Petite icône dans le texte (sources de contact, liens externes) */
.ico{display:inline-flex;vertical-align:-2px;}
.ico svg{width:13px;height:13px;}

/* ─── Infobulle unique ─── */
.orbit-tip{
  position:fixed;z-index:10030;top:0;left:0;max-width:300px;
  padding:5px 9px;border-radius:var(--radius-sm);
  background:var(--text);color:var(--bg);
  font:500 12px/1.4 var(--font-body);letter-spacing:normal;white-space:pre-line;
  box-shadow:var(--shadow-md);pointer-events:none;
  opacity:0;visibility:hidden;transform:translateY(3px);
  transition:opacity 110ms var(--ease),transform 110ms var(--ease),visibility 0s linear 110ms;
}
.orbit-tip.below{transform:translateY(-3px);}
.orbit-tip.on{opacity:1;visibility:visible;transform:none;transition-delay:0s;}

/* ─── Aide contextuelle « ? » (remplace les textes d'aide permanents) ─── */
.help-tip-btn{
  display:inline-flex;align-items:center;justify-content:center;
  width:16px;height:16px;padding:0;flex:none;margin-left:6px;vertical-align:middle;
  border:1px solid var(--border-hi);border-radius:50%;
  background:transparent;color:var(--text-muted);
  font:600 10.5px/1 var(--font-body);cursor:help;
  transition:color var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease),background var(--t-fast) var(--ease);
}
.help-tip-btn:hover,.help-tip-btn:focus-visible{color:var(--accent);border-color:var(--accent);background:var(--accent-soft);}
.help-tip-btn:focus-visible{outline:none;box-shadow:var(--ring);}
.help-tip-bubble{
  position:fixed;z-index:10000;top:0;left:0;max-width:320px;padding:9px 12px;
  background:var(--bg-elevated);color:var(--text);
  border:1px solid var(--border-hi);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);
  font:400 12.5px/1.5 var(--font-body);letter-spacing:normal;text-transform:none;
  white-space:normal;text-align:left;pointer-events:none;
  animation:help-tip-in 120ms var(--ease) both;
}
@keyframes help-tip-in{from{opacity:0;transform:translateY(3px);}to{opacity:1;transform:none;}}

/* ─── Boîte de confirmation (remplace confirm() du navigateur) ─── */
.oc-layer{position:fixed;inset:0;z-index:10020;display:grid;place-items:center;padding:24px;}
.oc-bg{position:absolute;inset:0;background:rgba(1,4,9,0.6);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);}
.oc-box{
  position:relative;width:100%;max-width:420px;padding:22px;
  background:var(--glass-el);backdrop-filter:blur(18px) saturate(1.1);-webkit-backdrop-filter:blur(18px) saturate(1.1);
  border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);
  animation:oc-pop var(--t-base) var(--ease-spring) both;
}
.oc-box h3{font-size:16px;font-weight:700;margin:0 0 6px;line-height:1.35;}
.oc-box p{font-size:13px;color:var(--text-muted);margin:0;}
.oc-foot{display:flex;gap:8px;justify-content:flex-end;margin-top:18px;}
.oc-box .field-label{display:block;margin-top:14px;}
.oc-input{width:100%;}
@keyframes oc-pop{from{opacity:0;transform:scale(0.95) translateY(-6px);}to{opacity:1;transform:none;}}
@media(prefers-reduced-motion:reduce){.orbit-tip{transition:none;transform:none;}.help-tip-bubble,.oc-box{animation:none;}}
