/* components/atoms/input.css — átomo Input (A04). */

.cmp-input {
  display: inline-block;
  width: 100%;
  height: 32px;
  padding: 6px 10px;
  border: 1px solid var(--border, #d1d5db);
  background: var(--surface-card, #ffffff);
  color: var(--text, inherit);
  border-radius: var(--radius-sm, 6px);
  font-family: inherit;
  font-size: 13px;
  line-height: 1.4;
  outline: none;
  transition: border-color 0.15s, box-shadow 0.15s;
  box-sizing: border-box;
}

.cmp-input::placeholder {
  color: var(--text-muted, #9ca3af);
  opacity: 1;
}

.cmp-input:hover:not(:disabled):not(:focus) {
  border-color: var(--border-strong, #9ca3af);
}

.cmp-input:focus {
  border-color: var(--accent, #2563eb);
  box-shadow: 0 0 0 2px var(--accent-soft, rgba(37, 99, 235, 0.15));
}

.cmp-input:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  background: var(--surface-disabled, #f3f4f6);
}

.cmp-input[readonly] {
  background: var(--surface-muted, #f9fafb);
  cursor: default;
}

/* Remover spinner em number inputs (estilo limpo) */
.cmp-input[type="number"] {
  -moz-appearance: textfield;
  appearance: textfield;
}
.cmp-input[type="number"]::-webkit-inner-spin-button,
.cmp-input[type="number"]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Search-input variant — pode ser composto via className */
.cmp-input--search {
  padding-left: 32px;
}
