/* ---------- COMPONENTS: FORMS ---------- */
.form-card {
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  box-shadow: var(--card-shadow);
  padding: 24px;
}

.form-group {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}

.form-label {
  font-weight: 600;
  color: #0f172a;
  font-size: 14px;
}

.input-control {
  display: block;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  padding: 0.5rem 0.75rem;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  box-sizing: border-box;
  font-size: 14px;
  background: #f8fafc;
  transition: border-color 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

.input-control--readonly,
.input-control:disabled {
  background: #f1f5f9;
  color: #475569;
}

.input-control--pending:not(:disabled) {
  border-color: #fbbf24;
  box-shadow: 0 0 0 2px rgba(251, 191, 36, 0.12);
  animation: input-amber-pulse 1.8s ease-in-out infinite;
}

.input-control--pending:not(:disabled):focus {
  animation: none;
}

@keyframes input-amber-pulse {
  0%,
  100% {
    border-color: #fbbf24;
    box-shadow: 0 0 0 0 rgba(245, 158, 11, 0.18);
  }

  50% {
    border-color: #f59e0b;
    box-shadow: 0 0 0 5px rgba(245, 158, 11, 0.07);
  }
}

@media (prefers-reduced-motion: reduce) {
  .input-control--pending:not(:disabled) {
    animation: none;
  }
}

.settings-form .input-control {
  padding: 0.4rem 0.65rem;
}

.input-control:focus {
  outline: none;
  border-color: var(--accent-color);
  background: #fff;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.16);
}

.section-heading {
  margin: 0 0 10px 0;
  font-size: 18px;
  letter-spacing: -0.01em;
}

/* ---------- Dark theme ---------- */
body.auth-page .form-label {
  color: var(--text-strong);
}

body.auth-page .section-heading {
  color: var(--text-strong);
}

body.auth-page .input-control {
  background: var(--surface-2);
  border-color: var(--border-input);
  color: var(--text-body);
}

body.auth-page .input-control::placeholder {
  color: var(--text-placeholder);
}

body.auth-page .input-control:focus {
  background: var(--surface-2);
  border-color: var(--accent-color);
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.18);
}

body.signed-in-app .form-card {
  background: var(--surface-0);
  border-color: var(--border-soft);
}

body.signed-in-app .form-label {
  color: var(--text-strong);
}

body.signed-in-app .input-control {
  background: var(--surface-2);
  border-color: var(--border-input);
  color: var(--text-body);
}

body.signed-in-app .input-control::placeholder {
  color: var(--text-placeholder);
}

body.signed-in-app .input-control:focus {
  background: var(--surface-2);
  border-color: var(--accent-color);
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.18);
}

body.signed-in-app .input-control--readonly,
body.signed-in-app .input-control:disabled {
  background: var(--surface-2);
  color: var(--text-muted);
}

