/* ── AUTOCOMPLETE DROPDOWN ── */
.ac-wrap { position: relative; width: 100%; }
.ac-wrap input { width: 100%; }

.ac-dropdown {
  position: absolute; top: calc(100% + 2px); left: 0;
  width: 480px; max-width: 90vw;
  background: #fff;
  border: 1.5px solid var(--blue);
  border-radius: 6px;
  box-shadow: 0 8px 24px rgba(15,42,74,.18);
  z-index: 500;
  max-height: 280px; overflow-y: auto;
  font-size: 13px;
}
.ac-dropdown:empty { display: none; }

.ac-item {
  display: flex; align-items: center; gap: 12px;
  padding: 8px 14px; cursor: pointer;
  border-bottom: 1px solid var(--border);
  transition: background .1s;
}
.ac-item:last-child { border-bottom: none; }
.ac-item:hover, .ac-item.ac-active {
  background: #EBF2FC;
}
.ac-code {
  font-family: var(--mono); font-size: 12px;
  color: var(--blue); font-weight: 600;
  white-space: nowrap; min-width: 120px;
}
.ac-name { color: var(--text); line-height: 1.3; flex: 1; }
.ac-fam  { font-size: 10px; color: var(--text3); white-space: nowrap; }

.ac-highlight { background: #FFF3CD; border-radius: 2px; padding: 0 1px; }

.ac-empty {
  padding: 14px; text-align: center;
  color: var(--text3); font-style: italic;
}

/* Submit states */
.btn-submit.loading { background: #7EB3E8; pointer-events: none; }
.btn-submit.success { background: var(--green); }
.btn-submit.error   { background: #C0231D; }
.send-msg {
  text-align: center; margin-top: 12px; padding: 10px 16px;
  border-radius: 6px; font-size: 13px; font-weight: 500;
  display: none;
}
.send-msg.ok  { background: #D4EDDA; color: #155724; display: block; }
.send-msg.err { background: #F8D7DA; color: #721C24; display: block; }
