/**
 * nh-tag-input.css — Componente chip multi-select riusabile (2026-05-23)
 * Prefisso .nhti- per evitare collisioni.
 */
.nhti-root { display:flex; flex-direction:column; gap:8px; font-family:inherit; }
.nhti-wrap {
  display:flex; flex-wrap:wrap; gap:6px; align-items:center;
  border:1px solid var(--border,#e2e8f0); border-radius:8px;
  padding:8px 10px; background:var(--surface,#fff);
  min-height:42px; transition:border-color .15s;
}
.nhti-wrap:focus-within { border-color:var(--blue,#3b82f6); box-shadow:0 0 0 3px rgba(59,130,246,.12); }

.nhti-chip {
  display:inline-flex; align-items:center; gap:6px;
  padding:4px 10px;
  background:var(--blue-dim,#dbeafe); color:var(--blue,#2563eb);
  border-radius:14px; font-size:12px; font-weight:600;
  font-family:inherit;
}
.nhti-chip.nhti-invalid { background:rgba(239,68,68,.12); color:var(--red,#dc2626); }
.nhti-chip .nhti-x { cursor:pointer; opacity:.65; font-size:12px; line-height:1; padding:0 2px; }
.nhti-chip .nhti-x:hover { opacity:1; }
/* Live count badge (opzionale, mostrato se opts.liveCounts attivo) */
.nhti-chip .nhti-badge {
  display:inline-flex; align-items:center; gap:3px;
  background:rgba(16,185,129,.18); color:#059669;
  padding:1px 6px; border-radius:10px; font-size:10px; font-weight:700;
}
.nhti-chip .nhti-badge.zero { background:rgba(148,163,184,.18); color:#64748b; }
.nhti-chip .nhti-badge .nhti-dot {
  width:6px; height:6px; border-radius:50%;
  background:#10b981; animation:nhtiPulse 1.5s infinite;
}
.nhti-chip .nhti-badge.zero .nhti-dot { background:#94a3b8; animation:none; }
@keyframes nhtiPulse { 0%,100% { opacity:1; } 50% { opacity:.4; } }

.nhti-input {
  flex:1; min-width:120px;
  border:0; outline:none; background:transparent;
  font-size:13px; padding:3px 4px; font-family:inherit;
  color:var(--text-1,#0f172a);
}
.nhti-input::placeholder { color:var(--text-3,#94a3b8); }
.nhti-error { color:var(--red,#dc2626); font-size:11px; padding:0 4px; }
.nhti-helper { color:var(--text-3,#64748b); font-size:11px; padding:0 4px; }
.nhti-actions { display:flex; gap:6px; justify-content:flex-end; padding-top:4px; }
.nhti-btn {
  padding:5px 12px; border-radius:6px;
  font-size:12px; font-weight:600; cursor:pointer; font-family:inherit;
  border:1px solid var(--border,#e2e8f0); background:var(--surface,#fff);
  color:var(--text-2,#475569); transition:all .12s;
}
.nhti-btn:hover { border-color:var(--blue,#3b82f6); color:var(--blue,#3b82f6); }
.nhti-btn.nhti-primary {
  background:var(--blue,#3b82f6); border-color:var(--blue,#3b82f6); color:#fff;
}
.nhti-btn.nhti-primary:hover { background:var(--blue-hover,#2563eb); }
.nhti-btn[disabled] { opacity:.4; cursor:not-allowed; }
