.ap-form-control,
    .form-control,
    .form-select {
      background: var(--ap-bg);
      border-color: var(--ap-border);
      color: var(--ap-text-strong);
      font-size: .85rem;
    }

    .form-control:focus,
    .form-select:focus {
      background: var(--ap-surface);
      border-color: var(--ap-primary);
      box-shadow: 0 0 0 .2rem rgba(79, 70, 229, .12);
      color: var(--ap-text-strong);
    }

    .form-label {
      font-size: .8rem;
      font-weight: 600;
      color: var(--ap-text-strong);
      margin-bottom: .3rem;
    }

    .form-text {
      font-size: .75rem;
    }

    .valid-feedback,
    .invalid-feedback {
      font-size: .75rem;
    }

    .form-check-label {
      font-size: .83rem;
    }

    /* Password strength meter */
    .ap-strength-bar {
      height: 5px;
      border-radius: 10px;
      background: var(--ap-border);
      overflow: hidden;
      margin-top: .4rem;
    }

    .ap-strength-fill {
      height: 100%;
      width: 0%;
      border-radius: 10px;
      transition: width .25s ease, background .25s ease;
    }

    .ap-strength-label {
      font-size: .72rem;
      color: var(--ap-secondary);
      margin-top: .25rem;
    }

    /* Custom field states (live validation demo) */
    .ap-field-icon {
      position: relative;
    }

    .ap-field-icon .bi {
      position: absolute;
      right: .75rem;
      top: 50%;
      transform: translateY(-50%);
      font-size: .95rem;
      display: none;
    }

    .ap-field-icon.is-valid .bi-check-circle-fill {
      display: block;
      color: var(--ap-success);
    }

    .ap-field-icon.is-invalid .bi-x-circle-fill {
      display: block;
      color: var(--ap-danger);
    }

    .ap-field-icon input {
      padding-right: 2.2rem;
    }

    .ap-section-note {
      font-size: .8rem;
      color: var(--ap-secondary);
      margin-bottom: 1rem;
    }

    .ap-alert-success {
      display: none;
      background: var(--ap-success-100);
      color: var(--ap-success);
      border: 1px solid var(--ap-success);
      border-radius: var(--ap-radius-sm);
      padding: .7rem 1rem;
      font-size: .83rem;
      font-weight: 600;
      margin-bottom: 1rem;
    }

    .ap-alert-success.show {
      display: flex;
      align-items: center;
      gap: .5rem;
    }
