.accounting-form-feedback {
  display: grid;
  gap: 0.35rem;
  width: 100%;
  margin: 0 0 0.9rem;
  padding: 0.8rem 0.9rem;
  border: 1px solid var(--color-line);
  border-left-width: 4px;
  border-radius: var(--radius-md);
  background: var(--color-surface);
  color: var(--color-text);
}

.accounting-form-feedback--error {
  border-color: color-mix(in srgb, var(--color-error) 55%, var(--color-line));
  border-left-color: var(--color-error);
  background: color-mix(in srgb, var(--color-error) 9%, var(--color-surface));
}

.accounting-form-feedback--success {
  border-color: color-mix(in srgb, var(--color-success) 55%, var(--color-line));
  border-left-color: var(--color-success);
  background: color-mix(in srgb, var(--color-success) 9%, var(--color-surface));
}

.accounting-form-feedback--warning {
  border-color: color-mix(in srgb, var(--color-warning) 55%, var(--color-line));
  border-left-color: var(--color-warning);
  background: color-mix(in srgb, var(--color-warning) 10%, var(--color-surface));
}

.accounting-form-feedback--info {
  border-color: color-mix(in srgb, var(--color-blue) 45%, var(--color-line));
  border-left-color: var(--color-blue);
  background: color-mix(in srgb, var(--color-blue) 7%, var(--color-surface));
}

.accounting-form-feedback__title {
  color: inherit;
  font-size: 0.92rem;
  font-weight: 850;
}

.accounting-form-feedback--error .accounting-form-feedback__title,
.accounting-form-feedback--error .accounting-form-feedback__list,
.accounting-form-feedback--error .accounting-form-feedback__list a {
  color: var(--color-error);
}

.accounting-form-feedback--success .accounting-form-feedback__title {
  color: var(--color-success);
}

.accounting-form-feedback--warning .accounting-form-feedback__title {
  color: var(--color-warning);
}

.accounting-form-feedback--info .accounting-form-feedback__title {
  color: var(--color-blue-deep);
}

.accounting-form-feedback__text {
  margin: 0;
  color: var(--color-text-soft);
  line-height: 1.45;
}

.accounting-form-feedback__list {
  display: grid;
  gap: 0.2rem;
  margin: 0.15rem 0 0;
  padding-left: 1.2rem;
}

.accounting-form-feedback__list a {
  font-weight: 760;
  text-underline-offset: 0.16em;
}

/* One canonical control contract for Accounting data-entry forms. */
.accounting-form input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.accounting-form select,
.accounting-form textarea {
  width: 100%;
  box-sizing: border-box;
  padding: 0.62rem 0.72rem;
  border: 1px solid var(--color-line);
  border-radius: 8px;
  background: var(--color-surface);
  color: var(--color-text);
  font: inherit;
}

.accounting-form input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.accounting-form select {
  height: 44px;
  min-height: 44px;
}

.accounting-form textarea {
  min-height: 92px;
  resize: vertical;
}

.accounting-form input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):focus,
.accounting-form select:focus,
.accounting-form textarea:focus {
  border-color: var(--color-blue);
  outline: 0;
  box-shadow: 0 0 0 1px rgba(45, 134, 193, 0.14);
}

/* Error borders never change a control's dimensions. */
.accounting-workspace input[aria-invalid="true"],
.accounting-workspace select[aria-invalid="true"],
.accounting-workspace textarea[aria-invalid="true"],
.accounting-workspace input:user-invalid,
.accounting-workspace select:user-invalid,
.accounting-workspace textarea:user-invalid {
  border-color: var(--color-error) !important;
}

.accounting-workspace input[aria-invalid="true"]:focus,
.accounting-workspace select[aria-invalid="true"]:focus,
.accounting-workspace textarea[aria-invalid="true"]:focus,
.accounting-workspace input:user-invalid:focus,
.accounting-workspace select:user-invalid:focus,
.accounting-workspace textarea:user-invalid:focus {
  border-color: var(--color-error) !important;
  box-shadow: 0 0 0 1px rgba(184, 55, 55, 0.16);
}

.accounting-form-field {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
}

.accounting-form-field > input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.accounting-form-field > select,
.accounting-form-field > textarea {
  margin-top: auto;
}

.accounting-form-field__hint {
  display: block;
  margin: 0 0 0.25rem;
  color: var(--color-text-muted);
  font-size: 0.76rem;
  font-weight: 600;
  line-height: 1.35;
}

html[data-theme="dark"] .accounting-form-feedback {
  background-color: var(--color-surface-soft);
}

html[data-theme="dark"] .accounting-form-feedback--error {
  background-color: color-mix(in srgb, var(--color-error) 15%, var(--color-surface-soft));
}

html[data-theme="dark"] .accounting-form-feedback--success {
  background-color: color-mix(in srgb, var(--color-success) 15%, var(--color-surface-soft));
}

html[data-theme="dark"] .accounting-form-feedback--warning {
  background-color: color-mix(in srgb, var(--color-warning) 15%, var(--color-surface-soft));
}

html[data-theme="dark"] .accounting-form-feedback--info {
  background-color: color-mix(in srgb, var(--color-blue) 12%, var(--color-surface-soft));
}
