/* -----------------------------
   Inputs
----------------------------- */
.swiipo-input {
  width: 100%;
  padding: 0.75rem 1rem;
  font-size: 0.875rem;
  border: 1px solid var(--border);
  border-radius: 0.5rem;
  background-color: var(--surface);
  color: var(--text-primary);
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
    sans-serif;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.swiipo-input:focus {
  outline: none;
  border-color: rgba(7, 89, 133, 0.8); /* sky-800/80 pour root */
}

@media (prefers-color-scheme: dark) {
  .swiipo-input:focus {
    border-color: rgba(56, 189, 248, 0.8); /* sky-400/80 pour dark */
  }
}

/* States */
.swiipo-input-error {
  border-color: var(--error);
}

.swiipo-input-error:focus {
  border-color: var(--error);
  box-shadow: 0 0 0 4px rgba(204, 51, 51, 0.1);
}

.swiipo-input-success {
  border-color: #10b981;
}

.swiipo-input-success:focus {
  border-color: #10b981;
  box-shadow: 0 0 0 4px rgba(16, 185, 129, 0.1);
}

/* -----------------------------
   Labels & Messages
----------------------------- */
.swiipo-label {
  display: block;
  font-size: 0.875rem;
  font-weight: 500;
  margin-bottom: 0.5rem;
  color: var(--text-secondary);
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
    sans-serif;
}

.swiipo-error-message {
  font-size: 0.875rem;
  color: var(--error);
  margin-top: 0.5rem;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
    sans-serif;
}

.swiipo-help-text {
  font-size: 0.75rem;
  color: var(--muted);
  margin-top: 0.5rem;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
    sans-serif;
}
