/* Page-level overrides only. Design tokens + component theming live in theme.css.
   Keep this file thin — prefer tokens (--fh-*) and Bootstrap (--bs-*) variables. */

html {
  font-size: 14px; /* enterprise density baseline; type scale is rem-based on top */
}

.form-floating > .form-control-plaintext::placeholder,
.form-floating > .form-control::placeholder {
  color: var(--bs-secondary-color);
  text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder,
.form-floating > .form-control:focus::placeholder {
  text-align: start;
}

.fh-progress-ajax {
  height: 6px;
}
.fh-progress-ajax .progress-bar {
  transition: width .3s ease;
}

input[type="file"].is-invalid {
  border-color: var(--bs-form-invalid-border-color, #dc3545);
  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
}

.mnt-thumb--invalid {
  outline: 2px solid #dc3545;
  outline-offset: 2px;
  position: relative;
}
.mnt-thumb__error-badge {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: rgba(220, 53, 69, 0.88);
  color: #fff;
  border-radius: 50%;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  font-weight: 700;
  pointer-events: none;
  line-height: 1;
}
.mnt-thumb--invalid .mnt-thumb__remove {
  background: rgba(108, 117, 125, .92);
}
